abbra: (Default)
abbra ([personal profile] abbra) wrote2011-09-09 02:21 pm

Бесконечная автоматизация

Конечные автоматы бывают разные. Есть генераторы исходного кода по схемам-описаниям, есть табличные исполнители, а есть неявные конечные автоматы. Они сложнее, но читаются как детективный роман -- со множеством веток предположений и откатов на исходные позиции, а так же с необходимостью найти на них время. Неявные конечные автоматы в разных проектах -- это то, что одновременно удерживает от прихода новых участников (нужно уметь раскручивать детективный сценарий) и позволяет глубже понять, что и как задумывалось. Разгадав очередной автомат, получаешь вполне осязаемое удовлетворение.
  1. Парсер конфигурационных файлов (.ini-файлов): начало, подкладывание очередного "трупа", обнаружение "трупа", раскрытие убийства. В качестве источника информации Шерлок использует очередь событий, связанную с конкретным парсером, в рамках процесса обработки эта очередь глобальна, все участники обработки имеют доступ ко всей информации, все происходит прямо на глазах у Ватсона.
  2. Авторизация пользователя или проверка прав доступа относительно сервера Kerberos V в обработчике PAM: начало. События имеют несколько уровней видимости, раскрытие преступления уже не разворачивается на глазах у Ватсона -- Шерлок постоянно общается с какими-то мутными посетителями, приносящими странные предметы и получающими какие-то не относящиеся, вроде бы, к основному расследованию, задания. При этом создается видимость бездействия сыщика, не делающего ничего до появления следующего посетителя. Асинхронная обработка событий кого угодно может запутать. К тому же, Шерлок активно пользуется своим опытом. Наконец, две (авторизация и проверка) основные ветки счастливого конца, которые все же могут довести и до цугундера.

[identity profile] ishc.livejournal.com 2011-09-09 12:24 pm (UTC)(link)
Забавно :)

А мне всё больше не детективные, а фэнтезийные линии в голову приходят. Фактически, программирование, это ведь единственный известный рабочий случай магии -- прямого превращения слов в вещи и действия.

[identity profile] andy-shev.livejournal.com 2011-09-09 06:58 pm (UTC)(link)
Мне только кажется или krb5_access_done() имеет скажем так недоработочку?
В приведенном коде dp_err = DP_ERR_OK всегда, хотя по хорошему ему вначале должно быть присвоена константа типа DP_ERR_SOMEERROR.

[identity profile] andy-shev.livejournal.com 2011-09-09 11:22 pm (UTC)(link)
То есть по сути второе присваивание просто лишнее. Так?

Офф-топик

[identity profile] lazybear.livejournal.com 2011-09-12 11:02 am (UTC)(link)
Простите за офтоп. Не могли бы помочь с информацией по парковкам в Хельсинки. А то поиском очень много старой информации находится.

Надо оставить машину на несколько дней в Хельсинки. Можно ли оставить машину бесплатно на парковке около стадиона на несколько дней? Насколько реально там найти место, если, например, приехать часов в 7..9 утра?

Спасибо. Извините, если не по адресу.

Re: Офф-топик

[identity profile] lazybear.livejournal.com 2011-09-12 03:21 pm (UTC)(link)
Понятно. Спасибо.