Category: еда

Category was added automatically. Read all entries about "еда".

office

в шапке

Мой младший член семьи спит в шапке. Залезает в нее с ногами и хвостом, и спит в ней.

У нас во дворе живет собака, и как-то в конце февраля она нашла что-то в траве в трех метрах от нашего дома, раздался писк, будто от резиновой игрушки. Жена заподозрила, что это может быть не игрушка, пошла проверить. Собака держит находку в пасти и показывать отказывается. Зная собакину страсть к обуви, жена предложила ей взамен босоножку. Собака тогда открыла рот, и оттуда выпал свернутый комком зверь, которого мы тут же подобрали. Оказалось - бельчонок. Примерно недельного возраста, меха еще совсем мало, глаза еще не открылись. Но целый, повреждений не видно, разве что одно колено чуть опухло.

Collapse )
Стали его дома растить. В англоязычном интернете в таких случаях рекомендуют обращаться в ближайший центр реабилитации белок. Позавидовали тем странам, где такое бывает. От нас до ближайшего часов десять на самолете лететь, небось. Но узнали, что надо его во-первых хорошо согревать, в таком возрасте они сами еще плохо с терморегуляцией справляются, а во-вторых кормить его стоит детским питанием ("формулой") для котят. Коровье молоко или там человечье детское питание им не годятся, от них белки мрут. Знакомая ветеринарша подкинула контакты местного специалиста, который уже много белок вырастил, пообщались с ним, да еще с другой ветеринаршей, у которой тоже белка росла. Тут это не редкость, бельчонка найти. Благодаря их советам, бельчонок у нас выжил и чувствует себя весьма неплохо. Первые несколько недель он жил с закрытыми глазами, почти не двигаясь. Утром возьмешь в руки, чувствуешь, что лапы у него холодные, мерзнет. Придумали рядом с его коробкой на ночь оставлять чайник с водой в режиме подогрева, этого небольшого источника допольнительного тепла хватило, мерзнуть перестал. Кормить его надо бы каждые 3-4 часа. Жена как к младенцу вставала по ночам, кормила. Если ночью бельчонок долго не ел, утром во время еды могут быть судороги из-за нехватки глюкозы. Исправляется небольшим количеством меда внутрибелочно. Мед очень любит!
Теперь ему уже ~два месяца, глаза открыл, подрос, покрылся густой шерсткой, мерзнуть перестал, ночью тоже сам справляется, можно не вставать. Бегает по дому, лазит по дивану, шторам и карнизам. Очень любит круги наматывать по джинсам на мне, как на дереве. Начинает есть фрукты. Очень любит яблоки, также ест гуаву и манго. Всякие орешки пока игнорирует, за еду не считает. Людей не боится, сам бежит в руки. Очень любит мыться в теплой воде, в ней млеет и расслабляется. В связи с этим норовит теперь в чашку с чаем залезть, приходится или рукой кружку закрывать, или на время чаепития закрывать бельчонка в комнате, за что он потом на нас ругается, цокает. Может во время еды забраться по штанам и по спине на руку и залезть прямо на вилку. Ночью спит теперь в дупле - корзинке, подвешенной у карниза. Днем может спать на карнизе и, поскольку тот скользкий, шлепаться оттуда вниз, когда крепко заснет. Очень славный зверь, такого дома держать прям не хуже кота, даже интересней. Со временем планируем выпустить на волю, когда подрастет и лучше с местными фруктами освоится.

Collapse )
office

монады в сахаре

Недавно видел жалобу на то, что с монадами код разрастается, и простые выражения порой требуют несколько строчек для записи (речь про do-нотацию была). Сейчас осваиваю потихоньку язык Idris - это такой правильный хаскель с полноценными зависимыми типами (о которых чуть позже) и кучей встроенных плюшек для создания eDSL'ей (об этом вероятно еще позже). Так вот, в идрисе для монад сахара еще подсыпали, хочу поделиться. Пусть у нас есть функция readInt типа String -> IO Int, запрашивающая и получающая число откуда-то из внешнего мира, и мы хотим прочитать два числа и вывести их сумму. В языках вроде Clean или ML, где для монад вообще никаких спецсредств нету, это выглядит весьма печально. В хаскеле и идрисе есть привычная всем do-нотация:
main = do
  a <- readInt "a"
  b <- readInt "b"
  print (a+b)

Вот и получилось много строк на ровном месте. Первый кусочек сахара: monad comprehensions. Они когда-то были в хаскеле, потом потерялись, есть ли сейчас - не знаю. Идея в том, чтобы list comprehensions обобщить с монады List на произвольные монады:
main = [a + b | a <- readInt "a", b <- readInt "b"] >>= print

Не особо короче, чем вариант do с фигурными скобками и точками с запятой, но сама идея занятная.

Еще один вариант, доступный и в хаскеле: спрятать весь plumbing в операторы. Это как раз происходит, если вспомнить, что монада это функтор, а в наших языках еще и аппликативный:
class Functor f => Applicative (f : Type -> Type) where 
    pure  : a -> f a
    (<$>) : f (a -> b) -> f a -> f b
и
main = (pure (+) <$> readInt "a" <$> readInt "b") >>= print

(это на идрисе, в хаскеле некоторые значки будут другими, но в целом то же самое)

Второй кусочек сахара: idiom brackets. Специальный синтаксис для аппликативных функторов, где функции автоматически отображаются функтором с помощью pure, а их применения заменяются на применения образов через <$>:
main = [|readInt "a" + readInt "b"|] >>= print

(рассахаривается в предыдущий вариант)
В хаскеле похожая штука есть, но выглядит довольно страшно.

Еще пример для закрепления. Вот такую функцию
m_mul : Maybe Int -> Maybe Int -> Maybe Int
m_mul (Just x) (Just y) = Just (x * y)
m_mul _ _ = Nothing

можно записать как
m_mul x y = [| x * y |]
office

Skolko eto budet v rublyakh?

По мотивам аналогичных постов про Германию, Швейцарию и Англию о том, "сколько стоят разные эмигрантские удовольствия в рублях". Что наблюдаю в Таиланде:

1 кВт/ч - 3.5 рубля.
1 литр бензина - 42 рубля за 91-й и 38 рублей за 95-й.
Поездка на скайтрейне (это как метро, тольно не под городом, а над ним) - 20-40 рублей в зависимости от расстояния, на метро аналогично.
Килограмм свинины (pork loin) - 150 рублей, куриные грудки - 80, ножки - 70.
Капучино в старбаксе - 135 (± 15 в зависимости от размера). Update: в другом старбаксе - подальше от пляжа - 95 ±10.
Интернет безлимитный ADSL 7 мегабит/с - 1000 р/месяц.
Мобильный - 2 рубля/минуту.

Аренда жилья в приличном районе Бангкока:
Хорошая студия или маленькая двухкомнатная квартира - 20 тысяч в месяц.
Двухкомнатная побольше - 30к/мес. Три-четыре спальни - 40-50к рублей в месяц.

Аренда жилья на сравнительно дорогом тропическом острове:
Домик-студия на территории отеля, с регулярной уборкой и в 30 метрах от моря - 9000/месяц.
Двухэтажный таунхаус с гостиной, кухней, двумя спальнями и двумя туалетами - 15-20к/мес. Купить такой можно за 2-2.5 миллиона. Большой дом с гаражом и своим бассейном - 30-50к/мес.

Бонус: помидоры 57 руб/кг, картошка 35 руб/кг, молоко 37 руб/литр, манго 59 руб/кг, ананас 36 р за штуку, папайя 32 руб/кг, свежевыловленная акула 79 руб/кг, лягушки 139 руб/кг. ;)
office

Про тайский язык

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

Подобно китайскому, тайский язык - тональный. Это значит, что один и тот же слог можно произнести несколькими способами и получить разные значения. Например "ма" (с длинной "а") средним тоном - это "приходить", высоким тоном - "лошадь", возрастающим тоном - "собака". Произнесенное определенным образом "мадам" может означать "черная собака". Если в китайском четыре тона, то в тайском - пять (в некоторых диалектах до семи).

Тайская письменность - хитрая алфавитная, точнее абугида. В "алфавите" 80 букв: 44 согласных, 32 гласных и 4 тоновых маркера. Согласные пишутся слева-направо, а гласные пляшут вокруг них: они могут быть справа от согласной, слева, сверху, снизу и даже с двух сторон. Или могут вообще не быть, но подразумеваться.Collapse ) "политика" - "найобай" (นโยบาย).