☕️ Мерлин заваривает τσάι 🐌
The Python environmental protection agency wants to seal it in a cement chamber, with pictorial messages to future civilizations warning them about the danger of using sudo to install random Python packages. https://xkcd.com/1987/
То, что мне нравится в Python – идиоматичный код обычно является и самым эффективным кодом.
Возможность увеличивать читабельность кода одновременно с оптимизацией производительности – очень крутой перк.
Вот хороший доклад на тему
https://youtu.be/lnBC5-5EqZY
Возможность увеличивать читабельность кода одновременно с оптимизацией производительности – очень крутой перк.
Вот хороший доклад на тему
https://youtu.be/lnBC5-5EqZY
👍2🍌2😡2
Примерно раз в полгода делаю подход к #zig - язык в предрелизном возрасте, поэтому в нём постоянно выростает что-то новое.
На этот раз написал
Для реализации пришлось портировать
Понравилось несколько моментов:
- код удалось написать в один проход
- сообщения ошибок от компилятора стали лучше и хорошо помогли в процессе
- оказывается появилось аж два пакетных менеджера от комьюнити - https://github.com/nektro/zigmod и https://github.com/mattnite/gyro. Gyro мне кажется несколько более зрелым. Впрочем до релиза языка это всё равно не важно.
- поддержка в vscode тоже улучшилась - zig lsp работает неплохо, хотя и не хватает мелочей типа "запустить тест ткнув на кнопочку над кодом теста"
Код, который я сделалъ
https://github.com/ninedraft/nap
На этот раз написал
nap - "аналог" утилиты sleep, который принимает строку вида 1h15m и потом каждые N секунд печатает оставшееся время до окончания срабатывания команды.Для реализации пришлось портировать
time.ParseDuration из #go - почему-то не нашёл аналог в стандартной библиотеке zig-а.Понравилось несколько моментов:
- код удалось написать в один проход
- сообщения ошибок от компилятора стали лучше и хорошо помогли в процессе
- оказывается появилось аж два пакетных менеджера от комьюнити - https://github.com/nektro/zigmod и https://github.com/mattnite/gyro. Gyro мне кажется несколько более зрелым. Впрочем до релиза языка это всё равно не важно.
- поддержка в vscode тоже улучшилась - zig lsp работает неплохо, хотя и не хватает мелочей типа "запустить тест ткнув на кнопочку над кодом теста"
Код, который я сделалъ
https://github.com/ninedraft/nap
👍7🤪2😡2
Это как нарисовать узор на берегу моря чтобы волны построили песочный замок
https://btm.qva.mybluehost.me/building-arbitrary-life-patterns-in-15-gliders/
https://btm.qva.mybluehost.me/building-arbitrary-life-patterns-in-15-gliders/
🤩1😡1
New replicator just dropped https://fxtwitter.com/bertchakovsky/status/1666634157685112832
FxTwitter / FixupX
Bert Chan (@BertChakovsky)
Self-replicating pattern in discrete CA, a very rare (if not the first of its kind) finding by my friend Bo Yang. Unlike von Neumann's self-rep machine, "Outlier" is entirely emergent during a search for open-endedness, & shows signs of robustness.
Paper:…
Paper:…
😡1
Схожу с ума от подачи материала в этом видео https://youtu.be/WMJ1H3Ai-qs
YouTube
✨ NEW Cellular Automata
EPISODE 34
Support me at https://patreon.com/TodePond
All cellular automata code for this video is in this repo: https://github.com/TodePond/NewPond
I also coded a tool that let me write things with the bird.
All the code for that is in this repo: http…
Support me at https://patreon.com/TodePond
All cellular automata code for this video is in this repo: https://github.com/TodePond/NewPond
I also coded a tool that let me write things with the bird.
All the code for that is in this repo: http…
😍3🤯1😡1
☕️ Мерлин заваривает τσάι 🐌
LLM и цензура Мне тут пришла в голову одна мысль, вроде бы тривиальная. Но в своём медийном пузыре я почему-то эту мысль не наблюдаю. Новые модели делают проверку текстов на соответствие критериям цензуры очень простой задачей. Человеческие цензоры медленные…
Pocketoptionguides
Japan’s AI Strategy: No Copyright, Full Speed
Japan removes copyright barriers for AI training to lead global innovation. Discover how this bold move ties into trading tech and the rise of AI in finance.
😡1
Недавно вышла версия 1.21 release candidate 1
Похоже нас ждёт крупный релиз. Дженерики начали просачиваться в стандартную библиотеку, так же продолжается переделка криптографии в стандартной библиотеке. PGO шагает по планете и готов к проду
улучшения языка и компилятора:
- для инициализации пакетов теперь используется топологическая сортировка
- новые функции в embedded пакете: min и max для всех Ordered типов, clear для хэшмап
- улучшенный вывод типов
- profile-guided optimisation стабилизирована и флаг -pgo теперь включён в auto режим по умолчанию. Если в директории есть файл default.pgo, то его содержимое будет использоваться для оптимизаций
- PGO теперь может девиртуализировать вызовы методов интерфейсов, заменяя их на вызовы конкретных типов
- компилятор теперь собирается с pgo, за счёт чего время сборки проектов уменьшилось примерно на 6%
- для стек-трейсов теперь печатаются первые и последние 50 фреймов стека вместо того чтобы печатать последние 100
- оптимизировали GC, уменьшили на 40% задержки в краевых случаях и немного уменьшили потребление памяти
- ускорили CGO вызовы c 1-3 мкс до 100-200 нс
- линкер теперь может удалять глобальные переменные типа map, если это не влияет на остальной код
изменения стандартной библиотеки:
- новые пакеты:
- log/slog и testing/slogtest для структурных логов - похоже время zap и logrus уходит
- slices и maps стабилизированы и перемещены из /x/exp в стандартную библиотеку
- cmp, который предоставляет функции Less и Compare для comparable типов
- все имплементации fs.FileInfo теперь имплементируют fmt.Stringer
- новая функции io/fs.FormatDirEntry и io/fs.FormatFileInfo печатают fs.DirEntry и fs.FileInfo в строку
- новые методы bytes.Buffer Available() int and AvailableBuffer() []byte позволяют делать append байтов без дополнительных аллокаций
- новая функция context.WithoutCancel возвращает context.Context, который не отменяется, если отменяется родительский контекст
- новые функции context.WithDeadlineCause и context.WithTimeoutCause позволяют переопределить ошибку, которую возвратит отменённый контекст
- новая функция context.AfterFunc(context.Context, func()) func() bool запускает функцию после отмены контекста
- новая ошибка errors.ErrUnsupported - теперь это стандартный способ показать, что какая-то операция не поддерживается
- новый тип флагов BoolFunc в flag, который вызывает хук, если соответсвующий флаг установлен
- стал доступен Multipath TCP режим в пакете net. В будущем он будет включаться автоматически
- в пакете net/http ResponseController.EnableFullDuplex включает дуплексный режим для http.Handler: можно писать в ResponseWriter и читать из Request.Body одновременно
- пакет unicode теперь поддерживает стандарт Unicode 15.0.0
- новые функции в sync: OnceFunc, OnceValue, and OnceValues - ленивая инициализация для всех, даром и никто обиженный не убежит
Ещё добавились новые метрики, ускорен сбор трейсов, сильно переработана криптография (нужен отдельный подробный разбор, там много интересного), потвиканы сисколы и их ошибки
https://tip.golang.org/doc/go1.21
https://en.wikipedia.org/wiki/Multipath_TCP
Похоже нас ждёт крупный релиз. Дженерики начали просачиваться в стандартную библиотеку, так же продолжается переделка криптографии в стандартной библиотеке. PGO шагает по планете и готов к проду
улучшения языка и компилятора:
- для инициализации пакетов теперь используется топологическая сортировка
- новые функции в embedded пакете: min и max для всех Ordered типов, clear для хэшмап
- улучшенный вывод типов
- profile-guided optimisation стабилизирована и флаг -pgo теперь включён в auto режим по умолчанию. Если в директории есть файл default.pgo, то его содержимое будет использоваться для оптимизаций
- PGO теперь может девиртуализировать вызовы методов интерфейсов, заменяя их на вызовы конкретных типов
- компилятор теперь собирается с pgo, за счёт чего время сборки проектов уменьшилось примерно на 6%
- для стек-трейсов теперь печатаются первые и последние 50 фреймов стека вместо того чтобы печатать последние 100
- оптимизировали GC, уменьшили на 40% задержки в краевых случаях и немного уменьшили потребление памяти
- ускорили CGO вызовы c 1-3 мкс до 100-200 нс
- линкер теперь может удалять глобальные переменные типа map, если это не влияет на остальной код
изменения стандартной библиотеки:
- новые пакеты:
- log/slog и testing/slogtest для структурных логов - похоже время zap и logrus уходит
- slices и maps стабилизированы и перемещены из /x/exp в стандартную библиотеку
- cmp, который предоставляет функции Less и Compare для comparable типов
- все имплементации fs.FileInfo теперь имплементируют fmt.Stringer
- новая функции io/fs.FormatDirEntry и io/fs.FormatFileInfo печатают fs.DirEntry и fs.FileInfo в строку
- новые методы bytes.Buffer Available() int and AvailableBuffer() []byte позволяют делать append байтов без дополнительных аллокаций
- новая функция context.WithoutCancel возвращает context.Context, который не отменяется, если отменяется родительский контекст
- новые функции context.WithDeadlineCause и context.WithTimeoutCause позволяют переопределить ошибку, которую возвратит отменённый контекст
- новая функция context.AfterFunc(context.Context, func()) func() bool запускает функцию после отмены контекста
- новая ошибка errors.ErrUnsupported - теперь это стандартный способ показать, что какая-то операция не поддерживается
- новый тип флагов BoolFunc в flag, который вызывает хук, если соответсвующий флаг установлен
- стал доступен Multipath TCP режим в пакете net. В будущем он будет включаться автоматически
- в пакете net/http ResponseController.EnableFullDuplex включает дуплексный режим для http.Handler: можно писать в ResponseWriter и читать из Request.Body одновременно
- пакет unicode теперь поддерживает стандарт Unicode 15.0.0
- новые функции в sync: OnceFunc, OnceValue, and OnceValues - ленивая инициализация для всех, даром и никто обиженный не убежит
Ещё добавились новые метрики, ускорен сбор трейсов, сильно переработана криптография (нужен отдельный подробный разбор, там много интересного), потвиканы сисколы и их ошибки
https://tip.golang.org/doc/go1.21
https://en.wikipedia.org/wiki/Multipath_TCP
tip.golang.org
Go 1.21 Release Notes - The Go Programming Language
👍15🎉6🔥2😡1
☕️ Мерлин заваривает τσάι 🐌
Вот такой интернет мне нравится Gemini is a new application-level internet protocol for the distribution of arbitrary files, with some special consideration for serving a lightweight hypertext format which facilitates linking between files. You may think…
А тем временем gemini-sphere исполнилось четыре года - сообщество живо и растёт
gemini://gemini.circumlunar.space/news/2023_06_20.gmi🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
👀4🐳3🤔1😡1