☕️ Мерлин заваривает τσάι 🐌
1.12K subscribers
3.52K photos
63 videos
94 files
2.42K links
💊
Download Telegram
Наткнулся на любопытные размышления о таком явлении, как насыщении технологиями.

Мысль простая, но интересная: существует набор экологических ниш, в рамках которых развиваются технологии. После того, как ниша заполнена, развитие в ней по сути останавливается до крупных потрясений на всём технологическом ландшафте.

Для примера, возьмём калькуляторы. Да, потроха изменились, но набор функций и даже внешний интерфейс что у устройств 80-х, что у современных программных реализаций почти не отличается.

Наверное поэтому многим и кажется, что прогресс в ИТ почти затих -- нам попросту не хватает новых точек приложения.

Ссылка на статью: gemini://envs.net/~kkernig/gemlog/2021-02-03-saturation_effects.gmi

И да, блог размещён на gemini-сервере, так что разживитесь каким-нибудь браузером для этого протокола, например amfora или lagrange.
Андроид-калькулятор и научный калькулятор HP-35
☕️ Мерлин заваривает τσάι 🐌
Небольшой список русскоязычных подкастов, которые я слушаю регулярно. Вообще составил его для знакомого в одном чатике, но пусть будет здесь тоже Завтракаст — пока самый лучший подкаст про игры, музыку, сериалы, фильмы. И про фотографию. Постнаука — лекции…
Усиление+ – подкаст про программирование, кишки графического стека в современных играх, велоспорт и фантастику

Не занесли – развесёлый подкаст про игры, лёгкий и низкокалорийный

Цинковый прод – взгляд на разработку со стороны PHP программистов, иногда попадаются хардкорные серии

Hobby talks – то, что написано на упаковке. Настолки, интересные факты, разговоры на кухне с батей

Generic Talks – кишки go и хайлоада вообще, современную разработку
В состав ветки linux-next, на основе которой будет сформирован выпуск ядра Linux 5.13, включён начальный набор компонентов для разработки драйверов устройств на языке Rust. Отдельно опубликована документация по использованию Rust в ядре Linux и пример модуля ядра с драйвером символьного устройства на языке Rust. Код добавил Стивен Ротвелл (Stephen Rothwell), мэйнтейнер ветки Linux-next. Обычно ветка Linux-next включает код, готовый для принятия в следующем цикле приёма изменений в ядро, но пока точно не ясно будет ли поддержка Rust принята Линусом Торвальдсом в состав Linux 5.13, так как код не прошёл рецензирование широким кругом разработчиков.

Поддержка разработки драйверов ядра Linux на языке Rust активно обсуждалась в прошлом году, в том числе с участием Линуса Торвальдса, который не исключал такую возможность. Идею также поддержал Грег Кроа-Хартман (Greg Kroah-Hartman), отвечающий за поддержку стабильной ветки ядра Linux. Использование Rust для разработки драйверов позволит с минимальными усилиями создавать безопасные и более качественные драйверы, избавленные от таких проблем как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера.

Для активации поддержки Rust в ветке linux-next в KConfig добавлена опция CONFIG_RUST ("Rust support" в меню "General setup"), при включении которой проверяется наличие в системе компилятора rustc и при его присутствии даётся возможность включить остальные компоненты, завязанные на Rust (например, в меню "Kernel hacking" появляется секция "Rust hacking"). Использование Rust рассматривается как опция, не активная по умолчанию и не приводящая к включению Rust в число обязательных сборочных зависимостей к ядру.

Сборка компонентов ядра на Rust возможна как при использовании GCC, так и при сборке с помощью Clang. Для использования Rust в ядре требуется установка свежих ночных сборок компилятора rustc, не старее ветки nightly-2021-02-20 (по возможности обещают добавить поддержку стабильных веток Rust, но пока имеется привязка к некоторым экспериментальным возможностям). Также необходимо наличие в системе стандартных библиотек Rust, поставляемых в пакете rust-src, и генератора привязок bindgen. Поддержка пока ограничена платформами x86_64 и ARM64.

https://xn--r1a.website/crossjoin/67
Forwarded from Daily Geek News (Umputun U)
Специалисты по криптографии, из моего опыта общения с ними, одни из самых резких. И их можно понять - люди постоянно наступают на одни и те же грабли даже когда пытаются применить проверенные решения. А уж “я сделаю свою могучую систему шифрования” доводит экспертов до нервного срыва.

Я не раз видел дискуссии и в онлайне и в реальной жизни, где эти ребята & девчата поясняли оппоненту все его криптографическую никчёмность прямым текстом, без этих модных изысков типа “решение интересное, но есть ряд мест для улучшения”. За прямоту и техническую “токсичность” лично от меня - рескепты.

Второе для них, по степени вызванного гнева, это копирование снипетов с SO и прочих мест, где люди гуглят “как заэнкриптить” или “как хранить пароли”. Вот это репо как раз и придуманно для того, чтоб не копировали там, но брали готовые снипеты тут.

Я не эксперт в этой области, но на беглый взгляд никаких вопиющих косяков не заметил.

https://github.com/gtank/cryptopasta
смол брейн: настроить CI типа дрона для своего домашнего проекта

галактик брейн: git hook post-commit rsync to remote бррррррр


* я называю это «орочий CI»
From Russia with Code: Programming Migrations in Post-Soviet Times, ISBN 978-1478002994
Все говорят о вредоносном коде, который у кого-то не получилось тайком пропихнуть в репозиторий PHP, но почему никто не говорит о вредоносном коде, который удалось тайком закоммитить?

Я имею в виду, мы же не можем быть уверены наверняка.

Кстати, статья о том, как гипотетически можно было бы атаковать репозиторий curl <https://daniel.haxx.se/blog/2021/03/30/howto-backdoor-curl/>
Podlodka #209 – Операционные системы

Долго представлять эту тему не нужно, ведь выпуск входит в «золотой фонд фундаментальных выпусков» Podlodka и занимает место рядышком с "базами данных". Все, как вы любите – погружение в историю, разбор базовых компонентов и детские вопросы «а как загружается ОС?» с подробнейшими ответами на них. Под конец немного философских размышлений об упадке архитектуры ОС и стагнирующем настоящем, а также вероятности наступления светлого будущего. Осторожно, выпуск щедро приправлен байками!

Managed Kubernetes от Selectel для современных проектов: https://slc.tl/Gz62X, промокод Podlodka дает 1000 рублей на услугу. Вводить сюда: https://my.selectel.ru/vpc/

Сайт: https://podlodka.io/209
Soundcloud: http://bit.ly/podlodka-209
iTunes: https://apple.co/2vCBRcs 
Я.Музыка: https://bit.ly/32lGgNC

Поддержи лучший подкаст про IT: https://www.patreon.com/podlodka
В go{1.16, 1.15} сломаны циклы (не везде и не всегда, но всё же!).

Ждём минорного обновления.


UPD: пофиксили в свежем go1.16.3, не забудьте обновиться

https://github.com/golang/go/issues/45192
☕️ Мерлин заваривает τσάι 🐌
Время от времени приходится создавать типы-фасады, которым нужно часть методов «бэкенда» реализовывать, часть переопределять, а часть — затенить. Может быть это велосипед, но я тут сообразил для себя простой способ контролировать доступ к методам «родительского»…
#go
Ещё один велосипед -- если вам нужно унаследовать всё поведение от какого-то типа, но скрыть реализацию, то можно встраивать приватные алиасы к типам.

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

Ещё один пример: https://play.golang.org/p/V6XFhZ6UmLm
I was going to make a bullshit analogy to a programming language being like a hammer, but that’s too simplistic. The purpose of the software defines the stack you end up using, and there are far more considerations than “this is a nice language to use”. In fact, I’d wager that the niceness of the language is probably the least important part of choosing a language. Just ask everyone who bet the farm on coffeescript.

But the “you should use language X because it’s great” mantra doesn’t stop there. It’s a symptom of a larger problem: Thinking of programming as a worthwhile pursuit on its own, and focusing on the act of programming while ignoring how that software will be used.

https://georgestocker.com/2021/03/28/no-one-gives-a-shit-what-programming-language-you-use/