AlexTCH
309 subscribers
76 photos
4 videos
2 files
902 links
Что-то про программирование, что-то про Computer Science и Data Science, и немного кофе. Ну и всякая чушь вместо Твиттера. :)
Download Telegram
Пишут, что https://people.cs.uchicago.edu/~shanlu/paper/hotos19_azure.pdf
found that 21% of the cloud outages resulted from inconsistent data format assumptions across different software components and versions

Good luck with dynamically typed languages.
(Сам я, конечно, не читал что там пишут 😁)
https://zuckermaninstitute.columbia.edu/innovation-scholar-zenna-tavares-wants-give-machines-common-sense

Кто-то плотно занимается counterfactual reasoning. Звучит многообещающе. Я слышал, у них открыты вакансии.
https://hal.archives-ouvertes.fr/hal-02117588/document
"Dealing With Software Collapse" (aka "bit rot").

The paper talks about situation with Scientific Software but pretty relevant to all of Software Development. The author introduces the notion of time scale of changes in a project and suggests different "collapse mitigation strategies" based on the estimated scale of the project and prospective dependencies.

The author concludes with a personal story dealing with collapse of Scientific Python ecosystem years before Python 3 became a must. Which was rather surprising for me and is pretty concerning.
More innovation!
While browsing a Github repository, press the period key . . This opens the repository in a full-fledged VS Code-based web editor for easy browsing, pushing changes and evaluating PRs. More info.
https://doi.org/10.1017/S0956796821000113
"How to design co-programs" by Jeremy Gibbons

Статья призывает расширить подход How to Design Programs (aka HtDP, серия курсов, обучающих студентов программированию с нуля, плюс два издания одноимённой книги: https://htdp.org/ если кто не знает) за счёт введения понятия ко-рекурсивных функций и соответствующих паттернов для их построения.

Говоря по-простому, ко-рекурсивные функции — это такие, которые строят свой результат "по кусочкам", используя конструкторы соответствующего (алгебраического) типа данных, вместо того (или вместе с тем) чтобы разбирать входные данные "на кусочки" при помощи сопоставления с образцом (aka [datatype] pattern matching).

Я безусловно согласен с Гиббонсом в том, что ко-рекурсивные функции — очень полезный инструмент в арсенале разработчика, особенно, начинающего. Тем не менее, на мой взгляд, эта тема требует намного более тщательной методической проработки чтобы органично встроиться в общую канву HtDP.

Более того, самая интересная часть этой статьи — ещё одна статья, которая не была написана, к сожалению. 😊 В середине повествования Гиббонс обсуждает "генеративную рекурсию" (generative recursion, термин из HtDP), и показывает как функции (изначально) в форме общей генеративной рекурсии могут быть представлены в виде композиции структурно-рекурсивной и ко-рекурсивной функции (так же известной как "иломорфизм" или "хиломорфизм" — hylomorphism). К сожалению, за кадром остаются самые важные и интересные вопросы: как понять, что данную конкретную функцию можно представить в виде такой композиции, или придётся использовать генеративную рекурсию общего вида? как выбрать подходящую промежуточную структуру для рекурсии и ко-рекурсии? Возможно, эти вопросы удастся прояснить тем, кто интегрирует тему ко-рекурсивных функций в свои учебные программы. 😊
1
Do you like ultra-modern, fresh-from-the-future programming languages and development environments? Are you developing one? Take part in http://marianoguerra.github.io/review-jam/ ! 😃

The thing is still forming, contact the organiser with your own ideas and suggestions.
"Зубная нить Ариадны"... 😳
Третьего дня забрал с почты https://madebyknock.com/products/gold-titanium-feld47 — это, конечно, оргазм на кухне.

Я сравниваю с https://www.hario.co.uk/products/hario-ceramic-burr-canister-hand-coffee-grinder которая, хочется верить, не самая плохая ручная кофемолка. И тем не менее, разница — небо и земля. Помимо некоторых просчётов в UX данной модели Hario (банально неудобно держать, потому что сильно "пузатая"), имеется приличный (или неприличный? 😒) люфт, который ведёт к небольшим "заеданиям" и заметной неравномерности помола.

Field 47 — прямая противоположность: ни малейшего люфта нигде, при этом работа механизма невероятно плавная и "лёгкая". Однородность на высоте. При этом и скорость помола выше в 2-3 раза (20-25 секунд на ~17-18 г. против 60+ секунд).

В общем, качество завариваемого кофе увеличилось, вместе с чем увеличилось и качество жизни. Чего и вам желаю! 😊
Самая сильная логическая система, которая только может быть: http://inutile.club/estatis/falso/
Мало кто знает, но уже много лет существует поддержка прямо в Isabelle/HOL и Coq! 😂
https://jupyterbook.org/intro.html

Что-то вроде продвинутого MD-book с возможностью вставки интерактивных Jupyter-backed примеров кода. Может пригодиться для подготовки учебных материалов.
Интересно, почему Slack загружает свой интерфес, а потом всё стирает и загружает его заново? 🤔
https://monto-editor.github.io/about/

Анонсировано как что-то типа ещё более модульного Language Server Protocol для тех, кто хочет написать один раз плагин и использовать во всех редакторах.
https://github.com/svenkeidel/sturdy

A Haskell library for specifying sound and modular abstract interpreters. The authors promise (or even claim having formally proven it) your abstract interpreter will be sound-by-construction because you build it gluing together sound components (with combinators that preserve soundness). Sounds very cool.
Прикольная инфографика. Самое интересное — компании, про которые я бы и не вспомнил. 😅
Forwarded from 彩虹桥
Java 过于弱智:
https://ethanzuckerman.com/2016/06/22/the-worst-thing-i-read-this-year-and-what-it-taught-me-or-can-we-design-sociotechnical-systems-that-dont-suck/

Отличная статья, иллюстрирующая проблемы "решенее-ориентированного" мышления "инженеров". Все указанные эффекты проявляются не только в контексте решения социальных проблем, но и технических — слишком часто мы бежим "писать код" раньше, чем по-настоящему поймём, какую проблему нужно решить, в чём она заключается и чем обусловлена.

Ну и классическое "да чего там может быть сложного?!" в отношении проблем, про которые мы не имеем ни малейшего понятия. 😊
https://blog.codefrau.net/2021/08/what-is-croquet-anyways.html

Crazy JavaScript (and Wasm in the future?) tech: VMs running in a browser synchronized through a mesh of repeaters. Even end-to-end encrypted for a good measure. Instantly multi-user collaborative persistent apps.
https://esoteric.codes/blog/jon-corbett

Абсолютно другой подход к языку программирования как концепции. Плюс некоторые инсайты в культуру индейцев и её конфликт с нашей культурой.