Size: a a a

2017 January 31
brain_dump_etc
Ещё стоит отметить, что ponysay написана на языке... Pony!
источник
brain_dump_etc
Да-да, есть и такой язык! И он довольно интересен:
- язык объектно-ориентированный (без наследования!!!)
- модель акторов встроена в язык
- код компилируется в native bineries

Сайт языка: http://www.ponylang.org/

Библиотек у языка пока толком нет - только stdlib. Который, впрочем, довольно богат. Скажем, программки, работающие с сетью писать можно и это даже интересно и приятно - акторы тут очень к месту!

Лично я искренне советую почитать хотя бы вводную к языку - она неплохо написана, даёт примерное представление о языке и демонстрирует основные его возможности. А ещё лучше поставить компилятор и написать акторный hello-world - простой чатик :)
источник
2017 February 01
brain_dump_etc
Racket'оводы-Ubuntu'оиды могут радоваться: обновили PPA для Racket! https://launchpad.net/~plt/+archive/ubuntu/racket Теперь свеженький 6.8 официально и в нашей Ubuntu! Сам релиз я уже упоминал (см. https://t.me/brain_dump_etc/4), а теперь он доехал и до официального источника пакетов и стало ещё меньше причин не устанавливать Racket! Идите уже наконец и поробуйте этот прекрасный язык для написания языков :)
источник
brain_dump_etc
В своё время меня впечатлил uLisp (http://www.ulisp.com/), и Tiny Lisp Machine на базе Atmel ATMega328 - той самой, на которой основан этот ваш Arduino. Вот ссылка на статью о проекте: http://www.technoblogy.com/show?1GX1

И тут недавно, в октябре прошлого года автор написал о второй версии лиспомашины: http://www.technoblogy.com/show?1INT Эта версия работает уже на базе ATMega1284, а это уже гораздо более приятный "камушек". Теперь машинка осиливает 3000 лисповых ячеек (так у лиспа меряют размер кода), а это уже вполне прилично для микроконтроллеров, которые пищат динамиками и мигают светодиодами!

Обе машинки используют один и тот же OLED экран от AdaFruit для вывода и PS/2 клавиатуру для ввода и предоставляют настоящий Lisp REPL, т.е. каждая машина вполне самодостаточна! Что очень приятно, т.к. многие интерактивные AVR shells обладают лишь зачаточными средствами для скриптования и как правило коммуницируют с пользователем через последовательный интерфейс UART, т.е. для общения с железкой требуется компьютер, запускающий Telnet-клиент.
источник
brain_dump_etc
Tiny Lisp Machine 2, будучи собранной на breadboard, выглядит так
источник
2017 February 02
brain_dump_etc
Довольно интересный своей манерой подачи курс "Professor Frisby Introduces Composable Functional JavaScript": https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript Для тех, кто всерьез интересуется функциональщиной, этот курс не будет слишком полезен - описываемые "паттерны" и полнее и правильнее описываются в соответствующих источниках. Однако тем, кто просто хочет по-новому взглянуть на применяемые инструменты (в данном случае это, увы, JavaScript) и/или положить в копилку несколько умных слов, этот цикл может пригодиться - примеры даются хорошие, да и слушать забавно :) Советую, коли сподобитесь приобщиться, повторить код в редакторе и поиграться на своих примерах - глядишь, запомните, освоите и будете прменять в жизни!

Ссылку об этом курсе запостить мне предложили (спасибо!), и я по началу делать этого не хотел - JavaScript же! Но с материалом ознакомился и, надо сказать, увидел таки потенциальную пользу. За сим и публикую :)
источник
2017 February 03
brain_dump_etc
Если вы, как и я, любите обклеивать ноутбуки стикерами с конференций и логотипами используемых технологий, но устали от того, что каждый стикер имеет свою форму и размер, обратите внимание на Hexbin: http://hexb.in/

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

Каждая "наклейка" представлена в т.ч. и в векторном виде (в SVG), так что можно идти и печатать! Да хоть на том же PrintDirect (http://printdirect.ru/)
источник
brain_dump_etc
Выглядит уклеенный подобными "сотами" ноутбук как-то так
источник
brain_dump_etc
А вот ссылочка любителям повставлять в git commit messages Эмодзи: http://www.webpagefx.com/tools/emoji-cheat-sheet/
Это довольно обширный cheatsheet по эмотиконам, поддерживаемым GitHub'ом и прочими "современными" сервисами :)
источник
brain_dump_etc
И уж если я вспомнил Git и commit messages, то я не могу не поделиться шаблоном для оных, который использую сам. В "подвале" файла указана команда, которая настроит git на использование этого шаблона
источник
2017 February 04
brain_dump_etc
Поною, для разнообразия.

Посмотрел я на этот Vue.js (по-русски это должно читаться "Вжух!"). В принципе понятно, почему он набирает популярность: искоробочный мэйджик - "Вжух, и готово приложение!" Причем всё сильно более вжухово, чем много где.

В интернетах пипл предрекает, что Vue может потеснить React и Angular. И я даже вполне допускаю такое развитие событий: все задатки для популярности у Vue есть. Например, есть потенциал для превращения больших проектов в магическую кашу, которая уже всё залепила, а "горшочек не вари" говорить уже поздно - все подсели и вжухают!

Причем субъективно начинать на Vue ещё проще, чем на React - на любую хотелку типичного UI-дела уже есть волшебный ключик в конфиге, а если ещё нет, то скоро примут pull request и появится! И это подкупает!

А на деле "явные" callbacks заменены на неявные биндинги, но по-callback-овски всплывающие от дочернего компонента к родителю, если приспичит (и оно приспичивает!). И опять stateful components! Даже React/Redux уже этим страдает - с тех пор, как решили сделать всем хорошо и ввели stateful контейнеры. А тут, в Vue, каждый компонент имеет своё мутабельное состояние, т.е. устроен интерфейс ровно так, как было в дореактовые годы - ещё бы это не нравилось, привычно же!

Похоже, что революции не случилось. React был неплохой (я не фанат, но вклад в индустрию ценю!) попыткой выправить руки и нарезать извилины в нужную сторону, но победят посредственность, привычки и вжух...
источник
brain_dump_etc
источник
2017 February 06
brain_dump_etc
Поделюсь одной закладкой из закромов, на этот раз gamedev'овой: http://www.redblobgames.com/
На сайте по ссылке размещены очень интересные статьи по гексагональным сеткам (это лично меня очень порадовало в свое время), по алгоритмам вычисления областей видимости (да, и про ray caster там тоже рассказывается) и проч. При этом многие примеры в статьях интерактивные! Вы только сходите и пощупайте превый же пример в статье про видимость: http://www.redblobgames.com/articles/visibility/ - отлично сделано!

Автор сайта, кстати, курирует ресурс http://www-cs-students.stanford.edu/~amitp/gameprog.html - "Amit’s Game Programming Information", большой перечень статей по тематике game development. Причем охвачены не только привычные AI и поиск пути - перечень охватывает и гейм-дизайн в целом и экономические аспекты игростроя.
источник
2017 February 07
brain_dump_etc
Наткнулся на очень интересный сабреддит: https://www.reddit.com/r/explorables/

Сюда пишут о всевозможных интерактивных и не очень визуализациях чего-бы то ни было, например алгоритмов - да, упомянутая мной вчера ссылка на сайтик по gamedev алгоритмике тоже нашлась в этом сабреддите, причем на первой странице (при том что я ссылочку зебе заложил года два назад и вспомнил про неё только вчера 👌)

P.S. Возможно я ещё порекламирую парочку сабреддитов. Reddit вообще является отличным источником новостей и контента по многим тематикам, в т.ч. и довольно узким (я, скажем, почитываю /r/hammocks 😉).
источник
brain_dump_etc
Позволю себе немного рекламы :)

Reddit и всё остальное, умеющее RSS, я читаю через BazQux (http://bazqux.com/). Сервис этот немножко платный (подписка), но зато это лучшая "замена Google Reader" (если вы понимаете, о чем я). BazQux умеет показывать не только полные статьи, но и комментарии к ним, вытягивая оные с различных платформ (комментарии, например, отлично утягиваются с LiveJournal). Ещё он умеет отправлять статьи в Pocket и прочие InstaPaper, откладывать "на потом", включать/исключать элементы лент по ключевым словам и проч. Даже twitter работает (вроде бы - сам ещё не проверял, хоть баскуксом пользуюсь третий год). И Habr тоже можно читать, для этого нужно получить из настроек профиля ссылку на персональную RSS-ленту и добавить её в BazQux (в любой другой RSS-reader тоже можно, но тут решают фильтры и подтягивание комментов!). И стоит сказать, что при всех своих достоинствах и "фичастости" интерфейс у "приложения" сугубо минималистичен и исключительно функционален - взять хотя бы полное управление с клавиатуры.

И, конечно же, я не могу не упомянуть, что BazQux написан на Haskell + Ur/Web (это такой язык/фреймворк для разработки под браузер).
источник
brain_dump_etc
Вот такой вот BazQux на вид
источник
2017 February 08
brain_dump_etc
Отличная статья про реализацию динамического освещения на PICO-8: https://medium.com/@krajzeg/pico-8-lighting-part-1-thin-dark-line-8ea15d21fed7 От текста прямо таки веет "олдскулом" - тут и имитация постепенного затухания цвета жонглированием всего 16 цветами и работа с паиятью через poke(о да!).

Это отличный пример того, что ограничения платформы могут служить отличным стимулом для их преодоления и получения удовольстивия от процесса.

Когда-нибудь и я поборю свою лень и сделаю на PICO что-нибудь прекрасное! :)
источник
brain_dump_etc
В статике картинка вполовину менее эффектна, но если помнить, что цветов всего 16, то всё равно впечатляет. За динамикой пройдите в статью, и по желанию по ссылке в статье к живому "картриджу"
источник
2017 February 10
brain_dump_etc
Просто оставлю здесь:
https://github.com/goq/telegram-list
Это пополняемый список каналов и групп различной тематики в Telegram. Присутствует приличное кол-во около-ИТ-шных источников.

И обязательно загляните на https://github.com/open-source-society/computer-science - курируемый каталог бесплатных MOOC-курсов для саморазвития в области Computer Science! Это просто бесценный ресурс для тех кто хочет и любит учиться самостоятельно.
источник
brain_dump_etc
Спешу сообщить, что 20.02 на coursera.org стартует очередная сессия курса "Programing Languages" от Дэна Гроссмана! Ссылка на курс: https://www.coursera.org/learn/programming-languages

Это очень хороший обзорный курс по нескольким программным парадигмам, преподаваемый с использованием типичных представителей этих парадигм - Standard ML (статически типизированное ФП), Racket (динамически типизированное ФП) и Ruby (динамически типизированное ООП). (Предполагается, что слушатели уже знакомы со статически типизированным ООП в лице Java/C#)

По ссылке выше находится первая часть курса, которая затрагивает SML, функции высших порядков, вывод типов и др. Две другие части находятся по этим ссылкам:
- https://www.coursera.org/learn/programming-languages-part-b вторая часть курса, рассказывающая о Racket, в ходе прохождения которой слушатели напишут свой интерпретатор простого ЯП с замыканиями.
- https://www.coursera.org/learn/programming-languages-part-c третья часть, в которой демонстрируются интересные возможности, открывающиеся благодаря некоторым особенностям языка Ruby, такие как динамическая диспетчеризация.

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