Linker Unsafe
220 subscribers
182 photos
24 videos
18 files
859 links
Собираю ржавые и лямбдообразные новости, прикольные цитатки с форумов, ссылки на статьи и всё такое. В-общем, сюда я тащу такие крупицы, которые мне будет жаль потерять в цифровой бездне. Возможно, они покажутся интересными и вам.

Фи сюда: @nlinker
Download Telegram
Форумная дискуссия это в сущности построение и обход дерева ходов из теории игр.

Ну вот представим даже обычную дискуссию

чел А задаёт вопрос, чел B на него отвечает
А непонятен ответ В, он задаёт уточняющий вопрос, В снова на него отвечает
А снова непонятен, он задаёт ещё один уточняющий вопрос, и т.д. у А может быть несколько уточняющих вопросов, получаем некоторое дерево ответов, где уточняющие вопросы - это рёбра
на какие-то из вопросов В может ответить, но у А снова могут быть вопросы по поводу ответов выше в иерархии
если где-то посередине весь этот процесс прервётся, какая картина процесса будет в сознании А и В?
с точки зрения В, он ответил на количество вопросов равное количеству вершин в дереве
с точки зрения А, он не получил ответа даже на свой исходный вопрос, ну и ценность оставшихся ответов для него тоже сомнительна
если цепочка не прервётся, и В ответит на все вопросы, скорее всего представление об интеллектуальном превосходстве у А и В в обсуждаемой теме будет согласовано
вот и получается - если ты хочешь, чтобы остальные так же осознавали твоё превосходство, просто заявлять о нём бесполезно, необходимо стремиться, чтобы обход дерева ответов всегда был завершён
в том числе это означает чаще давать ответы, не вызывающие дополнительных вопросов,
т.е. даже если ты хочешь продемонстрировать экспертизу в связанных областях, нужно быть умеренным в этом желании
Пора уже создавать формальное исчисление форумных срачей 😅😂
Кажется будет частный случай антагонистической игры с полной информацией, но необязательно с конечным множеством ходов. Слушайте, так это сложнее шахмат!
Осталась всего-лишь одна причина не покупать AMD Threadripper 399X😆
https://bobweb.co/article/threadripper-meets-rustc
Линус о спецификациях

A "spec" is close to useless. I have _never_ seen a spec that was both big enough to be useful _and_ accurate.

And I have seen _lots_ of total crap work that was based on specs. It's _the_ single worst way to write software, because it by definition means that the software was written to match theory, not reality.


https://yarchive.net/comp/linux/specs.html
Поздравляем Вафеля, круглое число!👍🔥🍕
Forwarded from мне не нравится реальность (вафель 🧇💛)
тем временем на канал подписался 128 подписчик.... всем привет и спасибо 👉👈
Я в голос смеялся 😂
nitpicker_mode(|| {
Если заглянуть в nomicon, то там есть такой код, как на левой картинке, только чувак в джинсках монтирует высоковольтный кабель под напряжением, балансируя на канате, соединяющим два подвешенных электрокара...
});
Дядя Боб разразился новым кейноутом "The Last Programming Language"

Вам не стоит его смотреть, вместо вас его посмотрел я😊 По мне, этот видос просто растекание мыслью по древу. Так вот, моё TLDW == несколько мыслей оттуда, мои придирки наклонным шрифтом после тире:

21:11 functional is the discipline upon assignment — это ошибка так думать про ФП, главное там это вынесение побочных эффектов как значений

28:40 there's probably something about programming and text. That is so well aligned because when you're proaramming, time is linear in a program and so we think of our code as being linear in an algiorithm, time goes in one direction so that's one dimensional: text. — ну бред же, не? (об этом в конце)

25:51 algorithms occur as a sequence of events, the execution of an one-dimensional time runs in a single dimension so it is probably natural model it as a sequence of statements in a text — смотря какой алгоритм

32:08 Lisp is the language that will not die

39:03 C++ what about that that's all the same problems that C has and, boy, is its syntax heavy Wow learning all that syntax is just horrible and now I mean the Standards Committee has just gone completely ape, they're just adding syntax lots of little fiddly stuff in there I think I'd rather not learn all that stuff

46:49 and another thing we've learned is that we want our languages to be garbage collected yeah we've learned our lesson on this what we don't want to be doing manual memory control anymore my god how many times have we been rebooting it midnight because of horrible memory leaks and stuff like that — вот тут большая ошибка, отсутствие сборщика мусора НЕ влечёт ручного управления памяти

50:25 another language attribute that I think we want is homo iconicity

52:02 Сlosure it's the only one that meets all the criteria I've outlined I think it's a good language

Особенно меня подожгло от того, что якобы текст линейный и алгоритмы линейные, что офигенно далеко от правды, например, программа на ленивом Хаскеле может прыгать по множеству редукций и даже одновременно, поэтому так и важна чистота, чтобы этот хаос был под контролем, а как выглядят и записаны вычисления это уже дело вкуса и стиля.

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

Ах да, и ни слова о Rust!
Этот Дядя Боб сломался, несите другого.
Начался опрос о состоянии Rust в 2020 году: https://blog.rust-lang.org/2020/09/10/survey-launch.html
Не рефлексируйте, даже если вы просто слышали о Rust краем уха и запускали только "Hello, world", там будет что рассказать разработчикам и поделиться вашими впечатлениями.
А тем временем я покажу такую картинку😉
Новый пейпер, Dependent Type Systems as Macros

Переведённая аннотация:

Мы представляем Turnstile+, высокоуровневый, основанный на макросах мета-DSL для построения языков с зависимыми типами. С помощью него разработчики языков могут быстро запрототипировать и развить фичи, связанные с зависимыми типами. Или же они могут создать совершенно новый DSL, мощь зависимых типов которого органично сочетаются с какой-то предметной областью. Поддержка языко-ориентированного программирования со стороны нашего фреймворка также делает его подходящим для экспериментов с формальными системами и компонентами, например proof assistant и соответствующие DSL-и.

Довольно интересно, хотя до продакшена такие инструменты дойдут очень не скоро
https://www.ccs.neu.edu/home/stchang/pubs/cbtb-popl2020.pdf
Пейпер далеко уже не новость, но тем не менее хочется его положить сюда:
Unsupervised Translation of Programming Languages

Транскомпилятор, также известный как транслятор исходного кода в другой исходный код, это система, которая переводит исходники из одного высокоуровневого языка (такого как C++ или Python) в другой.

https://arxiv.org/pdf/2006.03511.pdf

Разумеется работает пока через пень-колоду, но похоже через годиков 5 будет Boost на Питоне (как результат конвертации) или Django на Rust (я очень надеюсь, что через 5 лет Rust проникнет в индустрию).
В C++-ном выхлопе всяко есть мемори лик и ещё два UB 😃
Несмотря на то, что я чаще использую Intellij Rust плагин, тем не менее важные новости в rust-analyzer завезли, много подсказок и самое главное (!) ошибки в макросах:
https://rust-analyzer.github.io/thisweek/2020/09/14/changelog-42.html