Category: еда

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

Необъяснимая дурь

Поздравляли женщин с 8 марта на работе. Ну ок, аутистов, которые ненавидят праздники - там один я, остальным вроде бы интересно.

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

В общем, на вопрос "куда девать остатки еды", я предложил открыть окно и с проклятиями выбросить туда. А для яблок и апельсин построить на окне огромную рогатку и проверить, как далеко они улетят, заодно построить таблицы стрельбы.

Зачем нужен опенсорс

Вот если бы скайп делали не копченые пидарасы из микрософта - то от http://: он даже если бы и упал - это починили бы за 1 день, после первого же крэша, в который можно было бы заглянуть с отладчиком.

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

Чревоугодие

Зашли с женой в ресторан "Фрески", что возле Дворца Республики.
Внезапно весьма заебись - в 6 вечера нашелся свободный столик, еда чрезвычайно вкусная, порции не сильно большие - можно попробовать несколько блюд, цены стандартные (получилось что-то в районе 70 баксов на двоих), официанты адекватные.
Немного шумновато в плане музыки, но "живая музыка" появилась, когда мы уже уходили и в основном зале, а в зале для некурящих просто пару немых телевизоров и играет что-то из колонок. Для обсуждения работы, наверно, не пригодно, но для чревоугодия - самое то.

О креветках

Я очень люблю жрать креветки.
Единственные нормальные креветки в этом городе продаются в целиком замороженном виде в коробке. Всем они хороши, но у них есть один недостаток - их нужно чистить. Поэтому я их жарю целиком, после разморозки и замачивания в разного рода специях, а потом сдираю с них чешую.
И каждый раз, когда я это делаю (одна порция на съедение - минут 10 зачистки), меня мучает мысль - кто чистит креветки в ресторанах, сколько ему за это платят и есть ли в Минске рестораны, где подают блюда с огромными креветками (ну и прочими морскими червецами и гадами)?

Грех динамических типов

Стоило сначала поиспользовать кложурь, а потом руби - буквально через месяц во все проекты вползли гопнетные dynamic, а я сижу читаю вот такое http://stackoverflow.com/questions/1653046/what-are-the-true-benefits-of-expandoobject и борюсь с искушением воткнуть его во все места проекта, где статик типы вызывали ад лапши из паттернов.
Анальные боги хаскеля и теории категорий меня проклянут, надо срочно каких зависимых типов вкурить или скалой обдолбаться, пока не поздно. Или продолжить употребление тяжелых веществ и сделать еще какое-нибудь грехопадение на х-ле.

Жесть в этих ваших америках

http://ivan-gandhi.livejournal.com/2491645.html?thread=34761213&style=mine#t34761213
"Женщина пришла на ИТ-конференцию и внезапно среди посетителей - психи, которые хватают ее за жопу, навязчиво пытаются познакомится, приглашают на "кофе", итд".
Это что, правда что ли, на конференциях психи с фетишем женщин-программисток специально за ними охотятся?

Запрет на курение в общепите в РБ

http://dengi.onliner.by/2013/04/25/kur-10
http://craneop.livejournal.com/66948.html
Надеюсь, сия инициатива пройдет, хотя она по самоубийственности для властей находится где-то между свободными выборами и запретом на парковку в рандомных местах.
Курильщики откровенно заебывают как дымом так и засиранием бычками окружающего пространства, надеюсь они все умрут в мучениях.

Ояебундестаг

http://juick.com/zamotivator/2317894
Забиватор мутит веб-приложение на Scala+Lift.
Я сдуру решил глянуть, чо там за проблемы. В целом, надо как-то прекращать практику заглядывания "ради интереса" в чужие проекты, ибо голова не казенная.
Во-первых, гит я знаю плохо и переключится на ремоте branch так и не смог. Ну, тут все очевидно - надо изучать и пользоваться, это мне просто лень. А так - скачал просто архив
Во-вторых, слава богу, что ждевелоп заставил забиватора использовать мавен - он хоть и безумный, но по крайней мере, нормально документирован и я его уже использовал.
В-третьих, эта хреновина на mvn jetty:run выкачала половину интернета, по-моему. Этот странный фетиш разработчиков на тему "повторного использования кода" им боком вылезет еще неоднократно - когда ради 1 функции тащится целый фреймворк, а он за собой еще 100500 зависимостей - шансы налететь на конфликты версий и прочее червие сильно возрастают. А мавен это делает очень легким, оказывая медвежью услугу. Ну, там хотя бы лишние зависимости исключить можно и то хлеб.
В-четвертых, оно ругается на то, что там используются две разных версии Scala-compiler. Т.е. см. выше - про версии, "с приездом вас".
В-пятых, оно собирается ровно один раз. Второй раз надо удалять target, иначе конфликты типов вида
Collapse )

В-шестых, забиватор частично прав насчет Lift - там просто реальный майндфак и хипстерство, документация в гугло-группе и на SO, разобраться конкретно с его проблемой можно, но радости от этого не наблюдается никакой.
Причина, в целом, классическая - веб-фреймворки (в отличие от библиотек) - очень негуманная штука. Стоит выйти за рамки HelloWorld и монолитных приложений и оказывается, что любая задача выливается в копание по исходникам, SO, форумам и раскиданной по сотне мигрирующих туда-сюда сайтов.

ЗЫ: Забиваторъ утверждает (http://juick.com/2320702) что мавен выбрал самостоятельно.

Scala

Читаю книжку Одерского, до основной шизы еще не добрался, но такое ощущение, что в скале чрезмерно много синтаксического сахара. Типа "тут вы можете скобки опустить, а тут вместо скобок использовать фигурные скобки, а тут мы прямо в параметрах класса сделаем их полями, а в multiline string literal вы можете сделать отступ и stripMargin" и прочая и прочая в том же духе.
Основное из этого, видимо - function literals и вызов методов в стиле a methodName b, без точек и скобок, что делает код более лаконичным, одновременно позволяя при желании превратить код в нечитабельный ад.

Заодно по наводке jdevelop глянул на http://spray.io/ https://github.com/spray/spray/wiki
Примеры там, конечно, знатный abuse возможностей языка и вычислений на типах, типа extraction-директив с HList в качестве параметра типа.

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

PS: Вот, к примеру:
https://github.com/spray/spray/blob/master/docs/documentation/spray-routing/code/docs/HttpServiceExamplesSpec.scala

В SimpleService HttpResponse реализован как html-код написанный прямо внутри скала-кода. Сижу уже 30 минут ищу, где это преобразование реализовано и как. Т.е. не видя отдельных литералов и их типов (которые без загрузки всего оного кода с зависимостями в IDE/интерпретатор еще и не увидишь), с ходу догадаться, что происходит, достаточно сложно. XML literals, встроенные в язык и где-то implicit для конверсии.

PPS: implicit evidence:
http://jim-mcbeath.blogspot.com/2008/11/scala-type-infix-operators.html
http://stackoverflow.com/questions/3427345/what-do-and-mean-in-scala-2-8-and-where-are-they-documented

По-моему, это уже достаточно сложно, чтобы увлечь психов и стать новыми крестиками. Вот xeno_by еще приделает макросы - и совсем хорошо станет.

О TDD, ретроградстве и варении в собственном соку

По мотивам предыдущего поста про taucraft: решарпер там или не решарпер, но Test-Driven-Development штука (вроде бы) объективно полезная.

При этом я почти уверен, что я TDD не использую, т.к. уже 15 лет занимаюсь всякой хренью в экстренном темпе, тесты у меня все заключаются в "проверить 10 раз чтобы миграция 30 Гб БД прошла успешно" и "отчетность видна от имени пользователя, который ей будет пользоваться".

Правильность же реализации/рефакторинга/замены всего с нуля проверяется за счет двойной записи бухгалтерии, наличия нескольких путей расчета одной и той же цифры и статических гарантий (т.е., например, я никогда не стану делать отчет отдельными запросами по списку аналитических кодов, если его можно сделать одним select/group by, при этом в него нужная аналитика попадет гарантированно). Плюс функциональщина, статические типы, кодогенерация - ну невозможно ошибится в коде, если у тебя источник информации для кода всегда один. А ошибки вида "не так спроектировали" - тестами не лечатся.

Еще я не использую разного рода современные инструменты, версии студии меняю через 2-3 года после их выхода, склонен использовать самодельные компоненты вместо готовых и вообще страдаю ретроградством.

Проблема в том, что у меня совершенно нет критериев оценки, где я прав и пропускаю ненужные buzz-words мимо ушей, а где не прав, и упускаю полезные инструменты. Потому что на всех работах инструменты/платформы/методики работы выбираю я и обсудить этот выбор на адекватном уровне не с кем.
Раньше хотя бы был вменяемый критерий "успеем проект сдать вовремя или не сделаем вообще", а сейчас и он смысл потерял - это вообще перестало зависеть от используемых технологий, а стало зависеть от наличия бабла у клиентов и правильной организации труда.

Т.е. та же проблема, что в любых НИИГиТ - сидит 50летний мега-гуру, всю жизнь варившийся в собственном соку, который уже не в состоянии различить, где бессмысленная гонка за новизной или просто неподходящая технология, а где реально нужно отрывать жопу от стула и менять себе мозг.