Ars Longa, Vita Brevis

Как известно, в целях безопасности сервер MySQL по умолчанию открыт для доступа только с локальной системы. Поэтому, когда на сервере не установлен PhpMyAdmin, а консольной версией клиента пользоваться просто неудобно (ненаглядно), приходится открывать доступ для удаленного пользователя. Но такое решение не самое безопасное.

В таких случаях рекомендуется использовать методику, имеющую название port forwarding (перенаправление портов). Читать статью «Доступ к удалённому MySQL-серверу по SSH» полностью…

Web-разработчикам очень часто приходится иметь дело с удалёнными серверами. Как правило, для доступа к удалённому серверу используется протокол SSH. И, как правило, для загрузки файлов с/на сервер используется либо клиент, работающий по протоколу SFTP (Secure FTP), либо утилита типа scp.

К сожалению, SFTP-клиент может не всегда быть под рукой, а при помощи scp удобно копировать архивы; для большого количества файлов, которые нужно раскидать по разным каталогам scp использовать не очень удобно.

К счастью, есть выход: Linux позволяет примонтировать в файловую систему удалённый каталог, используя протокол SSH. Читать статью «Монтирование удалённого каталога по SSH в Ubuntu» полностью…

На мультизагрузочных системах, где одной из операционных систем является Windows, вопрос восстановления загрузчика довольно актуален, ибо Windows при установке имеет тенденцию перетирать его (по большому счету, я не до конца понимаю, зачем Windows перезаписывает MBR: код стандартного загрузчика ищет активный раздел в таблице разделов (Partition Table), считывает его в память и передаёт ему управление — всё очень просто; теоретически достаточно просто изменить таблицу разделов, без перезаписи всей MBR. Или можно просто проверить правильность MBR (наличие сигнатуры 55 AA в последних двух байтах сектора) и при отсутствии сигнатуры переписывать загрузчик. В любом случае перезапись, на мой взгляд, должна быть опциональной, чтобы не доставлять лишнюю головную боль). Читать статью «Восстановление загрузчика GRUB после установки Windows или изменения таблицы разделов» полностью…

Апр 26, 2008

А Минздрав предупреждал…

Рубрика: Юмор
Метки: ,
Vladimir

Идет заседание Верховной Рады Украины. На повестке дня вопрос: как использовать землю в окресностях Чернобыля? Злаковые сеять нельзя, корнеплоды — тем более…

Предлагает один депутат: А давайте засеем поля табаком, а на пачке напишем: «Минздрав в последний раз предупреждает…»

Апр 25, 2008

Я стал одним из вас…

Рубрика: Всё подряд
Метки: ,
Vladimir

Я долго решался, и наконец-то решился… Windows, прощай! Перехожу на Linux. Пока выбрал Kubuntu 8.04, а там посмотрим, что из этого получится…

Только бы Виндовые игрушки жены нормально запускались… :-)

Конфликты даты/времени случаются довольно часто у пользователей мультизагрузочных систем. Дело в том, что одни операционные системы (Mac/Linux/Unix) хранят время как UTC (универсальное координированное время), другие операционные системы (например, Windows) сохраняют местное время. И всё бы ничего, но только время сохраняется в аппаратных часах. И, как следствие, операционные системы, установленные на компьютере, видят время по-разному. Читать статью «Мультизагрузочные системы и конфликты со временем» полностью…

Апр 22, 2008

Простые числа от 2 до 1,000,000

Рубрика: C/C++
Метки: ,
Vladimir

В поисках простых чисел Софи Жермен написал программу, которая ищет простые числа (я их собирался использовать для реализации решета). От нечего делать я пошёл дальше и решил найти все простые числа до миллиона. А также проверить утверждение, что сумма всех простых чисел до миллиона есть простое число. Читать статью «Простые числа от 2 до 1,000,000» полностью…

За последнюю неделю мне уже несколько раз приходилось рассказывать, как настраивать общие поддомены (известные как wildcard subdomains) в Apache и BIND/MaraDNS, поэтому решил написать статью, к которой можно будет отсылать интересующихся :-)

Общие поддомены используются в силу множества причин: создание многопользовательских инсталляций блогов/форумов, где каждый пользователь получает домен вида username.domain.tld (в качестве примера можно привести известный WordPress µ), использование одной CMS для управления всеми поддоменами и т.п.

Для серверов на базе Apache процесс настройки общих поддоменов проходит в два этапа. Читать статью «Настройка общих поддоменов (wildcard subdomains) в Apache» полностью…

Начнём с теории.

Кадровый буфер (framebuffer, буфер кадра, видеобуфер, фреймбуфер) — реальное или виртуальное электронное устройство, или область памяти для кратковременного хранения одного или нескольких кадров в цифровом виде перед его отправкой на устройство видеовывода. Буфер может быть использован для выполнения над кадром различных предварительных операций, организации стоп-кадра, устранения мерцания изображения и др. Обычно кадр хранится в виде последовательности цветовых значений каждого пиксела изображения. Цветовые значения чаще всего хранятся в следующих форматах: одноразрядный (монохромный; 1 бит), 4/8-битный (палитровый), 16-битный (High Color) и 24-битный (True Color); также может присутствовать альфа-канал. Размер памяти, необходимый для хранения одного кадра, зависит от разрешения и глубины цвета.

Зачем нужен framebuffer в Ubuntu server? Лично мне он был нужен потому, что разрешение консоли по умолчанию (640×480) слишком неудобное (особенно на 22" мониторе). В предыдущих версиях Ubuntu кадровый буфер был включён по умолчанию, поэтому его включение сводилось к добавлению vga=value в /boot/grub/menu.lst. Value — номер VESA видеорежима. Теоретически эти номера представлены в Википедии, на практике же мне эти номера не подошли.

Итак, как же включить кадровый буфер в Ubuntu 7.10? Читать статью «Настройка framebuffer в Ubuntu 7.10» полностью…

Криптографический протокол Диффи–Хеллмана (Diffie-Hellman Key Exchange) — алгоритм, позволяющий двум сторонам получить общий секретный ключ, используя частично защищенный канал связи. Под частично защищенным понимается канал, данные в котором защищены от модификации, но не от прослушивания (как утверждает Wikipedia, такие условия имеют место довольно часто).

В данной статье я приведу реализацию криптографического протокола Диффи-Хеллмана на языке С с использованием библиотеки GMP. Читать статью «Реализация криптографического протокола Диффи-Хеллмана обмена ключами с использованием GMP» полностью…

В статье "парочка аккордеонов" я рассказывал, как сделать простой аккордеон с использованием JavaScript. Однако, будучи "certified CSS 2.0 designer" и "certified XHTML 1.0 designer", я не смог удержаться, чтобы не сделать аккордеон без JavaScript (только на CSS/XHTML). Читать статью «Аккордеон на CSS без использования JavaScript» полностью…

Установил сегодня плагин — Hyper Cache. Очень хорошая вещь!

Однако на то мы и “пытливые русские умы”, чтобы сделать хорошую вещь еще лучше :-)
Сначала я хотел попробовать заставить Hyper Cache отдавать кэшированный контент через nginx, но это оказалось не очень простой задачей (пришлось бы переконфигурировать nginx), поэтому я лишь ограничился сжатием отдаваемого контента. Читать статью «Hyper Cache и сжатие контента» полностью…

Недавно в одном из проектов появилась необходимость использовать аккордеон (подобный используемому на Desert Ridge Marketplace). Любят заказчики дешевые эффекты, ничего здесь не поделаешь :-)

Чем мне не понравился аккордеон на Desert Ridge — это полной зависимостью от JavaScript: если JavaScript выключен, навигация по сайту переставала работать. Это мне не понравилось, и я решил написать свой.

Представляю два решения:

  1. Подменю сворачивается/разворачивается по щелчку, элементы меню не зависят друг от друга;
  2. Подменю сворачивается/разворачивается по щелчку, при этом не может быть более одного развёрнутого подменю.

При выключенном JavaScript оба аккордеона трансформируются в двухуровневый список. Читать статью «Парочка аккордеонов» полностью…

Сегодня я установил русифицированную версию плагина Subscribe to Comments 2.1.2 и с удивлением обнаружил, что русификация-то и не работает (хотя языковые файлы присутствуют).

На сайте, с которого я скачал эту русифицированную версию, утверждается, что Проверена совместимость до версии WP: 2.3.3, поэтому вполне возможно, что проблема возникла в WordPress 2.5. Я не буду это утверждать наверняка, ибо с gettext я знаком весьма поверхностно. Читать статью «Патч для Subscribe to Comments 2.1.2» полностью…

Апр 13, 2008

Патч для WassUp 1.5 for WordPress

Рубрика: Патчи
Метки: , , , , ,
Vladimir

Ранее я уже писал про замечательный плагин Wassup, а также о его нелюбви к Windows. Вышла версия 1.5, а баг (увы!) не поправили.

Скачать патч в формате unified diff.
Патч нужно применить к файлу /wp-content/plugins/wassup/lib/action.php.

Как и в прошлый раз, помимо исправления ошибки с разделителями каталогов, патч исправляет небольшую ошибку, связанную с невалидностью (инвалидностью?) генерируемого (X)HTML-кода.