Pull to refresh
25
0.4
Сергей @IMnEpaTOP

DevRel

Send message

Три парадигмы F#

Reading time16 min
Views21K

Введение


Все, кто так или иначе связан с .NET программированием знает, что уже в следующую версию Visual Studio будет встроен новый язык программирования — F#, который позиционируется как функциональный, чем сразу, так уж повелось, вызывает подозрения в бесполезности. Для того, чтобы показать, что F# — куда больше, чем просто ФЯП (хотя и просто ФЯП — это очень немало), я и написал все нижеследующее.
Эта статья, несмотря на изрядную длину, не претендует на то, чтобы полностью описать всю функциональность языка. Это всего лишь краткий обзор, призванный продемонстрировать широкий спектр возможностей, каждая из которых заслуживает отдельной статьи, и даже не одной.
Кроме того, написав такой пространный пост, я хотел сделать задел на будущее, чтобы в дальнейшем мне не отвлекаться на незначительные вещи базового уровня. Конечно, сразу головой в пруд — это действенно, но и какой-никакой фундамент не помешает.
А уже в следующий раз я приведу пример на волнующую тему пригодности F# для обычной профессиональной программистской деятельности.
И еще раз, под катом действительно МНОГО текста. И не говорите потом, что я вас не предупреждал. =)
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments68

Забытый зум

Reading time6 min
Views23K
AutoCAD in 80s
AutoCAD начала 80-х

Зум появился очень давно, на заре эры графических интефейсов, с первыми векторными редакторами.
Но с тех пор он не был использован почти нигде, кроме САПР и программ для работы с графикой. Про него вспомнили только когда появились мобильные устройства — на маленьком экране не умещались большие фотки и веб-страницы.
В мобильных интерфейсах зум стал вполне привычным и естественным и продолжает эволюционировать. Но на десктопе зум заброшен и, на мой взгляд, совершенно напрасно. Zoomable user interface (ZUI) даёт ряд преимуществ, позволяющих лучше решить актуальные задачи. Я решил описать эти преимущества по типам зума, с примерами.
Читать дальше →
Total votes 66: ↑57 and ↓9+48
Comments26

Алгоритм Форчуна, подробности реализации

Reading time8 min
Views25K
Последние несколько недель я работал над реализацией алгоритма Форчуна на C++. Этот алгоритм берёт множество 2D-точек и строит из них диаграмму Вороного. Если вы не знаете, что такое диаграмма Вороного, то взгляните на рисунок:


Для каждой входной точки, которая называется «местом» (site), нам нужно найти множество точек, которые ближе к этому месту, чем ко всем остальным. Такие множества точек образуют ячейки, которые показаны на изображении выше.

В алгоритме Форчуна примечательно то, что он строит такие диаграммы за время $O(n\log n)$ (что оптимально для использующего сравнения алгоритма), где $n$ — это количество мест.

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

Как обычно, код выложен на github, а все использованные мной справочные материалы перечислены в конце статьи.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments29

Важнейшие заблуждения о разработке игр

Reading time8 min
Views60K
Здравствуйте, коллеги.

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


Читать дальше →
Total votes 80: ↑79 and ↓1+78
Comments99

Новости Typegram

Reading time4 min
Views7.4K
Всем привет! Прошло два месяца с момента анонса typegram на Хабре. И у меня для Вас просто жуткое количество новостей и прохладных историй! Всё так бурно развивается что даже страшно. Начну с приветствия:

Привет, меня зовут Вадим, я представляю проект typegram. Typegram — онлайн платформа для публикаций с открытым исходным кодом.

Это то, что меня выдрессировали делать в стартап школе YC. Начинать с представления себя и своего проекта.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments7

Топ-10 распространенных ошибок в английском произношении, которые вы можете совершать

Reading time5 min
Views51K
Носители английского поголовно утверждают, что понять человека, который говорит с акцентом, можно. Правда, иногда это трудно. Английский язык разительно отличается от русского и в фонетическом, и в интонационном плане. Носителя любого другого языка всегда слышно сразу: не так произносятся гласные, не так выстроена интонация, отсутствуют нужные или присутствуют ненужные звуки в словах. Оговоримся сразу: без акцента вы не говорите даже по-русски. Но изучая иностранный язык, вы можете научиться неплохо имитировать носителей и говорить с минимальным и не режущим слух акцентом. А пока давайте изучим самые частые ошибки русских студентов, изучающих английский язык.

Читать дальше →
Total votes 45: ↑38 and ↓7+31
Comments130

Беларусь первой в мире легализовала смарт-контракты и отменила подоходный налог для майнеров

Reading time5 min
Views24K
В течение последнего года в коридорах власти и белорусском IT-сообществе обсуждалась главная тема: льготы для Парка высоких технологий (ПВТ) могут отменить, точнее, не продлить. Критики говорили, что у программистов самые высокие зарплаты — в несколько раз выше средних зарплат в стране. С какой стати давать «жирным котам» льготы по уплате взносов в Фонд социальной защиты населения и предоставлять другие налоговые вычеты? Бюджет и ФСЗН лишаются больших денег.

Но сторонники продления льгот предъявляли главный козырь: ПВТ стал одним из главных источников по привлечению валюты в страну: в результате белорусские IT-компании хорошо известны во всём мире. Нужно не только сохранить льготы, но и расширить их на другие сферы бизнеса. Более того, нужно максимально поддерживать и внедрять IT во всех областях экономики и общества, потому что это будущее человечества.

К счастью, в столкновении хозяйственного и IT-лобби президент выбрал сторону IT. Сегодня на встрече с представителями деловых кругов Александр Лукашенко объявил о подписании «революционного» декрета «О развитии цифровой экономики» (основные положения документа, текст пока не опубликован), который впервые вводит в правовое поле понятия майнинга, блокчейна, смарт-контрактов, токенов. Он вводит налоговые льготы по майнингу и обмену криптовалют. И самое главное — ПВТ освобождается от налога на прибыль и НДС до 1 января 2049 года.
Читать дальше →
Total votes 62: ↑60 and ↓2+58
Comments92

11 бесплатных шрифтов с кириллицей

Reading time4 min
Views85K
image

1. Arimo

image

Дизайнер: Стив Мэттэсон – увлеченный дизайнер из штата Колорадо. Более 25 лет Мэттэсон разрабатывает шрифты, самыми крупными проектами стали дизайны для Android, Citrix, Microsoft, Nextel и Xbox.

image

Типы: Regular, Regular Italic, Bold, Bold Italic
Лицензия: Apache License, Version 2.0
Скачать шрифт


Arimo – без засечек, разработанный специально для работы с Arial. Шрифт слегка сжат по ширине. При небольшом кегле буквы тонкие и классические. Изящные черты достигаются при увеличении размера символов. Шрифт адаптирован для чтения на экране и отлично подойдет для документов на разных платформах.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments5

Стилофон – воскресший хит 70-х или «сенсорный» кошмар Дэвида Боуи

Reading time6 min
Views55K
Около года назад в эфире станции «Своё Радио» мне довелось услышать одну удивительную группу, с которой фактически и начался этот пост. Этим коллективом стали родоначальники тяжёлого психоделического твиста, петрозаводской квинтет «Громыка». Меня очень заинтересовали достаточно необычные звуки солирующего инструмента, который использовал коллектив. Сначала я подумал, что ребята используют какой-нибудь Moog или чем-то обработанный Терменвокс.



Особенности исполнения говорили о том, что это не клавишный синтезатор и не бесконтактная «скрипка» Термена. Просмотр видео показал, что музыкант коллектива использовал странную штуку, размером со старый портативный радиоприёмник, с металлической панелью вместо клавиатуры, по которой водят двумя контактными стержнями. Источником «магических», протяжных, выразительных и в тоже время достаточно резких звуков оказался стилофон (если совсем точно Styllophone 350S образца 1970-го года). Я решил разобраться с тем, что это за штуковина, как она работает, где и кто её использовал, а также какие современные инструменты этого типа используют сейчас.
Total votes 33: ↑32 and ↓1+31
Comments45

12 инструментов и сайтов для UI/UX дизайнеров

Reading time2 min
Views62K
Инструменты для разработки постоянно совершенствуются как с точки зрения удобства использования, так и с точки зрения пользовательского опыта. Это очень удобно и для дизайнеров, и для пользователей. Не удивительно, что опытные веб-дизайнеры стараются идти в ногу со временем и изучают новые инструменты. Авторы сотен блогов и сайтов, посвященных дизайну, регулярно публикуют новые статьи, делятся своими знаниями и дают свои рекомендации по использованию новых инструментов. Для дизайнера все это является очень полезным источником информации. Мы тоже подобрали самые последние инструменты и веб-сайты для дизайнеров.

image

Читать дальше →
Total votes 34: ↑25 and ↓9+16
Comments1

Пишите меньше кода, блин

Reading time4 min
Views70K

Я не самый талантливый кодер в мире. Правда. Так что я стараюсь писать как можно меньше кода. Чем меньше кода я пишу, тем меньше кода может ломаться, поддерживаться и требовать пояснений.


А еще я ленивый — мед, да еще и ложкой (я решил использовать в статье аналогии с едой).


Но, оказывается, что единственный гарантированный способ повысить производительность в вебе — это писать меньше кода. Минифицировать? Окей. Сжимать? Ну, да. Кэшировать? Звучит неплохо. Вообще отказываться кодить или использовать чужой код изначально? А вот теперь — в яблочко! Что есть на входе — должно выйти на выходе в той или иной форме, независимо от того, смог ли ваш сборщик растворить и переварить это своими желудочными соками (я, пожалуй, откажусь от пищевых аналогий).


И это не все. Кроме видимых улучшений производительности, где вам требуется то же количество кода, но его сначала нужно разжевать (не смог удержаться), вы также можете сэкономить. Моему провайдеру без разницы, посылаю ли я кучу маленьких писем или одно большое: все складывается.


В стремлении к уменьшению мне больше всего нравится вот что: в конце остается только то, что реально нужно, только то, что по-настоящему требуется пользователю. Огромная фотка какого-то чувака, пьющего латте? Выкинуть. Кнопки социальных сетей, которые подсасывают кучу левого кода и ломают дизайн страницы? Пинок под зад им. Эта хреновина на JavaScript, которая перехватывает правый клик и показывает кастомное модальное окно? Выставить на мороз!


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

Читать дальше →
Total votes 116: ↑101 and ↓15+86
Comments46

А если найду? Перелет еще дешевле чем вы уже нашли

Reading time3 min
Views122K
Если вы планируете поездку и уже нашли недорогой перелет, не спешите покупать билеты, потому что сейчас вы найдете билеты еще дешевле. И это не реклама очередного говноагрегатора.

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

Читать дальше →
Total votes 123: ↑99 and ↓24+75
Comments299

С днём рождения, Джеф Раскин

Reading time4 min
Views15K
«Интерфейс не должен вредить человеку или своим бездействием допустить, чтобы человеку был нанесен вред». Азимов-Раскин
image
На фото: Джеф Раскин. То чувство, когда ты один знаешь, как сделать интерфейсы правильно, а весь мир делает не так.

Для тех, кто еще не знает Джеф Раскин (Jef Raskin) — специалист по компьютерным интерфейсам, автор статей по юзабилити и книги «The Humane Interface», сотрудник № 31 фирмы Apple Computer, наиболее известен как инициатор проекта Макинтош в конце 70-x.

image
В день рождения (9 марта) старика-бунтаря Раскина, решил поделиться мыслями про интерфейсы в своей жизни. Какой интерфейс помогает лично вам в жизни, служит «усилителем интеллекта»?
Total votes 17: ↑16 and ↓1+15
Comments5

Кризис ожирения сайтов

Reading time30 min
Views123K
Примечание переводчика: визит под кат этого поста означает большие объёмы потреблённого трафика. И это иронично, если учесть поднятую тему. Но всё сразу встаёт на свои места, если помнить, что в оригинале это было выступление в прошлом ноябре в Сиднее длиной почти в час. Чтение поста занимает куда меньше времени. В форме видеозаписи (1280×720) речь занимает два гигабайта. Пост же занимает всего лишь 12 МиБ. Рекомендуется просмотр на широких мониторах.



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

Выступление совсем не об этом. Я хотел бы поговорить об этом общественном кризисе здоровья, этом ожирении сайтов. Отличные дизайнеры, которые задумываются о вебе как я или даже больше, почему-то делают страницы, которые становятся больше. Речь пойдёт о текстовых в своей основе сайтах, которые по каким-то непостижимым причинам с каждым годом становятся всё больше и больше.
Читать дальше →
Total votes 97: ↑93 and ↓4+89
Comments123

Microsoft выпустила программу 3D-печати для массовой аудитории

Reading time1 min
Views66K
Компания Microsoft выпустила программу 3D Builder, с помощью которой можно быстро подготовить 3D-модель к печати.

В комплекте поставляется большая библиотека уже готовых объектов и компонентов.


Читать дальше →
Total votes 80: ↑74 and ↓6+68
Comments39

Биологические эффекты долговременного космического полёта

Reading time8 min
Views28K
Согласно распространённому стереотипу, всё очень просто: космонавт полетел на станцию и выполняет там эксперименты. Иногда его рабочие будни становятся героическими: на космической станции случается пожар, разгерметизация или ещё какая напасть, и он справляется с проблемами, но в целом ни во время, ни после полёта он не испытывает никаких проблем с собственным здоровьем или хотя бы гигиеной.

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

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

Радиация


Повышенные уровни радиации могут привести к катаракте. К примеру, поставивший рекорд срока пребывания на орбите Земли (221 день) Валентин Лебедев потерял зрение. Радиацией действительно нельзя пренебрегать.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments47

Как построить зеленую экономику за счет особенностей климата России

Reading time8 min
Views12K
Необходимость снижения мировой эмиссии СО2 и тепловой характер энергетики России могут существенно увеличить рентабельность нашей экономики. О том, как превратить холодный климат в преимущество, рассказал известный физик Валентин Данилов.



От команды Тион:
«Валентин Владимирович – очень яркий, содержательный и масштабный человек. Его идеи глобальны, для кого-то даже слишком. Бытует мнение, что время больших идей и больших людей прошло. Однако мы всегда будем верить, что здравый смысл непременно «прорастёт», как трава сквозь асфальт. Как говорил Лев Ландау, работать надо, а там, глядишь, и времена изменятся. И мы искренне рады работать в одной команде с такими людьми, как Валентин Данилов».
Читать дальше →
Total votes 17: ↑11 and ↓6+5
Comments6

Мозг. Голографическая память. Квантовые вычисления. Анонс

Reading time3 min
Views16K


С одной стороны, еще Резерфорд говорил: «Если учёный не может объяснить уборщице, которая убирается у него в лаборатории, смысл своей работы, то он сам не понимает, что он делает». С другой стороны, короткое объяснение порой способно запутать сильнее, чем что-либо прояснить. Я занимаюсь искусственным интеллектом. В этой области есть два основных направления: одно — придумать алгоритмы как что-либо сделать и другое — объяснить, как это делает человеческий мозг. И если первое направление может похвастаться грандиозными успехами, то второе пока только фонтанирует идеями разного уровня здравости. Понимание работы мышления усложняется тем, что все алгоритмические идеи должны быть соотнесены с возможностями реального мозга и пройти тест на биологическую достоверность. Так вот, мое направление – второе.
Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments41

Две книги, которые изменили жизнь Сергея Брина

Reading time3 min
Views39K
В 1996 году аспиранты Стэнфордского университета Сергей Брин и Ларри Пейдж начали разработку компьютерной программы, которая впоследствии станет известна миру как поисковая система Google.

Сегодня Google (Alphabet) — крупнейшая корпорация с рыночной капитализацией $450 млрд. Сергей Брин сосредоточил усилия на перспективных научно-исследовательском подразделении GoogleX, которое занимается революционными разработками вроде беспилотных автомобилей.

В одном из интервью в 2000 году Сергей Брин рассказал, какие книги вдохновили его посвятить карьеру технологиям, где смешаны наука и творчество.
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments11

Information

Rating
1,872-nd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

DevRel
Middle