Оказывается, среди
Доку можно найти здесь: https://plt.eecs.northwestern.edu/pkg-build/doc/lindenmayer@lindenmayer/index.html
На первый взгляд пакет позволяет делать практически всё, что может потребоваться типичному фрактальному ботанику, даже
Если вы интересовались когда либо процедурной генерацией и вам хотелось нарисовать быстренько небольшой лесок, но вы не были знакомы с L-системами, настоятельно советую ознакомиться - концепция простая, но выразительная, да и результатя глазу приятны, наконец :)
#racket #fractals #lsystems
Racket-языков есть отдельный язык для описания L-систем - это такие простые фракталы, которые "рисуют деревья".Доку можно найти здесь: https://plt.eecs.northwestern.edu/pkg-build/doc/lindenmayer@lindenmayer/index.html
На первый взгляд пакет позволяет делать практически всё, что может потребоваться типичному фрактальному ботанику, даже
3d L-системы можно рисовать!Если вы интересовались когда либо процедурной генерацией и вам хотелось нарисовать быстренько небольшой лесок, но вы не были знакомы с L-системами, настоятельно советую ознакомиться - концепция простая, но выразительная, да и результатя глазу приятны, наконец :)
#racket #fractals #lsystems
На горизонте нарисовался потенциально интересный хакатончик:
https://twitter.com/5ht/status/839395772324065280
Предлагается похакатонить на #haskell, причем "с нуля", т.е. там ещё и научат этому самому хаскелю и дадут порешать реальные задачки в большом проекте.
https://twitter.com/5ht/status/839395772324065280
Предлагается похакатонить на #haskell, причем "с нуля", т.е. там ещё и научат этому самому хаскелю и дадут порешать реальные задачки в большом проекте.
Twitter
Namdak Tonpa
https://t.co/gwKm1sD7qf
Language:
Source:
Result:
haskell
Source:
main = print $ take 10 fibs
where
fibs = 1 : 1 : zipWith (+) fibs (tail fibs)
Result:
[1,1,2,3,5,8,13,21,34,55]
Language:
Source:
Result:
python3
Source:
def fibs():
yield 1
yield 1
tail_fibs = fibs()
next(tail_fibs)
for (x, y) in zip(fibs(), tail_fibs):
yield x + y
for x, y in zip(range(10), fibs()):
print("Fibonacci Number #{} equals {}".format(x + 1, y))
Result:
Fibonacci Number #1 equals 1
Fibonacci Number #2 equals 1
Fibonacci Number #3 equals 2
Fibonacci Number #4 equals 3
Fibonacci Number #5 equals 5
Fibonacci Number #6 equals 8
Fibonacci Number #7 equals 13
Fibonacci Number #8 equals 21
Fibonacci Number #9 equals 34
Fibonacci Number #10 equals 55
Питонячья версия длиннее, конечно, но это тоже ленивая генерация бесконечной последовательности чисел Фибоначчи :)
Неплохая статейка про альтернативу
Надо взять на вооружение
amend в #git: https://dev.to/tmr232/dont-amend-fixНадо взять на вооружение
The Practical Dev
Don't Amend, Fix
A fun alternative to `git commit --amend`
https://github.com/metosin/compojure-api - отличный набор батареек для
Тут вам и схема для валидации и преобразования данных и генерация документации (с паре со
compojure (это такой слой роутинга в HTTP-стеке #сlojure)Тут вам и схема для валидации и преобразования данных и генерация документации (с паре со
Swagger) и прочее. Если вы периодически покложуриваете, то вам определённо стоит обратить внимание на пакетик.GitHub
GitHub - metosin/compojure-api: Sweet web apis with Compojure & Swagger
Sweet web apis with Compojure & Swagger. Contribute to metosin/compojure-api development by creating an account on GitHub.
Оказывается, для #python тоже есть #language_server!
https://github.com/palantir/python-language-server
Если вам незнакома сама концепция language servers, прошу пройти на http://langserver.org/ и приобщиться.
Для ленивых кратко суть: language server, это... сервер(!), запускающийся локально (обычно - в контексте проекта) и предоставляющий HTTP API для интроспекции, документации по коду, "go to definition" и прочих задач, которые могут потребоваться в вашей любимой IDE, и/или не менее любимом редакторе (я, вот, заядлый emacs'er). И главное отличие LS от "плагинов к редакторам" в том, то LS пишется один раз и используется всеми. Концепция очень богатая и я очень рад, что она захватывает умы писателей инструментов для языков. Жду-недождусь language server для любимого #haskell :)
https://github.com/palantir/python-language-server
Если вам незнакома сама концепция language servers, прошу пройти на http://langserver.org/ и приобщиться.
Для ленивых кратко суть: language server, это... сервер(!), запускающийся локально (обычно - в контексте проекта) и предоставляющий HTTP API для интроспекции, документации по коду, "go to definition" и прочих задач, которые могут потребоваться в вашей любимой IDE, и/или не менее любимом редакторе (я, вот, заядлый emacs'er). И главное отличие LS от "плагинов к редакторам" в том, то LS пишется один раз и используется всеми. Концепция очень богатая и я очень рад, что она захватывает умы писателей инструментов для языков. Жду-недождусь language server для любимого #haskell :)
GitHub
GitHub - palantir/python-language-server: An implementation of the Language Server Protocol for Python
An implementation of the Language Server Protocol for Python - palantir/python-language-server
Почти четыре года уже прошло, а это видео всё ещё прекрасно: https://www.youtube.com/watch?v=RqvCNb7fKsg
#haskell, #юмор, вот это всё
#haskell, #юмор, вот это всё
YouTube
Programming - Why Haskell is Great - 10 minutes
http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=lung+blower+5000&rh=i%3Aaps%2Ck%3Alung+blower+5000
http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=hyperspherical+haskell+interpreter&rh=i%3Aaps%2C…
http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=hyperspherical+haskell+interpreter&rh=i%3Aaps%2C…
Прекрасная книга #SICP теперь доступна для
Теперь она и свёрстана красиво и будет отлично читаться с любых экранов, в т.ч. и небольших!
комфортного чтения в браузере здесь: https://sarabander.github.io/sicp/Теперь она и свёрстана красиво и будет отлично читаться с любых экранов, в т.ч. и небольших!
Алфавит, в котором каждой букве соответствует язык программирования и
Что примечательно, многие буквы представляют далеко не самые популярные образчики! Да ещё и языков с синтаксисом на S-expressions аж целых три:
Лично я бы ещё
#just4fun
hello world на оном: https://inedo.com/abc/lettersЧто примечательно, многие буквы представляют далеко не самые популярные образчики! Да ещё и языков с синтаксисом на S-expressions аж целых три:
Clojure, Lisp и Qui - странно, что "R" не Racket и "S" не Scheme :)Лично я бы ещё
Java заменил на J и Ruby на тот же Red`/`Rebol или даже на РАПИРА (да хоть на R). Но всё равно алфавит прекрасный!#just4fun
Ещё один
Написан он на #rust и, несмотря на юность, уже умеет многое. Меня, например, радует возможность класть посты в подпапки вместе с дополнительными файлами (картинки и проч) и вообще выстраивать целые иерархии записей. RSS, тэги и категории также присутствуют - это умеет любой уважающий себя генератор. Ещё есть
Вердикт - стоит попробовать! Я то пока с #Hakyll слезать не собираюсь, тем более что блог я подзабросил - да, опять - и если и пишу, то сюда. Но Rust мне интересен и наблюдать за появлением и развитием проектов на оном мне нравится :)
генератор статических сайтов: https://github.com/Keats/gutenbergНаписан он на #rust и, несмотря на юность, уже умеет многое. Меня, например, радует возможность класть посты в подпапки вместе с дополнительными файлами (картинки и проч) и вообще выстраивать целые иерархии записей. RSS, тэги и категории также присутствуют - это умеет любой уважающий себя генератор. Ещё есть
Jinja2 / Django-совместимые шаблоны.Вердикт - стоит попробовать! Я то пока с #Hakyll слезать не собираюсь, тем более что блог я подзабросил - да, опять - и если и пишу, то сюда. Но Rust мне интересен и наблюдать за появлением и развитием проектов на оном мне нравится :)
GitHub
getzola/zola
A fast static site generator in a single binary with everything built-in. https://www.getzola.org - getzola/zola
Красивый улучшатель вывода информации об исключениях в коде на #python: https://github.com/Qix-/better-exceptions Подключается либо импортом модуля, либо через hook. После подключения исключения начинают выглядеть так:
Интересное мнение о
В частности, мне нравится пункт "Checking simple rules and conventions: NO". Я обеими руками за то, чтобы проверку code style полностью автоматизировать и перестать тратить время споры о стилях и переключиться на споры о дизайне :)
Code Review: https://neilmitchell.blogspot.ru/2017/04/code-review-reviewed.htmlВ частности, мне нравится пункт "Checking simple rules and conventions: NO". Я обеими руками за то, чтобы проверку code style полностью автоматизировать и перестать тратить время споры о стилях и переключиться на споры о дизайне :)
neilmitchell.blogspot.co.uk
Code Review Reviewed
Summary: I used to be mildly against code review on all merges. Now I'm for it. Code review is a good idea for knowledge sharing, not spotti...
http://tonsky.livejournal.com/310929.html хорошая статейка про то, как всё плохо в этих ваших вэбчиках. Никита вообще хорошо пишет, пусть я и не всегда согласен с его точкой зрения :) В этот раз - полностью согласен: да, всё плохо. И мне тоже в последнее время пришлось поработать с вёрсткой (готовой!) с целью её оживления. И пусть эта вёрстка делалась с примененим подхода БЭМ и в целом была довольно адекватна, проблем процесс оживления доставил немало!
Livejournal
Крутое пике
Сегодня я расскажу вам, как хорошо и замечательно обстоят дела на бэкенде. Какие там простые технологии, как легко пишется, как стабильно всё работает. Начинается история с того, что два года назад я перешел во фронтенд. Главный ресурс фронтендера — MDN.…
Кстати, на днях прошел очередной митап нашего русскоязычного сообщества программистов на #haskell (http://ruhaskell.org/). В этот раз снова нас поддержала
Kaspersky Lab, предоставив отличное помещение и помощь людей, благодаря которым видео уже доступно: https://www.youtube.com/watch?v=f6TmB6Zw8MQ C 1:38:40 можно послушать мой доклад про GHCJS, React, Flux и про то, как мы с этим живем :)Хехе, перепутал и дал ссылку на видео с предыдущего митапа (впрочем я там тоже есть :)). Вот правильная ссылка на недавний: https://www.youtube.com/watch?v=Ew8gl6WF9to (я там с
2:01:46)YouTube
CoLaboratory: ruHaskell 2
В прошлом году совместно с сообществом RuHaskell мы сравнили Haskell с C++ и поговорили о магии типов Haskell. 6 апреля сообщество и «Лаборатория Касперского» вновь пригласили всех заинтересованных на встречу, чтобы обсудить Haskell и другие языки в функциональной…