Кстати, на потомках Форта даже вебчик можно писать! Вот тут можно ознакомиться с примерами программ на Factor (это как раз один из современных потомков): http://concatenative.org/wiki/view/Factor/Examples Там и webapps и алгоритмы и графика.
P.S. Меджу прочим, сам сайт Concatenative Wiki тоже на Factor написан :)
P.S. Меджу прочим, сам сайт Concatenative Wiki тоже на Factor написан :)
Если вас, как и меня, радуют разные бесполезные консольные утилитки, то вы наверняка знакомы с
Эта говорящая корова (а также дракон, пингвин Tux, BSD демончик - много лиц, одна суть) давно прижилась в семье классических *nix-утилит и часто используется пусть не для дела, то ради развлечения уж точно :) Ах, как здорово подружить
Правда реализована коровка на Perl со всеми вытекающими - не так уж много желающих её осовременивать, а ведь прогресс на месте не стоит! Впрочем, унывать не стоит - есть у cowsay современные и модные подражатели. Например
Отдельно хочу отметить проработку персонажей: в репозитории ponysay истинные понилюбы смогут найти описание каждого персонажа (в машиночитаемом виде - да-да, в JSON!) - имя, момент появления во вселенной, любимую еду и прочее - вот это подход к написанию "простой утилитки"!
cowsay :)Эта говорящая корова (а также дракон, пингвин Tux, BSD демончик - много лиц, одна суть) давно прижилась в семье классических *nix-утилит и часто используется пусть не для дела, то ради развлечения уж точно :) Ах, как здорово подружить
cowsay и fortune и вставить в конец .bashrc!Правда реализована коровка на Perl со всеми вытекающими - не так уж много желающих её осовременивать, а ведь прогресс на месте не стоит! Впрочем, унывать не стоит - есть у cowsay современные и модные подражатели. Например
ponysay: https://github.com/erkin/ponysay Да, набор персонажей у ponysay довольно специфичен (хоть и довольно широк) - это исключитено персонажи вселенной "My Little Pony"! Кого-то это порадует, кого-то - не очень. Но ponysay позволяет добавлять своих персонажей, как и её бабушка cowsay, поэтому дерзайте!Отдельно хочу отметить проработку персонажей: в репозитории ponysay истинные понилюбы смогут найти описание каждого персонажа (в машиночитаемом виде - да-да, в JSON!) - имя, момент появления во вселенной, любимую еду и прочее - вот это подход к написанию "простой утилитки"!
GitHub
GitHub - erkin/ponysay: Pony rewrite of cowsay.
Pony rewrite of cowsay. Contribute to erkin/ponysay development by creating an account on GitHub.
Да-да, есть и такой язык! И он довольно интересен:
- язык объектно-ориентированный (без наследования!!!)
- модель акторов встроена в язык
- код компилируется в native bineries
Сайт языка: http://www.ponylang.org/
Библиотек у языка пока толком нет - только stdlib. Который, впрочем, довольно богат. Скажем, программки, работающие с сетью писать можно и это даже интересно и приятно - акторы тут очень к месту!
Лично я искренне советую почитать хотя бы вводную к языку - она неплохо написана, даёт примерное представление о языке и демонстрирует основные его возможности. А ещё лучше поставить компилятор и написать акторный hello-world - простой чатик :)
- язык объектно-ориентированный (без наследования!!!)
- модель акторов встроена в язык
- код компилируется в native bineries
Сайт языка: http://www.ponylang.org/
Библиотек у языка пока толком нет - только stdlib. Который, впрочем, довольно богат. Скажем, программки, работающие с сетью писать можно и это даже интересно и приятно - акторы тут очень к месту!
Лично я искренне советую почитать хотя бы вводную к языку - она неплохо написана, даёт примерное представление о языке и демонстрирует основные его возможности. А ещё лучше поставить компилятор и написать акторный hello-world - простой чатик :)
Racket'оводы-Ubuntu'оиды могут радоваться: обновили PPA для Racket! https://launchpad.net/~plt/+archive/ubuntu/racket Теперь свеженький 6.8 официально и в нашей Ubuntu! Сам релиз я уже упоминал (см. https://t.me/brain_dump_etc/4), а теперь он доехал и до официального источника пакетов и стало ещё меньше причин не устанавливать Racket! Идите уже наконец и поробуйте этот прекрасный язык для написания языков :)
Launchpad
Racket : “Racket” team
Racket is a programming language in the Lisp-family. In addition to being a general-purpose programming language, it is designed as a platform for language creation, design, and implementation.
This PPA builds on the hard work of the maintainers of the Debian…
This PPA builds on the hard work of the maintainers of the Debian…
В своё время меня впечатлил
И тут недавно, в октябре прошлого года автор написал о второй версии лиспомашины: http://www.technoblogy.com/show?1INT Эта версия работает уже на базе
Обе машинки используют один и тот же OLED экран от AdaFruit для вывода и PS/2 клавиатуру для ввода и предоставляют настоящий Lisp REPL, т.е. каждая машина вполне самодостаточна! Что очень приятно, т.к. многие интерактивные AVR shells обладают лишь зачаточными средствами для скриптования и как правило коммуницируют с пользователем через последовательный интерфейс UART, т.е. для общения с железкой требуется компьютер, запускающий Telnet-клиент.
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-клиент.
Technoblogy
Technoblogy - Tiny Lisp Computer
Electronics and microcontroller projects
Довольно интересный своей манерой подачи курс
Ссылку об этом курсе запостить мне предложили (спасибо!), и я по началу делать этого не хотел - JavaScript же! Но с материалом ознакомился и, надо сказать, увидел таки потенциальную пользу. За сим и публикую :)
"Professor Frisby Introduces Composable Functional JavaScript": https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript Для тех, кто всерьез интересуется функциональщиной, этот курс не будет слишком полезен - описываемые "паттерны" и полнее и правильнее описываются в соответствующих источниках. Однако тем, кто просто хочет по-новому взглянуть на применяемые инструменты (в данном случае это, увы, JavaScript) и/или положить в копилку несколько умных слов, этот цикл может пригодиться - примеры даются хорошие, да и слушать забавно :) Советую, коли сподобитесь приобщиться, повторить код в редакторе и поиграться на своих примерах - глядишь, запомните, освоите и будете прменять в жизни!Ссылку об этом курсе запостить мне предложили (спасибо!), и я по началу делать этого не хотел - JavaScript же! Но с материалом ознакомился и, надо сказать, увидел таки потенциальную пользу. За сим и публикую :)
egghead
Professor Frisby Introduces Composable Functional JavaScript
This course teaches the ubiquitous abstractions for modeling pure functional programs. Functional languages have adopted these algebraic constructs acro...
Если вы, как и я, любите обклеивать ноутбуки стикерами с конференций и логотипами используемых технологий, но устали от того, что каждый стикер имеет свою форму и размер, обратите внимание на
Этот сайт пропагандирует использование, а при желании и наличии навыка - пополнение, коллекции шестиугольных наклеек единого типоразмера. Такие наклейки можно клеить встык, что и общую эстетичность обклеиваемых поверхностей повысит и позволит эту самую поверхность использовать наиболее рационально!
Каждая "наклейка" представлена в т.ч. и в векторном виде (в SVG), так что можно идти и печатать! Да хоть на том же PrintDirect (http://printdirect.ru/)
Hexbin: http://hexb.in/Этот сайт пропагандирует использование, а при желании и наличии навыка - пополнение, коллекции шестиугольных наклеек единого типоразмера. Такие наклейки можно клеить встык, что и общую эстетичность обклеиваемых поверхностей повысит и позволит эту самую поверхность использовать наиболее рационально!
Каждая "наклейка" представлена в т.ч. и в векторном виде (в SVG), так что можно идти и печатать! Да хоть на том же PrintDirect (http://printdirect.ru/)
hexb.in
Hexbin is a hexagon sticker repository.
А вот ссылочка любителям повставлять в git commit messages Эмодзи: http://www.webpagefx.com/tools/emoji-cheat-sheet/
Это довольно обширный cheatsheet по эмотиконам, поддерживаемым GitHub'ом и прочими "современными" сервисами :)
Это довольно обширный cheatsheet по эмотиконам, поддерживаемым GitHub'ом и прочими "современными" сервисами :)
commit_template.txt
309 B
И уж если я вспомнил Git и commit messages, то я не могу не поделиться шаблоном для оных, который использую сам. В "подвале" файла указана команда, которая настроит git на использование этого шаблона
Поною, для разнообразия.
Посмотрел я на этот
В интернетах пипл предрекает, что Vue может потеснить React и Angular. И я даже вполне допускаю такое развитие событий: все задатки для популярности у Vue есть. Например, есть потенциал для превращения больших проектов в магическую кашу, которая уже всё залепила, а "горшочек не вари" говорить уже поздно - все подсели и вжухают!
Причем субъективно начинать на Vue ещё проще, чем на React - на любую хотелку типичного UI-дела уже есть волшебный ключик в конфиге, а если ещё нет, то скоро примут pull request и появится! И это подкупает!
А на деле "явные" callbacks заменены на неявные биндинги, но по-callback-овски всплывающие от дочернего компонента к родителю, если приспичит (и оно приспичивает!). И опять stateful components! Даже React/Redux уже этим страдает - с тех пор, как решили сделать всем хорошо и ввели stateful контейнеры. А тут, в Vue, каждый компонент имеет своё мутабельное состояние, т.е. устроен интерфейс ровно так, как было в дореактовые годы - ещё бы это не нравилось, привычно же!
Похоже, что революции не случилось. React был неплохой (я не фанат, но вклад в индустрию ценю!) попыткой выправить руки и нарезать извилины в нужную сторону, но победят посредственность, привычки и вжух...
Посмотрел я на этот
Vue.js (по-русски это должно читаться "Вжух!"). В принципе понятно, почему он набирает популярность: искоробочный мэйджик - "Вжух, и готово приложение!" Причем всё сильно более вжухово, чем много где.В интернетах пипл предрекает, что Vue может потеснить React и Angular. И я даже вполне допускаю такое развитие событий: все задатки для популярности у Vue есть. Например, есть потенциал для превращения больших проектов в магическую кашу, которая уже всё залепила, а "горшочек не вари" говорить уже поздно - все подсели и вжухают!
Причем субъективно начинать на Vue ещё проще, чем на React - на любую хотелку типичного UI-дела уже есть волшебный ключик в конфиге, а если ещё нет, то скоро примут pull request и появится! И это подкупает!
А на деле "явные" callbacks заменены на неявные биндинги, но по-callback-овски всплывающие от дочернего компонента к родителю, если приспичит (и оно приспичивает!). И опять stateful components! Даже React/Redux уже этим страдает - с тех пор, как решили сделать всем хорошо и ввели stateful контейнеры. А тут, в Vue, каждый компонент имеет своё мутабельное состояние, т.е. устроен интерфейс ровно так, как было в дореактовые годы - ещё бы это не нравилось, привычно же!
Похоже, что революции не случилось. React был неплохой (я не фанат, но вклад в индустрию ценю!) попыткой выправить руки и нарезать извилины в нужную сторону, но победят посредственность, привычки и вжух...
Продублировал на Medium, вдруг кто прокомментировать захочет: https://medium.com/@astynax/%D0%B2%D0%B6%D1%83%D1%85-%D0%B8-%D1%80%D0%B5%D0%B2%D0%BE%D0%BB%D1%8E%D1%86%D0%B8%D0%B8-%D0%BD%D0%B5-%D0%B2%D1%8B%D1%88%D0%BB%D0%BE-50d7c161b720
Medium
Вжух, и революции не вышло…
Посмотрел я на этот Vue.js (по-русски это должно читаться “Вжух!”).
Поделюсь одной закладкой из закромов, на этот раз 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 и поиск пути - перечень охватывает и гейм-дизайн в целом и экономические аспекты игростроя.
На сайте по ссылке размещены очень интересные статьи по гексагональным сеткам (это лично меня очень порадовало в свое время), по алгоритмам вычисления областей видимости (да, и про 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. Возможно я ещё порекламирую парочку сабреддитов.
Сюда пишут о всевозможных интерактивных и не очень визуализациях чего-бы то ни было, например алгоритмов - да, упомянутая мной вчера ссылка на сайтик по gamedev алгоритмике тоже нашлась в этом сабреддите, причем на первой странице (при том что я ссылочку зебе заложил года два назад и вспомнил про неё только вчера 👌)
P.S. Возможно я ещё порекламирую парочку сабреддитов.
Reddit вообще является отличным источником новостей и контента по многим тематикам, в т.ч. и довольно узким (я, скажем, почитываю /r/hammocks 😉).Reddit
r/explorables
A subreddit around interactive explanations, thinking tools, concept visualizations, and other media for communicating and generating ideas.
Позволю себе немного рекламы :)
Reddit и всё остальное, умеющее RSS, я читаю через
И, конечно же, я не могу не упомянуть, что BazQux написан на
Reddit и всё остальное, умеющее RSS, я читаю через
BazQux (http://bazqux.com/). Сервис этот немножко платный (подписка), но зато это лучшая "замена Google Reader" (если вы понимаете, о чем я). BazQux умеет показывать не только полные статьи, но и комментарии к ним, вытягивая оные с различных платформ (комментарии, например, отлично утягиваются с LiveJournal). Ещё он умеет отправлять статьи в Pocket и прочие InstaPaper, откладывать "на потом", включать/исключать элементы лент по ключевым словам и проч. Даже twitter работает (вроде бы - сам ещё не проверял, хоть баскуксом пользуюсь третий год). И Habr тоже можно читать, для этого нужно получить из настроек профиля ссылку на персональную RSS-ленту и добавить её в BazQux (в любой другой RSS-reader тоже можно, но тут решают фильтры и подтягивание комментов!). И стоит сказать, что при всех своих достоинствах и "фичастости" интерфейс у "приложения" сугубо минималистичен и исключительно функционален - взять хотя бы полное управление с клавиатуры.И, конечно же, я не могу не упомянуть, что BazQux написан на
Haskell + Ur/Web (это такой язык/фреймворк для разработки под браузер).BazQux Reader
Your friend for reading feeds.
Отличная статья про реализацию динамического освещения на
Это отличный пример того, что ограничения платформы могут служить отличным стимулом для их преодоления и получения удовольстивия от процесса.
Когда-нибудь и я поборю свою лень и сделаю на PICO что-нибудь прекрасное! :)
PICO-8: https://medium.com/@krajzeg/pico-8-lighting-part-1-thin-dark-line-8ea15d21fed7 От текста прямо таки веет "олдскулом" - тут и имитация постепенного затухания цвета жонглированием всего 16 цветами и работа с паиятью через poke(о да!).Это отличный пример того, что ограничения платформы могут служить отличным стимулом для их преодоления и получения удовольстивия от процесса.
Когда-нибудь и я поборю свою лень и сделаю на PICO что-нибудь прекрасное! :)
Hacker Noon
Lighting by hand #1: the thin dark line
How I rolled up my sleeves and got a real-time lighting engine working under the constraints of PICO-8.