Дорогой друг, читающий эту заметку. Никогда, блять, не пиши ToJSON/FromJSON руками, особенно если оно как-то меняет данные, особенно если пишешь только ToJSON. // а то я тут такими извращениями теперь занимаюсь по типу let valsToTimeDatum = fmap ((map (uncurry TimeDatum)) . (zip timeSeries))
Спасибо.
Надо заказать пиццу на адрес "St. Mary's Church", вот ржач будет :))))
Пиздец! Пока мы тут уничтожаем матриархат, на западе творится вот такая вот хуйня https://github.com/django/django/pull/2692
Блять, ну как так можно, у них там нигерские хуйцы в глазах застряли штоле?
Вчера опубликовали почту всяких неонашистов https://b0ltai.wordpress.com/2014/05/26/%d1%87%d0%b0%d1%81%d1%82%d1%8c-%d0%bf%d0%b5%d1%80%d0%b2%d0%b0%d1%8f-%d0%b7%d0%be%d0%bb%d0%be%d1%82%d0%be-%d1%82%d1%80%d0%be%d0%bb%d0%bb%d0%b5%d0%b9/
Я ее пролистал, пощу приколюхи:
Денис Швецов в комментариях НГ. Как видно из скрина, он получил таки за хомячков 25к
* Северо-Западное агентство услуг. Контора, которая пилит на всяких организациях мероприятий для власти. Разобраться так у меня полностью и не получилось, там какие-то питерские мероприятия, селигер, етц., писем там их много, кто хочет — может полистать.
Как же охуенно https://www.youtube.com/watch?v=0uBOtQOO70Y (не шоу, а просто их похожесть и факт появления в одинаковой одежде)
наконец-то пришло письмо от ebay
с текстовой просьбой пойти поменять пароль
пошёл, нажал на ссылку http://www.ebay.com/reset
пустая страница
Хохлы, бандерье фашистское, твари, гореть вам в аду! Вы обязаны, суки, нам помочь! Почему вы, пидары укропские, не едете к нам отдыхать, а? Мы ждем вас и где вы, а? По схронам попрятали все ваши инвестиции и все ваши дотации нам положенные? Гниды америкосские, вот! Крым - наш! Луганск, мы с тобой! И вообще, ждем вас до 1 октября, и, если ни однин ваш бандерлог не приедет в Крым, то это будет расцениваться, как акт геноцида русских крымчан! Понятно, да? Или, как говорится "милости просим" или "радиоактивный пепел"! Думайте.
Ох уж эти ваши хаскели. Захотел простую опцию в командную строку запилить. Гуглом нашёл имеющийся из коробки System.Console.GetOpt
. Читаю (и пытаюсь адаптировать) второй пример внизу:
...
(o,n,[] ) -> return (foldl (flip id) defaultOptions o, n)
...
Что за flip id
?
λ> :type flip
flip :: (a -> b -> c) -> b -> a -> c
λ> :type id
id :: a -> a
λ> :type (flip id)
(flip id) :: b -> (b -> c) -> c
Поломал 10 минут голову пока примерно не понял что происходит. Ну, ок, идём дальше:
(OptArg ((\ f opts -> opts { optOutput = Just f }) . fromMaybe "output")
Что за fromMaybe "output"
? То мы сверху defaultOptions делаем, то мы снова делаем что-то подобное им, только ещё и неясно зачем "output". Убрал fromMaybe
-часть, поборолся с компилятором и понял, что эта "магия" именно потому, что там у нас уже точно будет Just значение, но мы всё равно получим Maybe foo. Короче чисто чтоб компилятор успокоить.
В общем, люблю хаскель, с пользой поупражнялся в типах.
Держитесь от этого подальше не то оно сделает ПОТРАЧЕНО ваш вечер: http://www.reddit.com/r/WastedGifs