AlexTCH
313 subscribers
76 photos
4 videos
2 files
906 links
Что-то про программирование, что-то про Computer Science и Data Science, и немного кофе. Ну и всякая чушь вместо Твиттера. :)
Download Telegram
https://algebradriven.design/
"Algebra-Driven Design", a recent book by Sandy Maguire in a tradition of Richard Bird's "Pearls of Functional Algorithm Design" and to some extent "How to Design Programs".

Though the author explicitly references "prior art" going back to 1970s including pretty much mandatory quotes from Dijkstra, Landin's classic "The Next 700 Programming Language" and Backus' Turing Award lecture. 😊

The style is bold and fun to read. Just for a teaser.

> Our discussion on abstraction is merely foreplay to set the stage for this book’s main contribution: that code is the wrong abstraction for doing programming.

> If you take away nothing else from this book, it should be that code is a uniquely terrible tool for thought.

> A core theme of Algebra-Driven Design is the insistence on working at the proper level of abstraction and on creating new levels if the available ones aren’t sufficient. This book isn’t here to harp on about how source code shouldn’t be represented — or, for that matter, experienced — in bytes. No, the argument presented is that__ programs themselves are the wrong level of abstraction__, and what we can do about that.

You can taste a sample yourself: http://samples.leanpub.com/algebra-driven-design-sample.pdf 😊

And if you think Sandy teaches worthless crap that can never work sure think you can take a bunch of quotes out of context and mock him however you please, but I challenge you to buy the book, study it through and through, and write your own piece point out exactly where Sandy gets it all wrong. 😁
🤔3👍1
Not an asshole, but "culturally challenged person"!
😁4
The famous ingenuity of Excel (clones). 😒
😢2
JFYI: in Julia you can't write
Set(shit) - Set(othershit)

you have to write
setdiff(Set(shit), Set(othershit))

Such multiple dispatch much intuitive. 🤦‍♀️
😁3
Рабочее место быдло-фрилансера.
🤩1
http://tomasp.net/blog/2022/no-code-substrates/
"No-code, no thought?"

Tomas Petricek thinks it's a bit more complicated than that. He introduces the notion of "programming substrates" to discuss different forms and levels of interacting and modifying a system, accommodating the whole spectrum from "just UI" to "codeful" development.

Then he identifies some challenges for no-code systems stemming from "usual" "scripting" tasks and discusses certain "dimensions" for no-code systems design drawing inspirations from historical examples like HyperCard and SmallTalk — as customary — but also examples of early programming languages themselves.

And a host of very curious links as a bonus. 😊
Что меня втупляет в Julia, так это необходимость руками collect'ить итераторы. Их нельзя просто взять и передать туда, где ожидается массив. А это значит, что их нельзя передать примерно никуда. 🤦‍♀️
Forwarded from Экспресс 42
Ваши данные есть у киберпреступников?

Напоминаем сайт для проверки: https://haveibeenpwned.com/
Укажите свой номер телефона или адрес почты, и оцените результат.

Если данные есть в базе, то вы узнаете:
🔹откуда, когда была утечка
🔹какие данные скомпрометированы (адреса, пароли, геолокации).

Что делать, если нашли себя в базе?
1. Сменить пароли: на сайте, откуда произошла утечка, и от своей почты.
2. Убедиться, что подключили двухфакторную аутентификацию.
Оказывается, Julia умеет дампить скомпилированный код в виде бинарника: https://julialang.github.io/PackageCompiler.jl/dev/

Основное предназначение — дампить image для рабочей сессии чтобы после закрытия/открытия не компилировать всё с нуля. Было бы неплохо, если бы они и загруженные в память массивы дампили — вот это было бы ускорение работы. 😏

Как бы то ни было, поверх базовой функциональности есть ещё два применения: PackageCompiler может добавить к дампу нужные куски Julia, и получить либо динамическую библиотеку (для этого нужно определить C-callable функции), либо вообще standalone application.

Можно будет поиграться при случае. 😏
SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley values from game theory and their related extensions:
https://github.com/slundberg/shap#citations

#machinelearning #explainableai
https://www.hertzbleed.com/

Holw cow! They're now leaking secrets from constant-time cryptographic algorithms using CPUs' frequency scaling! 😱
🔥1
Хроники войны против компьютеров общего назначения, так сказать: https://cheapskatesguide.org/articles/owning-our-devices.html

Типа, "мы программисты" и так понимаем к чему всё идёт, и давно возмущены. Мы, типа, поборники свободного или хотя бы открытого софта, прожжёные пользователи GNU/Linux. Но там всё равно имеется кучка интересных ссылок. В частности.

https://cheapskatesguide.org/articles/pluton.html — Ryzen 6000 CPU for laptops is the first to incorporate Microsoft's Pluton technology. Давайте, фанаты Ryzen, топайте стройными рядами в цифровой концлагерь Microsoft. 😏

В общем, дело идёт к тому, что лет через 5 я личными вещами буду заниматься на "полукустарном" ноуте на RISC-V под управлением DragonflyBSD (просто давно хотел попробовать Dragonfly, если не попрёт, слезу на FreeBSD, конечно).
🤔3
Highlights from #Unison Forall conf.

They're working on Native Compilation and GPU support (at least in their cloud).
🔥2
— I'm a confounder.
— Did you mean cofounder?
— No.
AlexTCH
Внезапный ночер поэзии. Без особого повода вспомнил https://stihi.ru/2007/06/21-1254 Наслаждайтесь.
Вчера недостаточно внимательно прочитал. Потому что я помню вариант отсюда: http://lib.ru/SHTERN/shliman.txt (там и остальное прекрасно).