30 июля 2010 г.

Госуслуги.ру

Помнится в конце прошлого года наше правительство утвердило план преобразования госуслуг в электронный вид. Интересно, как мне, простому смертному, можно отслеживать выполнение или изменение этого плана? Я же не просто так интересуюсь, я — лицо заинтересованное.

Вот, например, в плане указана такая услуга: "Регистрация автомототранспортных средств и прицепов к ним". Согласно плану в июле 2010 г. должна быть обеспечена "возможность представлять в госорганы без личной явки через портал документы в электронном виде". Это уже работает? Или нет? Если нет, то в каком состоянии?

По факту сейчас активно занимаются предоставлением госуслуг через портал только ФМС. Не буду говорить за всю Россию, но совершенно точно, что оформить загранпаспорт через портал можно уже в Санкт-Петербурге и Ростове-на-Дону. Удобно-неудобно — это другой вопрос. Но то, что работает  — факт. Причем в Ростове, в отличие от Питера, процедура получения паспорта в заняла всего 20(!) минут. Думаю, что в других регионах или уже тоже работает или вот-вот начнет. А вот что там с другими услугами — неизвестно... А знать очень бы хотелось. Не говоря уже о том, что очень хотелось бы пользоваться.

З.Ы. А новости на сайте "Электронной России" застыли на феврале 2009 года :(

28 июля 2010 г.

Цитата: Кларк

Единственный способ обнаружения пределов возможного состоит в том, чтобы отважиться сделать шаг в невозможное.

Артур Кларк, Второй закон Кларка

23 июля 2010 г.

fuse_operations::flush и реальность

В библиотеке FUSE (Filesystem in userspace) есть обработчики flush и release. Судя по описанию, обработчик flush вызывается, когда происходит системный вызов close() для файлового дескриптора. То есть сколько раз вызывался open() для файла, столько же раз будет вызван close() и, соответственно, flush. А release вызывается всего один раз, когда в системе не осталось больше ни одного открытого дескриптора этого файла.

В описании fuse_operations::flush есть небольшое примечание:
NOTE:The flush() method may be called more than once for each open(). (...) It is not possible to determine if a flush is final, so each flush should be treated equally. Multiple write-flush sequences are relatively rare, so this shouldn't be a problem.

На деле оказывается, что первый же вызов команды echo с выводом результата в файл (например, "echo blablabla >./1.txt") приводит к следующей последовательности вызовов обработчиков: create - flush - write - flush - release. То есть flush вызывается два раза, причем один раз до записи данных в файл, а второй раз — после. Получается, что корректно закрыть файловый дескриптор в обработчике flush невозможно.

Как с этим бороться — непонятно. Можно, конечно, отказаться от поддержки команд, которые приводят к "multiple write-flush sequences", но так поступать не очень хочется. Поэтому пока реализовал извращение в обработчике release, чтобы хоть как-то обойти проблему двойного вызова flush, а обработчик flush остаётся пустой, потому что при таком раскладе он совершенно бесполезен.