Данная статья написана по просьбам трудящихся.
Начнём с теории: что такое SPF и для чего он нужен.
Sender Policy Framework (SPF, структура политики отправителя) — расширение для протокола отправки электронной почты SMTP, благодаря которму можно проверить, не подделан ли домен отправителя.
SPF позволяет указать в записи TXT (или SPF), соответствующей имени домена, специальным образом сформированную строку, указывающую список серверов, имеющих право отправлять email-сообщения с обратными адресами в данном домене. Дальнейшие детали, а также мастер создания SPF-записей можно найти на официальном сайте проекта. Читать статью «Настройка SPF в Postfix» полностью…
Столкнулся с проблемой, заключающейся в том, что VirtualBox на многоядерном процессоре имеет тенденцию сильно загружать процессор, даже в тех случаях, когда гостевая операционная система ничего не делает (idle).
Едиснтвенное решение (не идеальное, но рабочее), которое я нашёл — заставлять VirtualBox использовать только одно ядро процессора. Читать статью «VirtualBox, многоядерный процессор и высокая загрузка» полностью…
Давным-давно настроив у себя SPF, я собирался поразбираться с DomainKeys и DomainKeys Identified Mail (DKIM), но, как часто случается, банально не хватило времени. Но наконец-то нашлась свободная минутка (пришлось знакомиться с ними по долгу работы).
В данной статье я расскажу о том, как настроить DK/DKIM для совместной работы с Postfix в Debian/Ubuntu Linux. Читать статью «DomainKeys и DKIM с Postfix в Ubuntu Linux» полностью…
По долгу работы пришлось столкнуться в жизни с плагином Event Calendar. Скажу честно: если бы не жёсткий дедлайн, я бы не стал пытаться исправлять его и затачивать напильником под конкретные нужды, быстрее было бы переписать. Причина, по которой я не хотел бы его использовать — плагин не вышел из стадии RC3 с конца октября прошлого (2007) года и имеет одиннадцать открытых багов в багтрекере.
Сегодня я расскажу о такой интересной ошибке как "Unknown column 'wp_posts.ec3_sch.start' in 'order clause'". Читать статью «Исправляем Event Calendar 3.1.1 RC3 своими руками» полностью…
День назад наткнулся на очень любопытную (и вместе с тем мерзкую) статью. На сайте Micro$oft. Называется сей опус "Заменив почтовый сервер на основе Linux на Microsoft Windows Server 2003 и Exchange Server 2003, Российский банк развития повысил доступность почтовых систем" и доступен для прочтения здесь. На мой взгляд, статья направлена на дискредитацию Linux-сообщества и содержит откровенную ложь. Читать статью «Почему я не люблю Microsoft» полностью…
Иногда встречаются ситуации, когда приложению нужно использовать функциональность, встроенную в WordPress, но при этом по ряду причин не хочется подключать установленные плагины. Типичным примером может являться скрипт, запускаемый cron'ом и, например, рассылающий письма подписавшимся на рассылку пользователям.
Обычно, если нужно подключить WordPress к приложению, поступают так:
<?php
require_once(WORDPRESS_DIR . '/wp-config.php');
?>
После этого приложению становятся доступны все функции/переменные WordPress. Тем не менее, у этого подхода есть недостаток: он подключает все активные плагины. Плохо это может быть тем, что каждый плагин может иметь порядочную (в смысле потребляемых ресурсов) инициализационную секцию: например, цена подключения плагина Simple Forum может быть 70 лишних запросов к базе данных. Читать статью «Использование движка WordPress без плагинов из стороннего приложения» полностью…
Продолжение статьи "Фриланс: интересная статистика".
Источник статистических данных тот же самый: oDesk Oconomy.
В данной статье я хочу привести "живые" (обновляются каждый день) диаграммы часовых ставок для разных категорий работ: web-разработка, разработка прикладного ПО, дизайн и графика, написание статей, администрирование систем и сетей, а также то, что на oDesk называют "административной поддержкой": персональный консультант, ввод данных и т.п.
Внимание: диаграммы имеют размер 800*600 пикселей и могут некорректно отображаться на мониторах с разрешением ниже 1024*768 пикселей. Читать статью «Интересная статистика, часть 2» полностью…
В данной статье я хочу рассмотреть ряд недокументированых и плохо документированых настроек WordPress, изменить которые можно только в файле wp-config.php, но не в панели управления.
Я буду ориентироваться на WordPress 2.6, поэтому некоторые настройки, присутствовашие только в старых версиях, описаны не будут. Читать статью «Известные и не очень настройки WordPress» полностью…
В статье "Удаление старых версий статей из базы данных WordPress" я писал об особенности WordPress 2.6, а именно: о хранении старых версий статей в базе данных.
К сожалению, данная особенность WordPress очень смущает весьма популярный плагин Search Everything: при включённом поиске в тэгах или категориях из-за особенности запроса будут выдаваться статьи, помеченные как ревизии (старые версии, если говорить проще). Читать статью «Search Everything 4.7.1 и WordPress 2.6: отключаем поиск по старым версиям статей» полностью…
Одна из особенностей WordPress 2.6 — он хранит старые версии статей в своей базе данных. Это полезно, например, при анализе изменений, внесённых автором в статью.
Честно говоря, мне это никогда нужно не было — лично я считаю, что встраивать в WordPress систему контроля версий — это перебор. Впрочем, это лишь моё мнение. Возвращаемся к теме. К сожалению, WordPress не предоставляет возможности отключения данной функциональности, но в силу тех или иных обстоятельств бывает нужно удалить старые версии статей (например, для уменьшения объёма базы данных). Читать статью «Удаление старых версий статей из базы данных WordPress» полностью…

Я понимаю, что Грузия и Джорджия пишутся по-английски одинаково (Georgia), но чтобы настолько не интересоваться тем, что происходит вокруг в мире? Тем более, что Интернет под рукой…
Всё-таки с Perl, наверное, не сравнится ни один язык программирования: какие красивые и неочевидные вещи на нём можно творить… Хотя, с другой стороны, интуитивно-понятный код — это когда смотришь, и сразу интуитивно понтяно, что это — код. Читать статью «Мощь и красота Perl» полностью…
Так сложилось, что очень многие провайдеры (как в Украине, так и в России) предоставляют подключение к интернет через VPN-соединение; в Linux оно реализуется через протокол PPTP (стоит отметить, что в дитстрибутивах Linux полная поддержка PPTP отсутствовала из-за опасения патентных претензий по поводу протокола MPPE; официально поддержка PPTP была начата с версии ядра Linux 2.6.14).
Некоторые провайдеры предоставляют возможность подключения по протоколу L2TP. Не вдаваясь в технические подробности, L2TP — протокол туннелирования, гораздо примитивнее PPTP, и, соответственно, требует намного меньше накладных расходов (хотя и менее защищен). Прирост производительности связан с уменьшением коллизий пакетов (по сравнению с PPTP) и сжатии данных на уровне протокола (L2TP).
Лично мне использование L2TP привело к увеличению скорости примерно в 10 раз. Читать статью «Настройка L2TP в Debian/Ubuntu» полностью…
В данный момент я работаю над очень интересным проектом ExtremeMember (который, кстати, работает на WordPress). Одной из особенностей разработки является то, что мы используем Subversion (также известный как SVN) для обновления кода на всех сайтах (будь то основной, тестовый или клиентский — которых больше сотни — сайт).
Другой особенностью разработки является то, что мы предоставляем клиентам FTP-доступ ко всему сайту (разумеется, каждый клиент имеет доступ только к своему сайту — целиком — а не только к каталогу uploads). Логично, что для предотвращения "кражи интеллектуальной собственности" мы шифруем все наши файлы (в целях безопасности мы также ограничиваем доступ к некоторым другим файлам — например, базовые файлы WordPress доступны только для чтения, но это другая история). Для шифрования мы используем ionCube Encoder.
Задача такова: при изменении ветки с кодом клиентских сайтов её нужно автоматически зашифровывать. Проблема в том, что мы (разработчики) работаем над открытым кодом, а клиенты должны получить закрытый (шифрованый) код; как следствие, одну и ту же ветки в репозитории мы использовать не можем. Читать статью «Subversion, ionCube и прозрачное шифрование» полностью…