brain_dump_etc
637 subscribers
99 photos
4 videos
3 files
383 links
Дампы мыслей, свалка ссылок, программизмы, вот это всё (ВНИМАНИЕ: много вкусовщины!)

Автор надампленых мыслей: @astynax

Чат к каналу: https://t.me/brain_dump_chat
Плейлист трансляций: https://youtube.com/playlist?list=PLUFoWyWge7mrg4GqHLMZV62gGC912PCGq
Download Telegram
В своё время меня впечатлил 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-клиент.
Tiny Lisp Machine 2, будучи собранной на breadboard, выглядит так
Довольно интересный своей манерой подачи курс "Professor Frisby Introduces Composable Functional JavaScript": https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript Для тех, кто всерьез интересуется функциональщиной, этот курс не будет слишком полезен - описываемые "паттерны" и полнее и правильнее описываются в соответствующих источниках. Однако тем, кто просто хочет по-новому взглянуть на применяемые инструменты (в данном случае это, увы, JavaScript) и/или положить в копилку несколько умных слов, этот цикл может пригодиться - примеры даются хорошие, да и слушать забавно :) Советую, коли сподобитесь приобщиться, повторить код в редакторе и поиграться на своих примерах - глядишь, запомните, освоите и будете прменять в жизни!

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

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

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

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

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

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

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

Похоже, что революции не случилось. React был неплохой (я не фанат, но вклад в индустрию ценю!) попыткой выправить руки и нарезать извилины в нужную сторону, но победят посредственность, привычки и вжух...
Поделюсь одной закладкой из закромов, на этот раз 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 и поиск пути - перечень охватывает и гейм-дизайн в целом и экономические аспекты игростроя.
Наткнулся на очень интересный сабреддит: https://www.reddit.com/r/explorables/

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

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

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

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

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

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

И обязательно загляните на https://github.com/open-source-society/computer-science - курируемый каталог бесплатных MOOC-курсов для саморазвития в области Computer Science! Это просто бесценный ресурс для тех кто хочет и любит учиться самостоятельно.
Спешу сообщить, что 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, такие как динамическая диспетчеризация.

Все три части стартуют одновременно и потенциально можно успеть пройти все три - курсы далеко не самые сложные и интенсивные. Раньше это вообще был один курс из трех разделов, и ничего - проходили (я, например) :)
Humblespark (https://www.humblespark.com) запилили Ellie - Elm Live Editor. Вот ссылка на анонс: https://www.humblespark.com/ellie-announcement/

Теперь можно делиться живыми примерами Elm-приложений (пример: https://embed.ellie-app.com/msxkCRtWNn/0). При этом в примерах можно использовать любые пакеты из http://package.elm-lang.org/!

Для JS/HTML/CSS таких песочниц предостаточно, а для эльмоводов полноценного аналога раньше не было. Что же, будем пользоваться :)
А этот Ellie вполне неплох - даже довольно таки объемные "демки" переваривает. Правда, редактор на больших исходниках уже заметно подтормаживает :(

Пользуясь случаем, наваял такую демку: https://embed.ellie-app.com/n5M8wcPtxs/0 - это моя попытка сделать комбинаторную библиотеку для рисования векторной графики (наподобие той, что есть в Racket).
Вот такое уже комбинируется. Осталось сделать библиотеку - написать доки и запакетировать :)
Давно хочу сделать себе хотя бы простенькую копию этого костюма: https://www.youtube.com/watch?v=8HZFY4Xti7k

Глаза из LED-матричек, это совсем просто, такое я сумею :) А вот вокодер для голоса я всё никак не накостыляю.

Но теперь я уже на шаг ближе к цели: наткнулся на довольно простую реализацию pitch shifter на ATTiny85: http://www.technoblogy.com/show?1L02 Надо будет собрать аналог (85'ых у меня нет, но есть горстка ATMega48) и посмотреть его в деле!