В программировании использование табуляции для создания отступов и форматирования исходного кода является темой для непрекращающихся дискуссий. Некоторые программисты полагают, что использование 8 пробелов для представления одного символа табуляции слишком много, мотивируя это тем, что просмотр кода с большим уровнем вложенности (и, как следствие, с большими отступами) затруднён. Программисты, предпочитающие использовать табуляцию, отвечают тем, что код с большим уровнем вложенности неудачен сам по себе.
Есть много аргументов как за использование табуляции, так и против. Тем не менее, при использовании табуляции возникают проблемы, если у человека, редактирующего впоследствии код, редактор сконфигурирован расширять табуляцию другим количеством пробелов. В результате в некоторых строках для отступах будет использоваться табуляция, в некоторых — пробелы или смесь из пробелов и табуляции. При просмотре в другом редакторе такой код может выглядеть просто ужасно.
К счастью, в Linux проблема решается очень просто (причем как для замены табуляции пробелами, так и наоборот). Читать статью «Простой способ глобальной замены табуляции на пробелы или наоборот» полностью…
Симптом: при запуске Eclipse появляется окошко вида:

Лечится просто:
mkdir -p ~/.mozilla/eclipse
Недавно мне пришлось заняться изучением интерфейса библиотеки libresolv, отвечающей за формирование DNS-запросов и получение и разбор ответов (хотя разбор — это громко сказано). Так получилось, что нормальной внятной документации по API-функциям с примерами использования я найти не смог (может, я не там искал). И хотя код — лучшая документация
, окончательно разобраться с форматом возвращаемых данных я смог только после изучения RFC, посвященных DNS. Читать статью «Наш ответ libresolv» полностью…
Анализируя журнал безопасности системы, я добавляю в iptables правила, блокирующие доступ с адресов, с которых замечены попытки вторжения. В большинстве случаев в черный список попадают товарищи, пытающиеся залезть в систему по SSH; иногда я добавляю злостных хакеров, пытающихся устроить DoS или проводящих SQL injection/сканирование на наличие уязвимостей (поиск таких вот товарищей приходится осуществлять вручную, ибо их методы очень различны, и автоматический анализатор, дающий хотя бы 85% гарантию обнаружения, я пока еще не написал).
В надежде, что этот список (оформленный в виде правил для iptables) окажется кому-нибудь полезным (он будет периодически обновляться), выкладываю его в общее пользование. Читать статью «Список адресов, с которых осуществляются попытки вторжения в систему» полностью…
FCrDNS, или Forward Confirmed Reverse DNS, это когда IP-адрес имеет прямую (имя -> IP) и обратную (IP -> имя) DNS-записи, которые, к тому же, соответствуют друг другу.
Сначала выполняется обратный DNS-запрос для получения списка PTR-записей (обычно возвращается только одна запись, но это не всегда так). Затем для каждого доменного имени, указанного в PTR-записях, выполняется обычный (прямой) DNS-запрос с целью проверки, что существует запись A или AAAA, совпадающая с исходным IP-адресом. Если это так, то проверка считается пройденной.
Проверка FCrDNS может считаться слабой формой аутентификации, устанавливающей, что есть действительная связь между владельцем доменного имени и владельцем сети, получившим данный IP-адрес. Хотя такая аутентификация и слаба, она достаточно хороша, для того, чтобы отсеивать спамеров и иже с ними, использующих компьютеры-зобми для подделки доменов.
Перевод Forward Confirmed reverse DNS.
А теперь о практической реализации. Читать статью «Forward Confirmed reverse DNS, или, Зомби не пройдут» полностью…
Как известно, в целях безопасности сервер 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 или изменения таблицы разделов» полностью…
Начнём с теории.
Кадровый буфер (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» полностью…