Pull to refresh
2
0
Send message

Haskell. Монады. Монадные трансформеры. Игра в типы

Reading time4 min
Views27K
Еще одно введение в монады для совсем совсем начинающих.

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

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

С обычными функциями все понятно. Если имеется функция типа «a->b», то подставив в неё аргумент типа «a», вы получите результат типа «b».

С монадами все не так очевидно. Под катом подробно расписано, как работать с do-конструкцией, как последовательно преобразуются типы, и зачем нужны монадные трансформеры.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments51

Как сделать так, чтобы у вас не кончались идеи: метод Айзека Азимова

Reading time4 min
Views98K
image

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

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

Азимов не с рождения писал тексты 8 часов в день 7 дней в неделю. Он разрывал страницы, отчаивался, и периодически у него случались неудачи. В автобиографии Азимов делится тактикой и стратегией, выработанной им для того, чтобы идеи больше не заканчивались.

Давайте украдём у него всё, что можно.
Читать дальше →
Total votes 59: ↑59 and ↓0+59
Comments40

Вопросы и ответы по ИТЭР

Reading time7 min
Views25K
Q: Что такое ITER?

A: ITER (ИТЭР, International Thermonuclear Experimental Reactor) — экспериментальный термоядерный реактор на базе концепции токамака. Проектирование в несколько подходов (разных вариантов) шло с 1992 по 2007 год, сооружение — с 2009 по настоящее время (и продолжается). Токамак ИТЭР будет примерно вдвое больше предшественников по всем размерам, примерно в 10 раз объемнее и тяжелее, в 15 раз дороже, и в 25 раз мощнее с точки зрения термоядерной мощности.

image

Q: Какие у него цели?

A: Набор основных задач ИТЭР можно ранжировать так:
  • Продемонстрировать возможность управляемого термоядерного синтеза с временем горения и мощностью промышленного масштаба.
  • На практике столкнуться и решить инженерные вопросы создания термоядерного реактора промышленного масштаба — при всей банальности это одна из важнейших и сложнейших задач ИТЭР, без которой невозможно понимание перспектив развития термоядерных электростанций в целом.
  • Исследовать оставшиеся вопросы физики плазмы токамаков, в т.ч. возможно найти какие-то ее особенности, которые упростят создание промышленных термоядерных реакторов.
  • На практике разработать и опробовать технологию размножающих тритий бланкетов — совершенно необходимая деталь для токамаков, ориентирующихся на термоядерную реакцию слияния дейтерия и трития.
  • Накопить опыт организации строительства и эксплуатации термоядерных реакторов/электростанций


Q: А какая мощность у ИТЭР?
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments30

Радиационная опасность: реакторы деления против реакторов синтеза

Reading time9 min
Views51K
image

Это симпатичное синее свечение Вавилова-Черенкова — единственная возможность для человека напрямую ощутить (в данном случае — увидеть) радиацию. К сожалению, наши органы чувств ничего не скажут нам, даже если мы попадем под удар ионизирующего излучения, которое убивает за минуту. Радиационная опасность АЭС стала частью современной культуры, на которой играет множество конкурентов ядерной энергетики — и идеологи термоядерных программ не остаются в стороне, обещая “чистую”, лишенную радиации, энергетику.

Так ли это?
Total votes 84: ↑84 and ↓0+84
Comments67

Всё, что я не понимал про устройство Firefly, было на арктической яхте

Reading time6 min
Views94K
Когда я смотрел сериал, то в упор не понимал, как можно спрятать контрабанду на таком маленьком судне. Когда мы начали грузить еду на арктическую яхту в реале, я как-то сразу быстро разобрался. И вообще потом всю дорогу меня не покидало чувство, что примерно как-то так должен быть устроен маленький космический корабль в будущем.


Двигатель внутреннего сгорания. Слева и справа за стенами – баки с соляром. Итого мы везём чуть более 4,5 тонн топлива при потреблении около 2,5 литров в час.


Панель управления питанием

Расскажу про немного инженерную часть и про быт. Не то чтобы это прямо хардкорный IT-топик, но, думаю, вам будет интересно.
Особенно, про возможность удалённо работать онлайн во время такого путешествия.
Осторожно, трафик.
Читать дальше →
Total votes 188: ↑169 and ↓19+150
Comments126

Создание пластилиновой анимации для использования в мобильной игре

Reading time8 min
Views41K
В статье рассказывается о том, как сделать графику для компьютерной игры, используя пластилин или глину, и что для этого понадобится. Предполагается разбить статью на две части.

Первая часть перед вами, и она будет о том, как собрать дома студию для создания пластилиновой анимации, а также про особенности съёмки и используемые при этом приёмы. Собственно, я программист, поэтому опыта в создании игр у меня больше, чем в съёмке, так что материал в первой части будет проще, и может содержать какие-либо неточности.

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


Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments21

Научно-технические мифы, часть 1. Почему летают самолеты?

Reading time13 min
Views157K
В современном мире многие люди интересуются наукой и техникой и пытаются хотя бы в общих чертах понять, как работают вещи, которые их окружают. Благодаря этому стремлению к просвещению существует научно-просветительская литература и сайты, подобные Гиктаймсу. А поскольку читать и воспринимать ряды формул большинству людей затруднительно, то излагаемые в подобных изданиях теории неизбежно подвергаются значительному упрощению в попытке донести до читателя «суть» идеи с помощью простого и понятного объяснения которое легко воспринять и запомнить. К сожалению, некоторые из подобных «простых объяснений» являются в корне неверными, но при этом оказываются настолько «очевидными», что не подвергаясь особому сомнению начинают кочевать из одного издания в другое и нередко становятся доминирующей точкой зрения, несмотря на свою ошибочность.

В качестве одного из примеров попробуйте ответить на простой вопрос: «откуда возникает подъемная сила в крыле самолета»?



Если в Вашем объяснении фигурируют «разная длина верхней и нижней поверхности крыла», «разная скорость потока воздуха на верхней и нижней кромках крыла» и «закон Бернулли», то я вынужден Вам сообщить, что Вы скорее всего стали жертвой популярнейшего мифа, который преподают порою даже в школьной программе.
То есть это как это миф? Ведь там же все внятно и с доказательствами объясняется!
Total votes 130: ↑118 and ↓12+106
Comments176

Кем был Рамануджан?

Reading time38 min
Views107K

Перевод поста Stephen Wolfram "Who Was Ramanujan?".
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации

Содержание


Удивительное письмо
Начало истории
Кем был Харди?
Письмо и его последствия
Стиль работы Рамануджана
Видеть то, что важно
Истина или объяснение
Переход в Кембридж
Рамануджан в Кембридже
Что было дальше
Что стало с Харди?
Математика Рамануджана
Факты — случайные или нет?
Автоматизация работ Рамануджана
Современные Рамануджаны?
Что было бы, если бы у Рамануджана была Mathematica?
На этой неделе вышел фильм "Человек, который познал бесконечность" (который мне показали еще прошлой осенью Манджул Бхаргава и Кен Оно), так что я не мог не написать о его главном герое — Сринивасе Рамануджане.



Удивительное письмо


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

Около 31 января 1913 года математик по имени Харди из Кембриджа, Англия, получил пакет документов с сопроводительным письмом, которое начиналось так: "Дорогой сэр, хочу представиться вам: я клерк из бухгалтерии порта в Мадрасе с зарплатой £20 в год. Мне 23 года....». И продолжал: писал о том, что достиг «поразительного» прогресса в теории расходящихся рядов по математике и решил давнишнюю проблему распределения простых чисел. Сопроводительное письмо заканчивалось словами: "Я беден; если вы решите, что здесь есть что-нибудь ценное, я хотел бы, чтобы мои теоремы были опубликованы… Я неопытен, и любые ваши советы ценны для меня. Прошу извинить меня за доставленные неудобства. Искренне ваш, с уважением, С. Рамануджан".
Читать дальше о Рамануджане...
Total votes 86: ↑79 and ↓7+72
Comments58

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views807K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 533: ↑517 and ↓16+501
Comments365

Как быстро раздать wifi с ноутбука — 3 простых команды

Reading time2 min
Views722K
Периодически я сталкиваюсь с ситуациями, когда необходимо быстро настроить раздачу интернета через WiFi со своего ноутбука и под рукой нет специальной программы. Вот и сейчас мой роутер приказал долго жить и оставил дом без интернета. А не так давно телефон друга отказался подключаться к моему роутеру и мы быстро организовали дополнительный wifi-сигнал с моего ноута, что спасло ситуацию.

И помогают мне в этом 3 команды:
netsh wlan set hostednetwork mode=allow
netsh wlan set hostednetwork mode=allow ssid=FastWifi key=12345678 keyUsage=persistent
netsh wlan start hostednetwork

Под катом я детально расскажу как и что нужно делать и покажу на примере настройки Windows 7.

Читать дальше →
Total votes 66: ↑39 and ↓27+12
Comments21

5 организаций, которые дарят студентам ВУЗ'ов платные инструменты для разработки

Reading time3 min
Views34K
image

Привет Хабр!

На сегодняшний день многие организации устраивают для студентов своеобразные «акции», позволяющие получить от них бесплатный софт, либо какие-то бонусы и привилегии (а иногда и не от самих организаций, а от их партнеров).

Итак, если ты читаешь этот пост, являешься студентом ВУЗа и у тебя есть желание поучаствовать в программе (возможно даже не одной) бесплатного доступа к различному софту и другим плюшкам от крупных организаций — прошу под кат.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments44

Через тернии к Haskell. 1/2

Reading time25 min
Views228K


Первая часть короткого и жесткого введения в Haskell. Вторую часть можно найти здесь

tl;dr: Очень краткое и сжатое введение в Haskell.


UPD. Если туториал вам понравился, черкните пару строк автору оригинальной статьи. Человеку будет приятно ;)
Классные картинки, много текста и вынос мозга
Total votes 137: ↑133 and ↓4+129
Comments52

«Страшные» абстракции Haskell без математики и без кода (почти). Часть I

Reading time31 min
Views48K
— Для чего нужны монады?
— Для того, чтобы отделить чистые вычисления от побочных эффектов.
(из сетевых дискуссий о языке Haskell)

Шерлок Холмс и доктор Ватсон летят на воздушном шаре. Попадают в густой туман и теряют ориентацию. Тут небольшой просвет — и они видят на земле человека.
— Уважаемый, не подскажете ли, где мы находимся?
— В корзине воздушного шара, сэр.
Тут их относит дальше и они опять ничего не видят.
— Это был математик, – говорит Холмс.
— Но почему?
— Его ответ совершенно точен, но при этом абсолютно бесполезен.
(анекдот)

Когда древние египтяне хотели написать, что они насчитали 5 рыб, они рисовали 5 фигурок рыб. Когда они хотели написать, что насчитали 70 людей, они рисовали 70 фигурок людей. Когда они хотели написать, что насчитали в стаде 300 овец, они… — ну, в общем, вы поняли. Так и мучились древние египтяне, пока самый умный и ленивый из них не увидел нечто общее во всех этих записях, и не отделил понятие количества того, что мы подсчитываем, от свойств того, что мы подсчитываем. А потом другой умный ленивый египтянин заменил множество палочек, которыми люди обозначали количество, на значительно меньшее количество знаков, короткой комбинацией которых можно было заменить огромное количество палочек.

То, что сделали эти умные ленивые египтяне, называется абстракцией. Они подметили нечто общее, что свойственно всем записям о количестве чего-либо, и отделили это общее от частных свойств подсчитываемых предметов. Если вы понимаете смысл этой абстракции, которую мы сегодня называем числами, и то, насколько она облегчила жизнь людям, то вам не составит труда понять и абстракции языка Haskell — все эти непонятные, на первый взгляд, функторы, моноиды, аппликативные функторы и монады. Несмотря на их пугающие названия, пришедшие к нам из математической теории категорий, понять их не сложнее, чем абстракцию под названием «числа». Для их понимания совершенно не требуется знать ни теорию категорий, ни даже математику в объёме средней школы (арифметики вполне достаточно). И объяснить их тоже можно, не прибегая к пугающим многих математическим понятиям. А смысл абстракций языка Haskell точно такой же, как и у чисел — они значительно облегчают программистам жизнь (и вы пока даже не представляете, насколько!).
Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments36

Обсерватория Энгельгардта и планетарий КФУ

Reading time7 min
Views8.5K


Продолжаем тему Казани космической. В последний день своего выезда оказался в совершенно волшебном месте под названием Астрономическая обсерватория Казанского университета им. В.П. Энгельгардта. Место, где природа, наука и популяризация сочетаются просто в идеальной форме.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments13

Проекты лунных баз: вчера и сегодня

Reading time6 min
Views30K

В 1976 году с поверхности Луны стартовала возвращаемая капсула советского космического зонда «Луна-24». Она успешно прилетит на Землю, в 1978 году в колонке грунта найдут воду, но «Луна-24» станет последним аппаратом «золотой эры» изучения Луны. Следующий зонд выйдет на ее орбиту только в 1990 году, 14 лет спустя, а следующая мягкая посадка состоится только в 2013 году, спустя целых 37 лет. Нет ничего удивительного, что и проекты лунных баз стали редкостью. Но после периода охлаждения интереса к Луне проекты лунных баз стали появляться вновь, тем более, что появились новые технологии, которые можно было бы использовать при освоении Луны.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments7

Казань космическая

Reading time3 min
Views9.7K


Попал на несколько дней в Казань. По своему обычаю отправился искать космос. Раньше в столице Татарстана бывать не доводилось, поэтому знакомство с космической Казанью происходило параллельно с Казанью земной.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments27

Космический забег или четыре лекции за пять дней

Reading time7 min
Views6.2K

В этом году День космонавтики выпал на вторник. Поэтому я решил удушить жабу и, проведя мероприятия в Уфе, слетать в Москву. А, поскольку поездка без лекций — деньги на ветер, у меня получилось прочитать четыре лекции за пять дней. Также, в Москве я посетил музей космонавтики, виртуально состыковался с МКС на тамошнем симуляторе и заглянул в дом-музей С.П. Королева. Предлагаю вам отчет-репортаж об этих событиях.
47 фото, 13,4 мегабайт
Total votes 15: ↑15 and ↓0+15
Comments19

Повесть о создании классической RTS в домашних условиях с нуля + разбор основных этапов разработки (AI, сеть и т.д.)

Reading time38 min
Views77K
image

В статье речь пойдет об одном очень не новом проекте, который создавался совсем в другое время и совсем в других условиях. Это моя старенькая RTS под названием Земля онимодов (Onimod land). Чтобы было сразу понятно, что она собой представляет, можно посмотреть коротенькое видео:
Читать дальше →
Total votes 117: ↑116 and ↓1+115
Comments119

Как измеряли Луну

Reading time3 min
Views22K
1960-е, разгар «Лунной гонки». Еще совершенно непонятно, кто первым высадится на Луну — мы или американцы.

Более того, не очень понятно, на что сядет лунный корабль — на твердую поверхность или в пылевую трясину. Ведь по поводу поверхности Луны существует две теории: «пылевая», по которой Луна покрыта многометровым слоем пыли, и «метеорно-шлаковая», согласно которой пыль толщиной всего в несколько миллиметров лежит на твердой основе.

Чтобы узнать свойства поверхности, нужно прилуниться. А чтобы прилуниться, нужно знать свойства поверхности.

Для решения задачи в СССР начинаются наблюдения по методу «искусственной Луны». В разных районах Советского Союза ставят мачты, на которые поднимают и опускают диски диаметром несколько метров — искусственные луны.


Читать дальше →
Total votes 47: ↑47 and ↓0+47
Comments79

Не пельменем единым жив программист или история о том, как все успеть

Reading time7 min
Views138K
image

По заявкам трудящихся и в связи с переносом — возвращаю пост, который многих порадовал. Надеюсь НЛО будет не против.

На написание этого поста меня сподвиг замечательный пост «За что конкретно я ненавижу некоторых отдельно взятых маркетологов — или как айтишник по магазинам ходил». Сразу хочу извиниться за возможные опечатки — пишу с планшета, сидя в микроавтобусе и вытягивая сеть телефоном. Hacker's keyboard очень удобен для ssh-доступа, но большие тексты писать им не очень удобно.

IT- специалисты — народ любопытный. То соберут на базе микроконтроллеров автоматическую систему полива и освещения для любимого фикуса, то пропатчат прошивку мультиварки для раздачи торрентов. Но, по непонятной и загадочной причине, когда дело доходит до еды, пресловутый принцип DIY дает сбой. И наш герой, способный часами переделывать кинескоп старого телевизора в Луч Смерти, идет на кухню утолить голод соевым текстуратом пополам с гидроцеллюлозой и «коллагеновым сырьем».

В этом посте я хочу разрушить миф о том, что еда может быть либо быстрой и удобной, либо съедобной. Не секрет, что многим из нас приходится работать по 12 часов в сутки, что не способствует кулинарным подвигам с участием 28 приправ и перьев с зада дракона, омытых слезами единорога. Вы получите замечательную возможность посмотреть в глаза своей половинки на 8 марта после того, как она получит не контроллер для дистанционного управления шторой, а свежевыпеченный хлеб ручной работы рано утром. Если вам надоело есть синтетику — добро пожаловать под hubracut.
Читать дальше →
Total votes 269: ↑263 and ↓6+257
Comments293
1

Information

Rating
Does not participate
Registered
Activity