9 сент. 2010 г.

Грузинские хачапури

Пока не забыл как готовил, записываю, чтобы потом воспроизвести.

Основывался на двух рецептах:


Выход: четыре лепёшки.

Ингредиенты для начинки:
  • Сыр твёрдый (Литовский пармезан, варианты см. в источниках), ~150 грамм (пол-куска)
  • Сыр мягкий (Сулугуни, варианты см. в источниках), ~150 грамм
  • Два небольших яйца
  • Пряности (я использовал итальянские травы, свежемолотый перец, перед заправкой положил свежий укроп; зависит от сыров — если пресные, можно подсыпать для вкуса; задумываюсь а не положить ли в следующий раз немного чили)
  • Соль по вкусу (сложно понять не попробовав первый хачапури — если сыры не очень солёные, солите!)
По поводу количества сыра меня терзают сомнения. В источниках указаны гораздо большие веса — но у меня получилось начинки вполне достаточно. Лепёшки так же плотно начинены, как те, что я ел раньше.

В любом случае, сыр брал на глаз. Натёр большую советскую суповую тарелку с горкой.

Ингредиенты для теста:
  • Стакан кефира (кефир я не гасил, если вы нормально относитесь к соде, наверное, стоит, см. источники — но и с негашённым вкусно)
  • Два небольших яйца
  • Три стакана муки
  • Столовая ложка душистого оливкового масла (животного жира не было под рукой)
  • Щепотка мелкой соли
Приготовление начинки:
  1. Натереть сыр (пармезан на мелкой, сулугуни на крупной тёрке, другие варианты в источниках)
  2. Вбить яйца (я вбивал не прямо в начинку, а заранее слегка взбалтывал отдельно)
  3. Посолить, приправить
  4. Хорошо перемешать
  5. Поставить в холодильник доходить (минимум на час)
Приготовление теста:
  1. Вылить кефир в кастрюлю
  2. Вбить яйца
  3. Посолить
  4. Добавить оливковое масло
  5. Всё размешать до однородной консистенции
  6. Добавлять постепенно муку, постоянно размешивая. Тесто должно получиться нежное, мягкое и липкое (но держащее форму).
  7. Тесту обязательно дать постоять хотя бы час! Если начать готовить сразу, оно будет рваться. Лучше всего дать постоять в холодильнике сутки — разница во вкусе действительно чувствуется (в лучшую сторону).
Собственно сборка лепёшки:
  1. Тесто липкое! Насыпьте в мисочку муки и постоянно макайте в неё пальцы.
  2. Возьмите четверть теста, скатайте руками в шар, положите на ровную, присыпанную мукой поверхность.
  3. Раскатайте скалкой примерно до размера сковороды. (Если тесто получается очень тонким — у вас очень большая сковорода, смените её!)
  4. Положите в центр начинку, разровняйте её примерно до половины диаметра лепёшки.
  5. Сейчас — самое время добавить в хачапури мелконарезанную свежую зелень (по желанию). Я не стал класть её в начинку, чтобы она лучше хранилась.
  6. Заверните края лепёшки к центру, полностью закрыв начинку. Защипните тесто, чтобы оно не раскрывалось.
  7. Убедитесь, что на столе у вас достаточно муки — если сейчас тесто порвётся, будет обидно.
  8. Аккуратно раскатайте закрытую лепёшку с начинкой до размеров сковороды.
  9. Если тесто всё-таки порвалось, сложите лепёшку в четыре раза и раскатайте снова. Получится слоёный хачапури — чуть менее вкусно, но с дыркой жарить нельзя, всё вытечет.
Готовка:
  1. Хорошо разогрейте сковороду.
  2. Налейте на неё оливковое масло для жарки (у меня не было животного жира под рукой). Масло тоже должно хорошо нагреться .
  3. Готовьте на среднем огне.
  4. Приготовьте тарелку, на которую выложите готовую лепёшку. Жарка проходит быстро и взять её потом вы не успеете. Если будете готовить несколько лепёшек сразу и класть их одну на одну, верх каждой готовой лепёшки нужно смазать маслом — чтобы не слиплись. Тарелку можно подогреть, чтобы хачапури не запотевал и остывал медленнее — но это для эстетов.
  5. Положите лепёшку на сковороду. Осторожно! Масло будет брызгаться!
  6. Не накрывайте крышкой.
  7. Возьмите в руку лопатку и не выпускайте её.
  8. Стойте над хачапури и посматривайте на его нижнюю сторону (можно аккуратно приподнимать лопаткой). Как только она слегка подрумянится, переворачивайте! Осторожно, масло! На лепёшке должны остаться светлые места. Если она вся румяная, вы пережарили. (Одна сторона жарится примерно две с половиной минуты, но ориентируйтесь на интуицию.)
  9. Поджарив до лёгкой румяности вторую сторону, снимите хачапури на тарелку.
  10. Хачапури нужно съесть сразу, пока он горячий! Если вы готовите два хачапури сразу (на двоих), задумайтесь о том, чтобы делать это одновременно на двух сковородах — так никому не придётся есть холодное. Но в первый раз, думаю, так не стоит делать.
Приятного аппетита!

P.S. Некоторые мысли:
  • С укропом я переборщил. Вообще, вместо укропа должна отлично пойти кинза!
  • Нужен более пикантный сыр. Начинка получилась немного пресноватой. (Но всё равно — вкусно, особенно после того, как я добавил приправ! Просто с правильным сыром будет взрыв мозга.)
  • Ни в коем случае нельзя брать "химическую" брынзу / фетаки, которой забиты магазины. То же относится и к кефиру. Берите максимально натуральные продукты. "Химические" ингридиенты не выдерживают нагрева и получается кислая гадость.
  • Оставшееся тесто обязательно присыпайте мукой — а то засохнет, даже в холодильнике! Обращайте внимание на место, от которого была отрезана очередная порция.
P.P.S. Результаты экспериментов:
  • Пробовал с чили — интересно, но забивает послевкусие.
  • Пробовал с кинзой — понравилось.
  • Для придания пикантности добавил оказавшийся неудачным недавно купленный сыр с плесенью. Вкусно но дороговато.

24 авг. 2010 г.

Розовый слон

Fleur


Зачем мне розовый слон?
Уверена, знаю вполне,
Объективно c любых сторон,
Абсолютно не нужен мне.
Но он ходит за мной всё время,
И уже надоел мне страшно.
Ведь люблю я других зверей,
Чёрных и камуфляжных.

Ни к чему мне розовый слон,
Но жалко его прогнать.
И к тому, что всегда мы вдвоём
Стала я привыкать.
Уже беспокоюсь о нём,
Он со мной на каждом шагу.
В жизнь мою влился розовый слон,
Я уже без него не могу.

Каждый должен об этом знать,
Так устроена жизнь.
Если хочешь что-нибудь потерять - привяжись.
И как только поверишь в Эдем, благодать
Всё разрушит удар судьбы.
Если хочешь что-нибудь потерять - полюби.

И как только стал нужен мне он,
Неотъемлем, необходим, почему-то стал розовый слон
Замкнут и нелюдим.
Не стремится розовый слон
Быть со мной каждую минуту,
Как-то странно он отстранён, избегает меня почему-то.
Для меня это страшная драма - его нет со мной целый миг.
Тут приходит мне телеграмма,
Слон нашёл хозяев других.
Как же мне это всё пережить,
Я умру, я сойду с ума.
Как вернуть мне или как забыть розового слона?

Каждый должен об этом знать,
Так устроена жизнь.
Если хочешь что-нибудь потерять - привяжись.
И как только поверишь в Эдем, благодать
Всё разрушит удар судьбы.
Если хочешь что-нибудь потерять - полюби.

Чтоб не плакать и не скорбить,
И любых избежать потерь,
Никогда никого не люби,
Никогда никому не верь.
Но сама я так вряд ли смогу,
Скоро новая будет весна,
И опять я себе найду какого-нибудь слона.

Каждый должен об этом знать,
Так устроена жизнь.
Если хочешь что-нибудь потерять - привяжись.
И как только поверишь в Эдем, благодать
Всё разрушит удар судьбы.
Если хочешь что-нибудь потерять - полюби.

19 авг. 2010 г.

В восьмой раз

Город
В. Цой

Я смотрю в календарь, я знаю, что скоро зима.
Наша улица на глазах меняет цвета.
За решеткой желтой листвы я вижу птиц.
Моя двадцатая осень сводит меня с ума.

Я люблю этот город,
Но зима здесь слишком длинна.
Я люблю этот город,
Но зима здесь слишком темна.
Я люблю этот город,
Но так страшно здесь быть одному,
И за красивыми узорами льда
Мертва чистота окна.

Фонари за окном горят почти целый день.
В это время я не верю глазам, я верю часам.
И теперь я занят только охраной тепла.
Вот ушел еще год - сколько останется нам?

Я люблю этот город,
Но зима здесь слишком длинна.
Я люблю этот город,
Но зима здесь слишком темна.
Я люблю этот город,
Но так страшно здесь быть одному,
И за красивыми узорами льда
Мертва чистота окна.

5 авг. 2010 г.

Дым

Не могу удержаться и не перепечатать пару злободневных рисунков из блога Экслера:


6 июл. 2010 г.

Twitter

Друзья! Читайте мой Твиттер: @agladysh

Я пишу туда значительно чаще чем в блог.

5 июл. 2010 г.

Фотографии с MarginCon

Фото inemytchenko

Я рассказываю про Луа, а вовсе не про то, про что вы могли подумать, прочтя надпись на плакате над моей головой.

27 июн. 2010 г.

Доклад по Lua

Прочитал доклад по Lua на MarginCon в Омске.

Вот слайды:


28 мая 2010 г.

Luabins 0.3

Зарелизил Luabins 0.3

http://github.com/agladysh/luabins

Новые фичи:
  • Унификация формата для x86_64 и x86. (ВНИМАНИЕ! Данные старых версий, сохранённые из-под x86_64, перестанут загружаться.)
  • API для сохранения данных в FILE * без участия Lua (см. fwrite.h).
Исправлены ошибки:
  • При побайтовом чтении теперь проверяется, остались ли ещё данные.
  • Исправлено переполнение луашного стека данных при загрузке больших данных.
Разное:
  • Улучшена информация о модуле. Переменная luabins.VERSION заменена на более стандартные luabins._VERSION, luabins._DESCRIPTION и luabins._COPYRIGHT.
  • Добавлены некоторые утилиты командной строки, полезные при разработке (см. etc/).
  • Слегка почищен код.

16 мая 2010 г.

Живая Вода

Живая вода

(В. Бутусов - И. Кормильцев)

да ты можешь быть скучной
ты можешь быть злой
но когда твой номер молчит
я беседую мысленно только с тобой
и никто нас не разъединит

если я не один - разве это беда?
если нужно - она подождет
я же слышу как страшно трещит под тобой
ненадежный октябрьский лед

есть одна любовь - та что здесь и сейчас
есть другая - та что всегда
есть вода которую пьют чтобы жить
и есть живая вода

да он смел как бог
я бы сам так не смог -
целый день ходить как в кино
не твоя вина что ты хочешь вина
и что он имеет вино

но когда твои губы сухи поутру
чем ты смоешь с них пепел побед?
и когда все дороги замкнутся в кольцо
как ты выйдешь на правильный след?

есть одна любовь - та что здесь и сейчас
есть другая - та что всегда
есть вода которую пьют чтобы жить
и есть живая вода


7 мая 2010 г.

Philip Glass — Sesame Street — Geometry of Circles

Раз уж мы говорим об "Улице Сезам"...

Известный (например, по трилогии Quatsi) композитор-минималист Philip Glass как-то сделал клип для этого шоу:

29 апр. 2010 г.

6 апр. 2010 г.

Многопользовательские сессии в screen

Как создать многопользовательскую сессию в screen:
(Позволяет расшаривать сессию в консоли.)

  • Подготовка

    $ sudo cmod 755 /var/run/screen/ $ sudo chmod u+s $(which screen) 
  • Создание сессии (пользователь alpha)

    $ screen -S shared-session-name [CTRL+a] [:] multiuser on [ENTER] 
  • Подключение к сессии (остальные пользователи)

    $ screen -x alpha/shared-session-name 
  • После работы

    $ sudo chmod u-s $(which screen)

9 мар. 2010 г.

Twitter

Всякую мелочь теперь пишу в Твиттере.

Если кто не читает, welcome.

@agladysh

6 мар. 2010 г.

Победа над ЖЖ

ЖЖ банит мой RSS-reader, beta.bloglines.com

Наконец-то не выдержал и сделал себе прокси на VPS-ке.


location /moreboev {
proxy_pass "http://moreboev.livejournal.com/data/atom";
}


nginx рулит!

21 февр. 2010 г.

Luabins 0.2

Зарелизил luabins 0.2

http://github.com/agladysh/luabins
  • Производительность luabins.save() удвоена.
  • Добавлено API для сохранения данных в формате Luabins без Lua.
Формат сохранённых данных не изменился.

10 февр. 2010 г.

Тёплые коты: текст песни

Flёur. Тёплые Коты.

Зима так холодна, так бесприютна и бела.
Скоро будет неизбежный дефицит тепла.
Начнём спасаться мы от этой теплонищеты,
Значит, снова будут в моде тёплые коты.

Будем гладить всех мурчащих,
Тёплых, сонных, настоящих,
Запуская руки в меховые животы.
Переменчивы все вещи
В странном мире человечьем.
Постоянны мягкие мурчащие коты.

Все бегут домой с холодных улиц и пустых,
Значит, снова будут в моде тёплые коты.
Тёплые коты летят по небу облаками.
Мысли переполнены мурчащими котами.

Когти могут впиться в ногу,
Но нога,поверь- не сердце.
Кошки так не ранят, как людишки иногда.
Тёплый кот меня утешит,
Ляжет на больное место
И усну я, обнимая тёплого кота.

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

Будем гладить всех мурчащих,
Тёплых, сонных, настоящих,
Запуская руки в меховые животы.
Переменчивы все вещи
В странном мире человечьем.
Постоянны мягкие мурчащие коты.

Когти могут впиться в ногу,
Но нога,поверь- не сердце,
Кошки так не ранят, как людишки иногда.
Тёплый кот меня утешит,
Ляжет на больное место,
И усну я, обнимая тёплого кота.

Тёплые коты

6 февр. 2010 г.

Как "починить" /bin/sh в Ubuntu

В новых Убунтах /bin/sh показывает не на bash, а на dash. Это — правильно, поскольку sh это не bash. Dash ближе к sh и работает быстрее. Подробнее.

В очень многих скриптах, где написано

#! /bin/sh

Авторы на самом деле хотели сказать

#! /bin/bash

Такие скрипты больше не работают, поскольку используют фичи от bash-а. Это баг в скриптах, не в Ubuntu. Его нужно репортить.

Тем не менее, этот баг иногда нужно обойти не меняя скрипт. В интернетах советуют править руками симлинк. Это не правильно.

Правильная команда:

$ sudo dpkg-reconfigure dash

5 февр. 2010 г.

28 янв. 2010 г.

Запуск программы с изменённым окружением

Если нужно выставить (или переопределить) для запускаемой программы какую-нибудь переменную окружения, проще всего сделать так:

$ MYVAR=1 MYOTHERVAR=2 ./myscript.sh args

Но, иногда, такая запись не работает. Например тогда, когда нужно выполнить программу от имени другого пользователя. На помощь приходит /usr/bin/env:

$ sudo su - other_user -c '/usr/bin/env "MYVAR=1" \
"MYOTHERVAR=2" ./myscript.sh args'


(На самом деле должно записываться в одну строчку.)

18 янв. 2010 г.

Цитата

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
--Brian Kernighan

15 янв. 2010 г.

Git: рассылка уведомлений о коммитах по e-mail

Как настроить рассылку уведомлений о коммитах в центральном гитовом репозитории, в который все пользователи сливают свои изменения?

В гите есть готовый пример хука для этого, post-receive-email.

Документация — в начале файла.

Как устанавливать:

1. Подключаем файл

В документации рекомендуют вызывать этот файл из post-receive хука. Если вы можете найти у себя в системе нужный post-receive-email от гита, и удовлетворены его расположением, так и поступите (не забудьте, что файл должен иметь права на исполнения от имени пользователя, который делает push в репозиторий).

Иначе — тупо замените .git/hooks/post-receive в своём репозитории на post-receive-email. Не забываем про chmod +x и про то, что имя файла должно быть строго post-receive.

2. Настраиваем рассылку

Находясь внутри вашего репозитория выполните команды:

$ git config hooks.mailinglist "<адреса@куда.отправлять.почту, через@запятую>"
$ git config hooks.emailprefix "[Префикс к теме письма] "
$ git config hooks.envelopesender "от@кого.письмо"

Также рекомендую прописать описание проекта в .git/description (обратите внимание, что этот файл — не расшарен между репозиториями).

3. Проверяем

$ ./post-receive refs/heads/master OLD_SHA NEW_SHA

Вместо OLD_SHA и NEW_SHA вставляем два SHA1-хеша коммитов в репозитории ("голова" до имитируемого нами push и после него). Любуемся на текст письма.

Если всё работает, то тестируем отправку (на сервере должен быть настроен sendmail):

$ ./post-receive refs/heads/master OLD_SHA NEW_SHA | sendmail -t -f "$(git config hooks.envelopesender)"

Если письмо пришло, хук настроен.

10 янв. 2010 г.

Как хранить гитовые хуки в гите

Гитовые хуки — довольно важная часть пайплайна разработки. С их помощью контролируется то, что и как коммитится в репозиторий.

Хуки индивидуальны для каждой рабочей копии.

Иногда хуки нужно править, и тогда их приходится массово менять на каждой машине. Это не удобно, и хочется, чтобы хуки брались прямо из рабочей копии.
Всё просто: нужно заменить .git/hooks на симлинк в соотвествующую папку в рабочей копии.

Решение, правда, не идеальное. Оно требует, чтобы свежая версия хуков жила во всех рабочих ветках. Иначе, по понятным причинам, будут происходить нехорошие вещи.

9 янв. 2010 г.

Первая превью-версия Lua 5.2

Опубликована первая превью-версия Lua 5.2.

Живёт вот здесь:


Анонс здесь:


1 янв. 2010 г.

2010


С Новым Годом!

Ура!