Home

Google Wave

  • Oct. 25th, 2009 at 2:06 PM
Получил аккаунт Google Wave, могу кинуть инвайты. Правда работают они своеобразно, похоже когда я кому-то кидаю инвайт, то он просто попадает в очередь на получение аккаунта. Т.е. приходит не сразу.

UPD  Как написано в самом google wave: Invitations will not be sent immediately. We have a lot of stamps to lick.  Я себе отправил инвайт на другой аккаунт прошло несколько дней и тихо. Так что всем, кому я отправил инвайты рекомендую запастись терпением.

Русский Perl

  • Oct. 1st, 2009 at 11:08 PM
Недавно появился русский перловый агрегатор PlanetPerl.ru всем рекомендую. Был удивлен, найдя там себя :)
Вообще, в последнее время перловые массы бурлят: интересные перловые проекты.модули, акции популяризации перла (Planet Perl Iron Man) - это все очень радует. Еще бы нужно несколько успешных open source перловых проектов ДЛЯ_ОБЫЧНЫХ людей (типа RT) и тогда все будет вообще здорово.

Вот что меня весьма интересует в перловых разработках в последнее время:
Mojo - очень здорово, ковыряюсь в свободное время. С нетерпением жду stable версии.
Padre - IDE на perl для Perl. Поставил, попробовал. Интересно что-нибудь полезное к нему написать (но нет времени из-за кучи других не менее интересных идей)
PDL - Perl Data Language. Может это и баян, но недавно лишь попробовал ее в использовании. Очень проникся. К тому же сейчас происходит регулярное  обновление данной библиотеки
AnyEvent - все никак не соберусь чего-нибудь осмыссленное написать.
А ведь есть еще и Perl6 и Parrot, т.е. впереди куча всего интересного и увлекательного!

Регулярно просматриваю новые модули, появляющиеся на CPAN, приятно радует прогресс. Пусть подавяца инвалиды, которые называют перл некрофилией и считают что он умер, Perl живее всех живых!

В общем, согласен с [info]sharifulin : use Perl or die;  



Tags:

Devel::NYTProf

  • Sep. 26th, 2009 at 4:42 PM
Попробовал перловый профайлер Devel::NYTProf  очень впечатлен! Вах как круто!

Используется очень просто:

perl -d:NYTProf mysuperscript.cgi

в результате получим нечитабельную базу с результатами тут: ./nytprof.out
После чего конвертим результаты в html
nytprofhtml

открываем броузером и удивляемся, там действительно будет очень много букоф и циферок. Я попробовал сунуть туда приложение на Mojolicious в топах по использованию и времени метод attr (Mojo::Base) Автор модуля Tim Bunce (он же автор DBI). Подробнее можно почитать тут: NYTProf v2 – A major advance in perl profilers
Это мега зачот:  Были получены исходники 3300 глобальных интернет-проектов

А вот gentorist, я помню, нам в свое время сказал: "Нех вам svn на боевых серверах, ручками накатывайте"  и был прав.
Наткнулся на интересного чувака (Christopher Laco), который в качестве хобби щупает за всякие теплые места известные фреймворки.
Посмотрел его код для Mojo (хоть и под старую версию), весьма зачотно. Мне понравился его хак, который он использовал для вызова нужной модели, в зависимости от вызываемого контроллера (использовал DBIx::Class). Похоже он  на  Catalyst'е натренировался.

Здесь: github.com/claco/burningplate.com примеры простого приложения обзора ресторанов, написанный на фреймворках:
  • ASP.NET
  • CakePHP (php)
  • CodeIgniter (php)
  • Symfony (php)
  • Catalyst (perl)
  • Mojo (perl)
  • Django (python)
  • Merb (ruby)
  • Rails (ruby)
А тут, его  статьи о более ранних  фреймворковых изысканиях: MVC Marathon  довольно интересно.

Топ профессий 2029

  • Sep. 17th, 2009 at 10:25 PM
Интересная статья,обзор профессий, востребованных в 2029 году: Топ профессий 2029 
  • Разработчик "реальных" миров
  • Секвенеровщик ДНК
  • Иммортолог
  • NBIC-Конвергентор
  • Дизайнер эмотехнологий
  • Имуннокомпьютеролог
  • Вирусолог сознания

Bootylicious - пишем плагины

  • Sep. 15th, 2009 at 9:24 PM
Ранее я уже упоминал движок для блога Bootylicious (написан с использованием Mojo). Недавно сделал для него несколько плагинов:
Gallery, AjaxLibLoader, TocJQuery

Всем френдам перловичкам предлагаю вовлечься в развитие данного проекта (написать плагин, парсер или еще чего-нибудь нужное)

В чем плюсы?
  • Это весьма интересно и не требует много времени.
  •  
  • Можно пощупать Mojo и не ради каких-то абстрактных задач, а для вполне конкретных целей.
  •  
  • Развивает фантазию (это как писателям предлагают для тренировки писать коротенькие рассказы)
Как принять участие?
Регистрируетесь на Github.com
Форкаете проект от автора http://github.com/vti/bootylicious
Клонируете репозитарий себе на машину. Креативите, если выхлоп удачный, то пишете документацию и тесты.  Далее, комитим себе в репозитарий и делаем push в свой удаленный репозитарий на github, после чего присылаем автору vti  pull request  (кнопочка в веб интерфейсе при просмотре информации по коммиту). Все! Гордимся собой (один коммит в опен сорс это как бабушку через дорогу перевести +3 к карме).

Автор проекта bootylicious, Вячеслав Тихановский, он же vti.

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


Посмотрел аниме Гуррен Лаганн (Gurren Lagann) 27 серий. Очень впечатлен! Потрясающее аниме, отличный перевод с охрененной озвучкой. В общем, всем рекомендую. Один из лучших аниме сериалов последнего времени.


SDL Perl и Frozen Bubble

  • Sep. 10th, 2009 at 12:23 AM
Берем SDL Perl (Simple DirectMedia Library Bindings for Perl) добавляем туда щепотку креатива, графику, музончик и получаем симпатичную игру-аркаду  Frozen Bubble с 3-х мерными анимированными пингвинами. Для Ubuntu/Debian ставится она просто:

apt-get install frozen-bubble

Если хочется знать больше о SDL Perl то вам сюда:
Блог Yet Another Perl Game Hacker
Сайт Perl SDL

Tags:

Коллега сделал очень прикольный сервис smartTARIF, который анализирует историю ваших звонков и рекомендует оптимальный тариф. Порадовали детальные инструкции - это сподвигло меня на смену тарифа (а то я как подключился в 2004 так его и не менял). Если верить сервису, то буду экономить примерно 2500 руб в год.  Оплата 31 руб (смс-кой) за столь кропотливый и довольно нудный  труд (вбивание тарифов и инструкций) ИМХО вполне нормально.
На чем сделано? nginx + Perl + JQuery

Bootylicious

  • Aug. 28th, 2009 at 11:23 PM
Появилась довольно прикольная штука под Mojolicious::Lite: простенький движок для блога Bootylicious:

- в зависимостях только Mojo
- это один и очень маленький скрипт, с простой конфигурацией
- разметка вынесена из кода в шаблоны
- т.к. на Mojo, то работает как под CGI так и под  FastCGI.

В лучших традициях некогда популярного перлового микро-движка Blosxom (the zen of blogging), надо только добавить туда поддержку плагинов от сторонних разработчиков и все будет супер. Без всяких этих мега баз данных, сотни шаблонов и прочей фигни.

Устанавливается на раз-два. Для того чотбы запостить, нужно в директорию положить файлик с POD разметкой.

Tags:

18 августа обновился Mojo, причем довольно круто: часть модулей удалена, множество изменений без обратной совместимости
Полный список изменений тут Пришлось обновить свой диструбутив MojoX::Log::Dispatch, чтоб соответствовать новым веяниям.
На тему мега апдейта автор высказался в своем блоге The Times They Are A Changing

P.S. так что если кто-то писал что-то под Mojo очень советую проверить, работает ли это что-то с текущей версией Mojo


Tags:

MojoX::Log::Dispatch

  • Jul. 21st, 2009 at 9:31 AM
Нужна была мне возможность логирования в сислог для Mojo, в результате получился MojoX::Log::Dispatch - обертка над Log::Dispatch с интерфейсом Mojo::Log (чтоб заменять можно было).  Теперь можно логировать в десятки различных ресурсов, модулей для  Log::Dispatch большое множество

Tags:

Нагрузочное тестирование дефолтного Mojo приложения (nginx и Mojo::Server::FCGI::Prefork):

perl -MMojo::Server::FCGI::Prefork -e 'Mojo::Server::FCGI::Prefork->new->run();' &

ab -k -c 15 -n 10000 http://127.0.0.1:8080/fci

Server Software: nginx/0.6.35
Server Hostname: 127.0.0.1
Server Port: 8080

Document Path: /fci
Document Length: 38 bytes

Concurrency Level: 15
Time taken for tests: 22.284 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 10000
Total transferred: 2130000 bytes
HTML transferred: 380000 bytes
Requests per second: 448.76 [#/sec] (mean)
Time per request: 33.425 [ms] (mean)
Time per request: 2.228 [ms] (mean, across all concurrent requests)
Transfer rate: 93.35 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 1.7 0 59
Processing: 2 33 7.7 31 157
Waiting: 0 33 7.7 31 157
Total: 3 33 7.7 31 157


Если интересны бенчмарки то вот:
Mojo vs HTTP::Engine
Startup benchmarks for Mojo, Catalyst, Titanium, HTTP::Engine, CGI::Application and CGI.pm

Nginx, FastCGI, Mojo начало.

  • Jul. 18th, 2009 at 9:16 PM
Отсутствие документации в Mojo способствует разрушению мозга. Хоть исходники очень даже приятны для просмотра, но первые шаги даются с трудом.
Итак, пара советов всем кто решил не дожидаться документации, а приступить к изучению этого интересного фреймворка:

1.
Начните изучение с тестового приложения Mojo::HelloWorld.  Именно оно грузится по дефолту и взглянув на его код вы поймете, с чего же начать.

Самое примитивное приложение будет вида

package MyMojo::App;
use strict;
use warnings;
use base 'Mojo';

sub handler {
    my ($self, $tx) = @_;

    $tx->res->code(200);
    $tx->res->headers->content_type('text/plain');
    $tx->res->body('Hello world!');
    return $tx;
}
1;


2.
Советую ознакомиться с архивами почтовой рассылки Mojo
3. Имеет смысл посмотреть на тестовые скрипты дистрибутива.

4. Настраиваем Nginx:
Увидел в
рассылке конфиг для Nginx (автор [info]sharifulin )
location /fcgi {
fastcgi_pass 127.0.0.1:3000;

fastcgi_param MOJO_APP MyMojo::App;
fastcgi_param SCRIPT_NAME
http://127.0.0.1:3000; # !
fastcgi_param PATH_INFO $fastcgi_script_name; # !
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
}

Один из ключевых параметров в этом конфиге MOJO_APP MyMojo::App;  он устанавливает переменную окружения
$ENV{MOJO_APP} = MyMojo::App;
именно это просматривает баззовый класс Mojo::Server для установки аттрибута app_class:
$ENV{MOJO_APP} ||= 'Mojo::HelloWorld'

Tags:

The Definitive Guide to Catalyst

  • Jul. 13th, 2009 at 11:04 PM
Появилась еще одна книжка по Catalyst: "The Definitive Guide to Catalyst: Writing Extensible, Scalable and Maintainable Perl–Based Web Applications"
Год выпуска: 2009
Автор: Kieren Diment , Matt Trout
Издательство: APRESS

Кто не брезгует торрентами, то скачать можно тут.
А тут: официальная страница книги

Просто так читать ее бессмысленно, поэтому если кто-то собирается познакомиться с Catalyst, то советую в первую очередь почитать мануал на CPAN, он был хорошо переработан и для старта - самое оно.

Земляничные яйца

  • Jul. 12th, 2009 at 6:56 PM
Связь между "Трусы" и "Ну и ну! Земляничные яйца":

  • Трусы
  • Мужчина
  • Гендер
  • Каминг-аут
  • Ну и ну! Земляничные яйца

Tags:

AMQP - Advanced Message Queuing Protocol

  • Jul. 12th, 2009 at 3:32 PM
Узнал о существовании AMQP - открытый протокол для передачи сообщений между компонентами системы с низкой задержкой и на высокой скорости. При этом семантика обмена сообщениями настраивается под нужды конкретного проекта. Такие решения существовали и ранее, но это первый стандарт, для которого существует большое количество свободных реализаций.

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

Так же в тему: 

RabbitMQ: Введение в AMQP - статья на хабре. Отсюда про AMQP и услышал
Apache Active MQ - open source решение (написано на Java), есть клиенты для большинства языков
amqp.org - тоже пригодится
Message_Queue_Evaluation_Notes
- сравнение различных реализаций обмена сообщениями, в частности основанных на AMQP. Довольно интересно, что это wiki при Second Life
Zero MQ - быстрый и легкий сервис обмена сообщениями, написан на С++. Реализует несколько моделей работы, есть плагин AMQP.Написано, что у них получилось достичь 14,3 милисекундной задержки при потоке 4 100 000 сообщений в секунду
Apache Qpid -  Open Source AMQP Messaging. Довольно прикольная штука, есть брокеры на С++ и Java.
OpenAMQ - брокер (С++)  и API WireAPI (С++) через которое и происходит общение AMQP


UPD: На CPAN появился модуль Net::AMQP

Посмотрел фильм Ангелы и Демоны (Ден Браун, код Да Винчи, Том Хэнкс, Каталическая церковь это круто) - очень порадовался! Был сильно удивлен, когда фильм начался с андронного коллайдера.. просто супер! Для особого извращенного удовольствия фильм желательно смотреть вместе с физиком-энтузиастом: фантастические комментарии обеспечены на несколько дней. Если же не умничать, а просто расслабиться и посмотреть то динамично, захватывающе и ярко.






P.S. Создается впечатление, что Код Да Винчи, Ангелы и Демоны спонсируются каталической церковью с целью популязации религии. Для пиара перед выходом фильма они его демонстративно проклинают, но по сути фильмы навевают заманчивый романтический  мистицизм вокруг каталицизма, церкви ее истории и обрядов.

Эта серия из пяти статей познакомит вас с созданием простого фотохостинга при помощи Perl и Apache c использованием служб Amazon Simple Storage Service (S3; Служба простого хранения) и SimpleDB. В этом разделе будет рассказано о преимуществах и недостатках S3 и SimpleDB, об их архитектуре и начата разработка фотохостинга.
читать тут



P.S. Грид по-моему уже не модно, модно "облака", а пацаны с работы не знают.

Advertisement

Latest Month

October 2009
S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728293031

Syndicate

RSS Atom
Powered by LiveJournal.com
Designed by Golly Kim