W3C заявила о возобнавлении работ над HTML стандартом

Итак, мальчики и девочки, хочу вас поздравить с тем, что скоро наступит полная победа коммунизма, или W3C возвращается к HTML.Вообще, это скорее подарок для женщин, так как новость запущена аж 7 марта 2007 года, а я (как настоящий мужчина) узнал о ней попозже.

Получается, что он будут делать HTML стандарт 5ой версии. И это после того, как последняя версия стандарта вышла аж в 1998 году и с тех пор разрабатывался XHTML? И это после того, как MS, Firefox, Opera и многие другие уже вполне терпимо поддерживали всё связанное с XHTML? А то что CSS2 они не поддерживают или поддерживают, но не совсем так как хотят все, им разрабатывать следующую версию CSS не мешает? Типо теперь они сделают что-то космическое и всеми поддерживаемое? То что все SEO и прочие WEB компании стараются везде пропихивать XHTML никого не волнует?

Вобщем, следуя всем их заявлениям, у нас будет два царя две головы, т.е. стандарта. Чтож, поживём и посмотрим, как народ примет этот HTML5 и как быстро его имплементируют ведущие производители бродилок. Флаг вам в чайку!

Если я в чём-то не прав – поправте меня.

Первая конференция блогеров в Литве. Часть первая.

Сегодня, 14 марта 2007 в Вильнюсе прошла первая в Литве конференция блогеров Литвы. Конференция была организована в самом центре Вильнюса, в Бизнес-Центре “Европа” на 31 этаже, с которого открывается обалденный вид на весь город (как на старый, так и на “шанхай”).

Огромное спасибо организаторам: Arnoldas Rogožnyj aka zudykreklama.lt за идею и организацию, спонсорам (Omnisurfport, Microsoft, MTV, простите, если кого забыл). Место выбрали удобное, впечатляющее, переплюнуть будет трудно. Хотя, если вспомнить все истории разных конференций – первая конференция всегда самая хорошая.

Итак, самое сложное было для меня – пройти фейс-контроль внизу у лифтов. Охранник долго не мог понять, кто такой блогер. Видимо корень Литовского слова “blogas” который кроме всего чего означает “плохой” на него очень подействовало. Словом “blogas” у нас обзывают блог теперь. Ладно, прошли, поднялись, представились, кто мы и из какого блога – документов не просили, аутентифицироваться тоже, поверили наслово. Выдали идентификатор (в следующий раз пишите шрифтом побольше, а вот бумага порадовала – классная и не стандартная) и набор полит-агитатора, а если быть точным – реклама от Omnisurfport. Карандаш и записная книжка была очень кстати. Правда, в следующий раз ещё бы и точилочку, а то карандашик мягкий и быстро тупиться (сейчас его оценивает супруга – ей понравилось). Хочется отметить так-же качество программки, которую раздали – расписание, лекторы, темы – всё на одном листе и очень удобно и доходчиво. Так-же подшито короткое описание каждого лектора и его материала, да так, что прямо там-же можно сделать заметки. Уровень подготовки на высоте.

Первым был Arnoldas Rogožnyj – человек по стилю и манерам очень похож на Vladimiras Lekecinskas – тоже простенькая рубашка, а поверх свитер с молнией и капюшоном, тоже простейшие штаны и ничего особенного, никаких костюмов, тоже не выспавшись, тоже бледноват с лица. Интересно, он тоже хороший руководитель?
Рассказывал он об истории литовских блогов. Начал с 1999 года, когда появился Gobbitas.lt (вот вопрос то интересный – домен 2002 года, LiveJournal тоже у него 2002 года, но может я чего не знаю, поверим наслово),а потом перешли мы сразу в 2005 год, когда был основан blogas.lt и дальше уже говорили только о blogas.lt и какой они хороший блог и что они как-бы положили тут начала блогинга. О том что с 1999 по 2005 не мало людей создали блоги в других местах и к этому моменту уже в LiveJournal.com образовалось не маленькое сообщество из Литвы – никто ничего не сказал. Мною была не понята часть которая рассказывала блогерам о блогерах и блогах, но видимо он работал как боксёр на публику на корреспондентов.

Далее выступали удачные блогеры. Мне было интересно, что значит удачный блогер? Как определить, удался ли блогер, по каким критериям это было установлено? Ведь пискомерку систему реитонгования ещё никто не сделал локальную. Очень красиво всё рассказал pukomuko – у него своеобразный стиль выражения мыслей, но очень приятный и доступный, отличный оратор, который легко преподнёс историю своего блога. webdu.nulis говорил тихо и медленно, сложилось впечатление что он либо боялся, либо его не покормили. Сам он пишет в своём блоге, что не спал несколько ночей. Нет, я тоже бывает не сплю – но не по несколько ночей – здоровье дороже. TetaSigita – я вообще первый раз о ней слышу, человек в возрасте, а ведёт блог хотя и далека от IT, интересно, какие сюрпризы ещё таят наши блоги? Правда в чём их удача я так и не понял, или где удача?

Liutauras Ulevičius – Блог политика, бизнесмена, гражданина: почему? зачем? о чём? Извечные вопросы… В этот момент мне пришла SMS о том что упал один сайт, который мы обслуживаем, и мне было чуть-чуть не до конференции – я раздавал указания SMSами, кому что делать в офисе. Во время перерыва мы всё вернули в рабочее состояние. Прости, Liutauras Ulevičius, но я пропустил твой доклад.

Gytis Oganauskas из Delfi.lt сожалел, что современные литовские СМИ не обращают внимания на то, что твориться в блогсфере. Согласен – они у нас давно забили на всё и делают всё что хотят. Примеры хорошие приводил, красиво рассказывал. Вот только что интересно – само Delfi.lt, не смотря на то что является только интернет-изданием, ссылки на источники и какие-то сайты в статьях никогда не ставит. Они тоже запускают свой движок блогов ко всему. Интересно, что будет у них?

Никогда не забуду и не прощу этого эстонцам. Мэдленные Эстонцы учили быстрых Литовцев делать корпоративные и бизнес блоги. Смешно!!! Мы тут все смеёмся, что они мэ-эгленные, а они нас уже учат, как это делать. Helen Meius из MONTON молодец – приехала рассказала самые сливки и утёрла нос как всем так и организаторам – учитывая что пригласили именно её, видимо никто не знает, что и в Литве есть люди, которые мало того что знаю как делать корпоративные и бизнес блоги, но их ещё и делают. Что касается самого сайта MONTON – хочется пожелать им лучшего – сайт для Литовской аудитории я так и не нашёл, а она о нём говорила очень много на конференции, и что у них корпоративный блог есть говорила – но похоже он ещё не созрел – на данный момент там пусто. Что-то вы поспешите, госпожа Helen Meius. А ведь могли найти и местных умельцев для этой части.

Обед. Тут я и закончу на сегодня.

О работе, php и своём framework

А всё-таки этo оправдалось. Пишешь свой, пусть и с косяками, php-framework. Пусть он под PHP4, пусть он не идеален, но он работает на 6 проектах, давая максимум функционалии для простых и удобных CMS. За время написания этих проектов, framework развивается, тестится и живёт.

Приходит день, и на основе его начинается новый, большой проект, когда над проектом работают сразу 2 программиста, 1 HTML кодер и ему помогает ещё 1 специалист по JavaScript. Потом сваливается новость, что не плохо бы перейти на PHP5. Не то чтобы для меня радость, но и не горе. Да, я потерял совместимость с предыдущими сайтами, но не это главное.

Первы сложным шагом было: перейти с PHP4 на PHP5 не потеряв всего что написано по функционалии. Пришлось написать добрую кучу Unit тестов, а потом переписать все компоненты для поддержки основных возможностей PHP5. Это новые конструкторы, это __sleep/__wakeup для моделей, это static, public, protected для нужных методов и прочие косяки, которые вдруг полезли.

Второй сложный шаг: помнить, что ты пишешь на PHP5.

Теперь о косяках, на которые можно нарваться головой.
Косяк №1 – документация кода. Она всегда страдает, что бы вы не использовали. Заставить себя писать комментарии, хотябы в виде phpDoc очень сложно. Заставить кого либо это делать, если не делаешь сам – ещё сложнее. Документировать код через недели после написания – дело скучное и вовсе не интересное. А надо.
Косяк №2 – Когда принимаешь нового человека в команду, нужно быть готовым к этому и иметь список внутренних стандартов кода. Спорить о том, как лучше писать код и по каким стилям при написанной части framework не самая хорошая идея.
Косяк №3 – Не надо бояться общаться в команде при работе, это решает проблемы. Не надо бояться иногда эксперементировать с принципами экстремального программирования – помогает, да ещё как.
Косяк №4 – Как всегда, у большинства самодельных framework страдает скорость. Но! У нас ведь есть право в любой момент отступиться, осмотреться и что-то изменить. Проект то большой и уникальный в своём плане. Можно отказать от каких-то возможностей, что-то переписать с максимальной пользой, где-то поправить не оптимальный код коллеги.
Из косяков вроде всё.

Вот к примеру сегодня (точнее уже вчера) я целый день провёл в профайлере, отлавливая тормозящие функции, методы и просто куски кода. Когда идёш по чужому коду (пусть не документированному) и видишь все его идеи (благо MVC это позволяет без проблем) – править тормозящие мелочи очень легко, тем самым отвоёвывая по 10-20 ms. За любой код, пусть самый кривой, ты не ругаешь, ты просто его правишь на более корректный (и то это на твой взгляд) и быстрый. Главное, что оба кода правильные, оба кода по функционалии абсолютно одинаковые, просто есть разница в 2-3 запроса к базе, 10-20 ms и никаких нервов или ругани.

А вот показать это чудо, я не думаю, что уже когда смогу.

minedui ne!

Если кто-то следит за новостями Литовской поп-эстрады, обязательно должен был заметить такого свежеиспечённого исполнителя как minedas. Учитывая, сколько скандалов устраивает это существо (или организаторы), я, один из первых, присоединяюсь к акции “minedui ne!”. Я, поддерживаю мнение, что всему есть предел и делать шоу из того, из чего это сейчас делается – аморально!

minedui ne!

Желающие присоединиться к акции, могут скачать готовые баннеры для акции “minedui ne!” у меня, либо у EnC

PECL на Unix/Linux

Меня всё волновал вопрос, как ставить PECL на PHP из исходников. Сегодня я не только наконец нашёл ответ не этот вопрос (я не сильно искал его, если честно), но и попробывал сам это сделать.

Итак, есть 3 способа поставить PECL под Unix/Linux:

Как это делает PEAR я не знаю, не делал я этого с ним, зато провёл живой эксперимент с memcache-2.1.0, PHP 5.2.0 на Ubuntu 6.06 LTS (The Dapper Drake). Всё что от меня потребовалось сделать:

wget http://pecl.php.net/get/memcache-2.1.0.tgz
gunzip memcache-2.1.0.tgz
tar -xf memcache-2.1.0.tar
cd memcache-2.1.0
phpize
./configure
make
make install

Оно само всё сделало, и даже положило в нужную папку. Осталось только активировать его в php.ini.

Сделать это statically мне не удалось – всё остальное было поставлено из packages или как это у них называлось и компилировать все исходники с нуля никто не хотел.

Памятка, как установить CentOS 4 с Server CD

Итак, да, мне пришлось это делать 5 раз и возможно придётся делать ещё не раз. Поэтому памятка для меня, как это сделать.

Да, именно CentOS 4, именно с Single Server CD.
Вроде-бы всё просто. Качаем Single Server CD, вставляем в привод, грузимся с него. Там везде всё почти Next Next Next, естественно читая и отмечаю то что нужно. Ставили Minimal, так как всё равно нам не нужен был ни KDE ни тот набор предустановленного ПО. Да, я отказался от Firewall и прочей безопастности – я не администратор-профессионал, я только ставлю сервер, который будет стоять в LANе и только для внутреннего пользования. Как только всё установлено – Reboot.

Входим в SHELL (можно уже и по SSH), делаем yum update. Всё что он скажет, подтверждаем. Далее отрубаем, ненужные сервисы (короткий список сервисов, которые можно вырубить). Команды service name stop, chkconfig name off. Для того что бы увидеть список врубленных сервисов есть комманда chkconfig –list | grep on.

Так как я фанат Midnight Commanderа – устанавливаю и его: yum install mc.i386.
Для удобной работы через SSH мне рекомендовали установить yum install screen.i386 – да, он внутри, но держать постоянно открытым Putty я не могу, а к серверу монитор – роскошь, места много занимает, да и мы ленивые, ходить не любим.

Ещё мне рекомендовали систему конфигурировать не через DHCP. Следовательно, нужно отредактировать файл /etc/sysconfig/network-scripts/ifcfg-eth0 или соответствующий к вашему интерфейсу. Ключи:

  • DEVICE=eth0
  • BOOTPROT=none
  • HWADDR=xx:xx:xx:xx:xx:xx
  • ONBOOT=yes
  • NETWORK=xxx.xxx.xxx.xxx
  • NETMASK=xxx.xxx.xxx.xxx
  • IPADDR=xxx.xxx.xxx.xxx
  • TYPE=Ethernet
  • GATEWAY=xxx.xxx.xxx.xxx
  • DNS=xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx

Подробнее: Interface Configuration Files По окончанию: service network restart.

Первый этап закончен.

Они сговорились, да? Обновления у Prototype.js, script.aculo.us, Zend Framework и Ruby on Rails

Неделя полна новостей: новый сайт Prototype.js + версия 1.5.0, script.aculo.us 1.7.0 с новым и сильно анонсированным эффектом Morph. Надо в понедельник будет обновить текущие проекты и посмотреть, как будет работать в Opera, FireFox, IE6, IE7.

Zend выпустил Zend Framework Preview 0.7.0, чесно говоря, я ожидал что Zend будет быстрее его разрабатывать.

Ilia Alshanetsky анонсировал выход PHP 5.2.1 RC3.

А 37signals с командой разработчиков выпустил Ruby on Rails 1.2 – все акцентируют REST, вот бы знать, что это и как это едят (я в данный момент далёк от RoR). Говорят они победили проблемы с UTF-8 и обновили библиотеки Prototype.js до версии 1.5. Эх, хочется усесться в этот локомотив и катить с ним, но можно быть средним RoRовцем или быть хорошим PHPистом с уклоном на администрирование и load-balancing решения (PHP проектов).
Кстати, надо написать памятки по установки CentOS 4 с ServerCD, а то эту операцию я делаю не слишком часто, а может ещё и пригодиться.

Кстати, вышел WordPress 2.0.7 – они настоятельно рекомендуют обновиться, и это через 6 дней после выхода WordPress 2.0.6.

Oбнавлён сайт Prototype.js

Добро пожаловать в prototype – JavaScript Framework. Теперь на отдельном домене, в красивой оболочке с кучей вкусных вещей от создателей: Документация, Подсказки и учебное пособие и Ещё один блог в Ваш RSS-Reader. Теперь не придётся ползать по 3party документации и искать ответы на свои вопросы где-то там – всё есть здесь, все классы, методы, объекты, опции и возможности ясно и в одном месте изложены. Радует, радует, и вот бы так сразу.