Об использовании WordPress

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

В пример я обычно привожу сайт школы-студии Сергея Андрияки, но там дизайн первичен, а вордпресс используется как движок для нескольких новостных лент. Красиво сделано, однако!

На сайтах с кулинарными рецептами и т.п. основную роль играют две функции: подписка для получения новых публикаций и рубрикатор для поиска по темам.

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

Сайт полезен тем, кто летает много и по плану. Сейчас - в апреле - продаются билеты аж на октябрь. Много предложений на перевозки в сезон - июнь и дальше. Так что подписка на обновления новостной ленты будет вполне оправданной.

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


Хотите принять участие в конкурсе на лучшую статью и получить приз? Все о здоровье. Конкурс проводится в мае. Приз - книга Леви (которого - записного психолога - почему-то записали теперь во врачи :) ) “Ошибки здоровья”. Но можно и деньгами, а ведь книги-то нынче подорожали!

Бесплатные органайзеры (анонс)

После довольно долгого перерыва прошерстил профильный раздел sf.net. Накопал несколько более-менее активно разрабатываемых и свежих органайзеров, списков дел и тому подобной лабуды. Конкретно вот эти:

PIMs from sourceforge

Потихоньку буду устанавливать и выкладывать сюда обзоры.


А в это время…Читаем Сказки - интересный блог журналиста-копирайтера из Приднестровья - пишет о бодиарте, а незадолго до того - о том, как блоггерам не хватает женской ласки :) Товарищ совмещает трудносовместимое, следим далее за его успехами.


Автор неизвестен

Сын пришел ко мне, шельмец,
И спросил с тоскою:
“Одноклассники, отец -
Что это такое?
Это что за сайт такой,
Где седые люди,
На реал махнув рукой,
Утопают в блуде?
Где к изменам виден путь,
Цель ясна, и средства,
Где хотят себя вернуть
В брежневское детство?
Где нарушен их покой?
Где проводят ночи?
Это что ж за сайт такой -
Объясни мне, отче?”
Я привлек сынка к себе
И сказал с тоскою:
“База данных ФСБ -
Вот что мы такое!

Поиски автора пока успехом не увенчались


Это были стихи про веб 2.0, а вот еще стихи про оптимизацию!

iCalendar - текстовый формат данных органайзера

Существует большое количество программ с задекларированной поддержкой формата iCalendar. Файл календаря iCalendar - это структурированный текстовый файл, удовлетворяющий требованиям стандарта RFC2445. Формат основывается на более старой версии под названием vCalendar.

Несмотря на то, что многие известные программы хранят данные в файлах iCalendar, и еще большее количество программ теоретически умеет осуществлять экспорт-импорт таких файлов, поддержка формата iCalendar реализована во всех в них не полностью, и что того хуже, с существенными отличиями. Сам стандарт обширен и отлично проработан, но никто не дает себе труда полностью его поддерживать. Так, практически невозможно найти программу-органайзер, способную одновременно хранить события, задачи и заметки в соответствующих записях VEVENT, VTODO и VJOURNAL. Хуже всего с заметками и журналами. Потому и нет идеального органайзера.

Рассмотренные в статьях нашего сайта программы зачастую используют для хранения данных файлы iCalendar.


Perl, DBI, utf8

Решил написать скриптик генерации статического контента по базе данных, содержащей каталог картинок и текстов. Так сказать, заменить серверный движок оным генератором. Руками делать страницы - неблагодарное занятие в силу необходимости сгенерить большое количество междустраничных ссылок и т.д. и т.п.

Имевшийся готовый генератор html-галереи не подошел, потому что не умел коллекционировать теги и генерировать по ним тематические каталоги.

Поскольку требовалось сделать страницы в кодировке Windows (cp1251), то лучше всего и быстрее всего было бы сделать это на Visual FoxPro - потому что базу проектировать и пополнять удобно. А писать еще и интерфейс для ввода данных мне лень.

Но лицензионного VFP у меня нету (Windows, если поискать, найдется).

Первая приходящая на ум альтернатива - HSQLDB. Но уж больно она аскетична, да и не очень хочется на J2SE писать, для такого Perl больше подходит. И обратились мои взоры к хорошо знакомому MySQL 5, для которого имеется опять-таки свободный phpMyAdmin, который я и намерен использовать для ввода данных. А при необходимости в базе MySQL и файлы можно хранить будет (бэкапить все это хозяйство одним файлом проще).
Забил немного тестовых данных. Как и положено правильному юзеру, все таблицы в базе - в utf8.

Оказывается, Perl не понимает utf8. Задница.

Исследования показали, что в последние несколько месяцев сия проблема активно решалась, однако часть юзеров мигрировала на PostgreSQL, DBD-драйвер которого имел кривую, но работающую поддержку UTF.

Поставил свеженький драйвер DBI:mysql. Нашел. как это должно выглядеть в коде. Примерно так.


#!/usr/bin/perl
...
use DBI;
use encoding 'utf8';
...
$dbh = DBI->connect("DBI:mysql:$database:$hostname",$user, $password);
open(FL, "> catalog.html") || die "Can't open file \n";
binmode(FL, ":utf8");
print FL <<EOF;
абвгдеё\n
123456\n
EOF
$dbh->do("set character set utf8");
$dbh->do("set names utf8");
$statement="select * from tag";
$sth = $dbh->prepare($statement) or die "Can't prepare $statement: $dbh->errstr\n";
$rv = $sth->execute or die "can't execute the query: $sth->errstr";
while(@row = $sth->fetchrow_array) {
print FL "$row[0] $row[1]\n";
}
$sth->finish;
close FL;

Вот без SET NAMES - не работает.

Ну хорошо, хоть так.