Интервью Мэта Муленвэга (автора Worpdress)

Перевод интервью Мэта Муленвэга (Matt Mullenweg) – автора WordPress

Как возникла идея создать WordPress и почему ты решил сделать его бесплатным?
WordPress реализовывал мои пожелания, каким должен быть продукт для ведения блога чтобы сделать мой сайт лучше, и избавлял от разочарования существующими решениями, которые по ощущениям были слишком сложны и тяжелы для использования. WordPress был основан на существующем продукте, который назывался b2 и распространялся по лицензии GPL, поэтому естественно он также стал распространятся по лицензии GPL и сохранять свободу для пользователей.

Как ты зарабатываешь на нём и что планируешь делать дальше чтобы зарабатывать ещё больше?
5 лет назад я основал компанию Automattic для создания коммерческих сервисов для WordPress – это позволило выйти на рынок. Первым был антиспам сервис Akismet, который позднее был использован WordPress.com, Gravatar, Polldaddy, IntenseDebate, VideoPress, VaultPress, и многих других.

Как организован процесс разработки: сколько разработчиков у тебя есть, они с полной/частичной занятостью, они сидят в офисе (где?) или работают удалённо? Какая IDE и какую среду они используют, работая над WordPress?
Сейчас около 200 активных участников разработки ядра WordPress, все они добровольцы. Некоторые (включая Automattic) получают зарплату за вклад в WordPress. Специальной среды разработки нет, каждый использует то, что ему наиболее удобно.

Какое влияние оказывает WordPress на рынок и как это влияет на конкурирующие продукты (коммерческие и бесплатные)?
WordPress сейчас – это, определённо, самая распространённая платформа для публикации контента, но есть и отличные конкуренты – например, Blogger. Инновации на рынке это хорошо, потому что они подталкивают нас вперёд.

Начиная с версии 2.3.3 наибольшая часть изменений связана с админ-панелью и удобством пользования, а не с оптимизацией кода. Можем ли мы надеяться что в один прекрасный день движок станет оптимальнее?
Мы постоянно переписываем, рефакторим и оптимизируем код WordPress – часто это 10-20% за один релиз. Начиная с 2.3.3, наверное 95% кода было переписано. Такой неспешный процесс усовершенствования кода лучше чем полное переписывание, потому что каждое изменение тестируется нами для сохранения обратной совместимости.

Планируете ли прекратить поддержку PHP4 и прекратить использование deprecated.php?
Да, в 2011 году.

Планируете ли сделать систему одобрения плагинов более тщательной? Некоторые общедоступные плагины очень низкого качества.
Что касается меня, то я бы хотел перенести внимание, которые мы уделяем просмотру тем, на плагины, но с тех пор, как мы разрешили людям хранить свои разработки в хранилище, думаю что мы должны остаться открытыми для всех.

Вы поощряете разработчиков плагинов и тем?
Я уверен, что многие разработчики тем и плагинов высоко вознаграждены за свою работу. Мы не платим деньги за что либо с WordPress.org.

Добавите ли какие-нибудь плагины в коробочную версию кроме Akismet и Hello Dolly?
Скорее всего нет.

Что ты думаешь по поводу того, что WordPress превращается из блого-движка в полноценную CMS?
Это достаточно нормальный процесс, который начался после реализации возможности создания страниц (Pages). Больше половины всех новых инсталляций WordPress не используются как блоги вообще.

Если бы сейчас ты начинал писать WordPress с нуля – на что бы он был похож?
Начиная с сегодня я бы пожалуй отказался от некоторых возможностей, которые практически не используются, например blogroll manager, и сфокусировался больше на SEO и социальной интеграции.

Что ты думаешь о таких фреймворках как ZendFramework, Сodeigniter, Symfony и т.д.? Ты не думал использовать их при разработке WordPress?
WordPress сам по себе фреймворк, с помощью которого вы можете строить продвинутые и расширяемые приложения.

Какие CMS/CMF тебе нравятся? На какие проекты ты обращал внимание, когда создавал?
Наша страница about упоминает и ссылается на Textpattern, Movable Type и Drupal как вдохновителей.

Спасибо за ответы Мэт!


Google стал индексировать SVG-файлы

В блоге для разработчиков Google Webmaster Central появилось сообщение о том, что поисковик Google теперь будет индексировать SVG документы. Соответственно теперь появилась возможность искать информацию так же и по SVG-файлам.

SVG – это открытый формат для векторной графики с поддержкой интерактивных элементов. Основан на XML.

Индексируются как отдельные фалы SVG, так и интегрированные в HTML. Для индексации большинства SVG-файлов потребуется некоторое время, соответственно полноценные результаты поиска будут доступные немного познее.
Пара примеров поисковых запросов: [sitemap site:fastsvg.com] и [HideShow site:svg-whiz.com]

Если на вашем хостинге есть SVG-файлы и вы хотите исключить их из результатов поиска, то вы можете воспользоваться директивой “X-Robots-Tag: noindex” в заголовке HTTP.

Список расширений файлов, для которых возможен поиск в Google:

  • Adobe Flash (.swf)
  • Adobe Portable Document Format (.pdf)
  • Adobe PostScript (.ps)
  • Autodesk Design Web Format (.dwf)
  • Basic source code (.bas)
  • C/C++ source code (.c, .cc, .cpp, .cxx, .h, .hpp)
  • Google Earth (.kml, .kmz)
  • GPS eXchange Format (.gpx)
  • Hancom Hanword (.hwp)
  • HTML (.htm, .html)
  • Java source code (.java)
  • Microsoft Excel (.xls, .xlsx)
  • Microsoft PowerPoint (.ppt, .pptx)
  • Microsoft Word (.doc, .docx)
  • OpenOffice presentations (.odp)
  • OpenOffice spreadsheet (.ods)
  • OpenOffice text (.odt)
  • Perl source code (.pl)
  • Python source code (.py)
  • Rich Text Format (.rtf, .wri)
  • Scalable Vector Graphics (.svg)
  • Text (.ans, .asc, .cas, .txt, .text)
  • Wireless Markup Language (.wml, .wap)
  • XML (.xml)

Причём речь идёт именно о расширении – если воспользоваться оператором filetype: в поисковом запросе (например filetype:xml galway), то поиск будет осуществляться среди файлов с расширением .xml, а не с форматом XML.


Статистический взгляд на эволюцию WordPress

Возвращаясь к моей недавней борьбе с ненормальной работой новой версии WordPress 3.0.1 хочу показать несколько найденных мною статистических изысканий других блогеров.

Вот заметка от создателя антипода WordPress-a – MaxSite CMSЭволюции WordPress посвящается. В заметке автор провёл исследование потребления памяти скриптами WordPress-а. Выводы в общем неутешительные для авторов движка.
Вот так выглядит график использования памяти и тренд на увеличение, собственно, не собирается меняться: WP 3.0.1 отъедает 22 МБ выделенной памяти.

Посмотрев на этот график, я бы, на месте авторов, задумался не над остановкой выпуска новых версий ради реорганизации окружения WordPress (реорганизация сайта, форума, документации, хранилища тем и плагинов), а над усиленной работой по оптимизации работы с памятью.

Ну конечно существуют и вполне объективные причины увеличения используемой памяти – WordPress всё-таки очень сильно наростил функциональность к версии 3.0.1 по сравнению с первой официальной версией 0.7. Вот, например, эволюция пользовательского интерфейса WordPress.

Французский блогер Ozh собрал интересную статистику по всем основным версиям (54 релиза) WordPress, хотя сам почему-то он их назвал “бесполезными фактами”. Например, размер zip-файла с исходным кодом от 225 кб версии 0.7 вырос до 2897 кб в версии 3.0.1, т.е. более чем в 10 раз. Табличка с подробно статистикой по размерам файлов, количеству и типам можно посмотреть здесь. По этим данным были составлены интересный графики.

Кроме так сказать физических характеристик Ozh изучил и внутреннюю структуру движка и выяснил несколько IнTересных фактов:

  • В последней опубликованной версии WordPress 3.0.1 объявлено 3240 php-функций.
  • В первой версии (0.7.1) было всего 309, т.е. более чем в 10 раз меньше
  • Всего во всех версиях WordPress было объявлено и использовано 3920 php-функций
  • В среднем каждый номерной релиз “.X” (2.1, 2.9…) содержал 225,2 новых функций
  • Только один релиз был “худее” предыдущего: версия 1.2.1 содержала на 23 функции меньше чем предыдущая версия 1.0.2
  • Самый “мощный” релиз – WordPress 2.8 – добавил сразу 569 новых функций. Больше всего функций (121) было удалено с выходом версии 1.5.

Ещё один график по количеству функций в различных версиях (остальное на сайте автора):

Закончу фразой из анекдота:

– И вот теперь со всей этой фигнёй мы попробуем взлететь.


IнTересные ссылки №7 (2010-08-19)

Здравствуйте уважаемые читатели IнTересностей.
Представляю вашему вниманию очередной выпуск IнTересных ссылок. Этот выпуск пройдёт под знаком, неотвратимо надвигающегося на фрилансеров, нового Налогового Кодекса Украины – в выпуске вы найдёте несколько ссылок с обсуждениями проекта НК.

[IнTересные ссылки]

[IнTересное видео]

[IнTересный юмор]
Сегодня опять без юмора – наверное этот раздел всё-таки отомрёт.

[IнTересные обсуждения]

Какой-то не очень позитивный выпуск вышел, но вот как-то так в этот раз.
Спасибо за внимание и до следующих встреч.


WordPress 3.0.1 и Allowed memory size of exhausted

Вчера вечером решил всё-таки перейти на новую версию блого-движка WordPress. На текущий момент это версия 3.0.1. Т.к. уважаемый Lecactus забил на переводы, пришлось скачивать новую версию с официального сайта. Были выкачаны и английская, и русская версии.

Естественно перед установкой новой версии нужно сделать копию базы и, по возможности, всех файлов блога – что и было сделано.
Кстати копию базы делает у меня плагин WordPress Database Backup по расписанию и делает это очень успешно. Копия файлов была сделана ручками (особенно не забывайте о wp-contents где хранятся все темы, плагины и медиа-файлы, используемые в вашем текущем блоге).
Кстати ваши медиа-файлы могут находится и в другой папке – это зависит от настроек!

Так вот собственно к чему я пишу это всё – после перехода на новую версию сам блог остался в рабочем состоянии, а вот административная часть оказалась абсолютно в нерабочем. Практически любая страница загружалась или наполовину, или не загружалась совсем с ошибкой “Allowed memory size of exhausted“. Дело в том, что мой текущий тариф у хостера подразумевает выделение только 32 Мб для работы php скриптов. Однако этого для работы новой админки оказалось недостаточно. После долгих танцев с бубном проблема была конечно решена (наполовину) – админка заработала в полном объёме, но пришлось её оставить на английском, т.к. перевод на русский занимает слишком много памяти и, при включённой директиве define (‘WPLANG’, ‘ru_RU’); в файле wp-config.php, админка не загружалась совсем – White Screen of Death (WSOD).

Вариантов решения проблемы на самом деле несколько:

  1. Увеличение доступной памяти для php скриптов.
    Это также можно сделать несколькими способами (если есть соответствующий доступ к файлам):

    1. В файле php.ini изменить установить параметр memory_limit = 64M (по умолчанию 32Мб);
    2. В файле .htaccess прописать директиву php_value memory_limit 64M
    3. В файле wp-config.php прописать define(‘WP_MEMORY_LIMIT’, ’64M’);

    Все эти вариант сработают если у вас есть права на соответствующие изменения. Мой хостер (да и большинство других) запрещает изменять доступный объём памяти таким образом, поэтому для большинства такой способ, к сожалению, не подойдёт.

  2. Следующий способ чтобы хоть как-то избавится от WSOD заключается в том, что необходимо деактивировать все активные плагины. Во всяком случае мне это помогло увидеть админку. Для этого пришлось вернуть старую версию WordPress 2.9.2. Затем (не меняя версию) я установил довольно полезный плагин WP-Memory-Usage. Плагин выводит в подвал админки информацию об используемой памяти.

    Затем я опять обновил версию до английской 3.0.1 – с русской версией админка не работала даже при всех деактивированных плагинах. Админка чистого движка (ну с одним активированным плагином) отъела 25 Мб из 32. Затем я обновил все плагины до последних версий и стал активировать все необходимые мне. Всё нормально активировалось и вот сейчас используется Memory : 26.92 of 32 MByte

  3. Однако на этом танцы с бубном русским WordPress-ом не заканчиваются.
    Чтобы оживить админку и при этом оставить русский интерфейс для блога (все названия месяцев, дней недели и т.д., видимые для посетителей блога) – пришлось сделать вот такой финт ушами. В конфигурационном файле wp-config.php необходимо закомментировать define (‘WPLANG’, ‘ru_RU’); и прописать такую конструкцию
    if (strpos($_SERVER[‘REQUEST_URI’], ‘wp-admin’)) define (‘WPLANG’, ‘ ‘); else define (‘WPLANG’, ‘ru_RU’);
    Это будет означать что для блога используется русский язык, а для админки – язык по-умолчанию, т.е. английский.

    Я попробую перевести админку (основываясь на переводах Lecactus-а) и выложить чуть позже (если получится).

Вот собственно именно таким получился у меня переход на новую версию WordPress.

Кстати, совершенно забыл, рекомендую удалить неиспользуемые плагины – они тоже отъедают выделенную для php-скриптов память!

P.S.
Кстати, а никто не замечал, что как бы ни было написано слово

wordpress

(спасают только теги pre) – оно автоматически преобразуется в WordPress (большие буквы W и P).


Firefox 3.6.8

Не прошло и трёх дней, как компания Mozilla выпустила очередное обновление браузера Firefox – версия 3.6.8.

В данной версии исправлена лишь одна критическая ошибка, которая неожиданно появилась в версии 3.6.7, хотя была найдена ещё в 3.5.11 и исправлена в последующих версиях. Ошибка связана с обработкой повисших указателей в массиве параметров плагина. Это приводило к потенциальной возможности атаки, путём внесения вредоносного кода в блоки памяти, но которые ссылались такие указатели.

Странно что по этому поводу нет никакой информации на официальных ресурсах, то ли проверяют до сих пор, то ли хотят включить в релиз ещё что-то. Хотя непонятно – мой браузер уже обновился сам, т.е. все остальные изменения должны пойти следующей версией. А возможно у них там просто выходной 🙂

Самостоятельно, не дожидаясь автоматического обновления, можно в ручном режиме через главное меню: [Справка] — [Проверить наличие обновлений…]


Firefox 3.6.7

На сайте mozillalinks.org появилось сообщение о выходе следующего релиза браузера Firefox – номер релиза 3.6.7

Сообщается об исправлении 126 ошибок и 14 уязвимостей, 8 из которых признаны критическими.

Обновление, как всегда, будет предложено всем пользователям в течении 48 часов. Однако я рекомендую обновится в ручном режиме через главное меню: [Справка] — [Проверить наличие обновлений…], всё-таки сразу 8 критических уязвимостей.


IнTересные ссылки №6 (2010-07-09)

Здравствуйте уважаемые читатели IнTересностей. Сегодня я решил выпустить очередные (6-е по счёту) IнTересные ссылки. В сегодняшнем выпуске будет только два подраздела: ссылки и видео

Итак приступим.

[IнTересные ссылки]

[IнTересное видео]

[IнTересный юмор]

[IнTересные обсуждения]

Спасибо за внимание и до следующих выпусков.


Яндекс-почте 10 лет

26 июня почтовый сервис Яндекса отпраздновал своё десятилетие. Всем пользователям сервиса, зашедшим через веб-интерфейс показали практические персональное приветствие и количество лет, которое пользователь уже отдал этому сервису.

Вот такой баннер показали мне, хотя почему-то мне кажется что свой почтовый ящик на Яндексе я завёл намного раньше:

На промо-сайте десятилетия Яндекс-почты можно раздобыть себе вот такую марку:

Яндекс.Почте 10 летЯ.Почта у меня 3 года

Лично я очень доволен этим ящиком – минимум спама, быстрый интерфейс – что ещё надо простому пользователю!


Firefox 3.6.6

Компания Mozilla решила не откладывать в долгий ящик выпуск следующей версии своего флагманского продукта и выпустила следующую версию браузера Firefox 3.6.6

Напомню, что данная версия нумероваться как 3.6.6 (а не 3.6.5) потому, что сделано это для синхронизации с нумерацией мобильных версий Firefox.

Итак, столь быстрый выпуск нового релиза обусловлен только одним усовершенствованием – увеличением времени отзыва того или иного плагина до выдачи сообщения о его (плагине) падении. О чём собственно речь. Предыдущая версия браузера (3.6.4) ознаменовалась архитектурными изменениями в структуре браузера – работа плагинов (не путать с расширениями) вынесена в отдельный процесс операционной системы.

Вот что по поводу нового релиза написано в официальном блоге:

Сегодня (26 июня 2010 года) мы выпускаем обновление для системы предотвращения сбоев и увеличиваем время, которое Firefox будет ждать перед тем, как выгрузит зависший плагин.

Система защиты от сбоев, представленная в Firefox 3.6.4, защищает пользователей Windows и Linux от падения или зависания браузера из-за сторонних плагинов, таких как Flash или Silverlight. Когда плагин зависает, пользователь может просто перезагрузить страницу для перезапуска плагина и продолжить просмотр страницы. Когда плагин зависает и делает зависшим весь браузер, Firefox 3.6.4 выгружает его после 10-и секундного ожидания. Все эти изменения тестировались на большой аудитории – около одного миллиона пользователей.

После выхода Firefox 3.6.4 мы стали получать сообщения от пользователей, у которых старые компьютеры, что они хотели бы чтобы период ожидания был несколько больше, особенно на страницах с играми. Для таких пользователей период в 10 секунд был очень коротким. С соответствии с этим мы увеличиваем размер периода с 10 до 45 секунд. Это изменение и сделано в Firefox 3.6.6, который и выйдет сегодня как автоматическое обновление.

Для меня конечно это представляет некоторую загадку – почему нельзя просто ввести параметр в about:config и не парить себе мозг с обновлениями? Каждый установит себе тот период, который пожелает.
[UPD]
Это я поторопился с выводами – параметр в about:config всё-таки есть – dom.ipc.plugins.timeoutSecs и теперь его значение по-умолчанию 45 секунд. И всё-таки непонятно – то ли этот параметр добавили только в 3.6.6, то ли 3.6.6 всё-таки выпустили зря – можно просто было бы написать инструкцию какой параметр менять и не “портить” номер релиза. Скорее всего, всё-таки, просто выровняли нумерацию версий в обычной и мобильной версиях Firefox, воспользовавшись таким мелким предлогом.

Как и всегда обновиться можно через главное меню: [Справка] — [Проверить наличие обновлений…]