Два робота
У меня есть парочка роботов, которые очень помогают в жизни. С одним из них, я знаком несколько лет, а второй появился только в прошлом году. Один из них простой и надежный, а второй - сложный и его иногда приходится ремонтировать. Они являются примерами роботов разных поколений и сложности.
Робот для извлечения структур данных
Его я создал несколько лет назад. Его предназначением является обработка потока данных, идущего от некоего центрального сервиса. Выполняет он небольшую, но важную работу: в потоке ищет структуры данных и затем передает их на дальнейшую обработку.
Вскоре после его создания, мы с ним расстались. Я стал разрабатывать новые программы, а его передал вместе с остальной частью системы в управление отдельной команде разработки. До меня доходили слухи, что его разбирали, пытаясь понять как он работает, но в любом виде он справлялся со своей работой.
Я снова встретил его и восстановил в исходном виде. Выглядит он следующим образом:
#I, Robot#
my $reg_pat = qr^
<( [ \w ]+ )>
###
(.*?)
#####
< \/\1>
# #
# #
# #
^xs; #xs;
#...
my %attr = $vals =~ m/$reg_pat/g; #Run robot, run !
Социальный робот
Еще одного робота [1] я создал, в прошлом году. Мне необходима была помощь в освещении хода конференции по свободному ПО [2], и поэтому получившийся робот обладает рядом полезных свойств:
обучен работе в социальных сетях Twitter и FriendFeed;
умеет отличить обычного пользователя группы FriendFeed от администратора;
особое внимание уделяет записям в группе, которые понравились администраторам;
местообитание этого робота - группа в FriendFeed [3].
На данный момент он требует починки, и я собираюсь перебрать его внутренности, чтобы запустить снова.
[1]Робот, обученный работе в FriendFeed. lveeboteg
[2]Mеждународная конференция разработчиков и пользователей свободного программного обеспечения. http://lvee.org/
[3]Конференция Lvee в FriendFeed. http://friendfeed.com/lvee/