Наткнулся на любопытные размышления о таком явлении, как насыщении технологиями.
Мысль простая, но интересная: существует набор экологических ниш, в рамках которых развиваются технологии. После того, как ниша заполнена, развитие в ней по сути останавливается до крупных потрясений на всём технологическом ландшафте.
Для примера, возьмём калькуляторы. Да, потроха изменились, но набор функций и даже внешний интерфейс что у устройств 80-х, что у современных программных реализаций почти не отличается.
Наверное поэтому многим и кажется, что прогресс в ИТ почти затих -- нам попросту не хватает новых точек приложения.
Ссылка на статью:
И да, блог размещён на gemini-сервере, так что разживитесь каким-нибудь браузером для этого протокола, например amfora или lagrange.
Мысль простая, но интересная: существует набор экологических ниш, в рамках которых развиваются технологии. После того, как ниша заполнена, развитие в ней по сути останавливается до крупных потрясений на всём технологическом ландшафте.
Для примера, возьмём калькуляторы. Да, потроха изменились, но набор функций и даже внешний интерфейс что у устройств 80-х, что у современных программных реализаций почти не отличается.
Наверное поэтому многим и кажется, что прогресс в ИТ почти затих -- нам попросту не хватает новых точек приложения.
Ссылка на статью:
gemini://envs.net/~kkernig/gemlog/2021-02-03-saturation_effects.gmiИ да, блог размещён на gemini-сервере, так что разживитесь каким-нибудь браузером для этого протокола, например amfora или lagrange.
☕️ Мерлин заваривает τσάι 🐌
Наткнулся на любопытные размышления о таком явлении, как насыщении технологиями. Мысль простая, но интересная: существует набор экологических ниш, в рамках которых развиваются технологии. После того, как ниша заполнена, развитие в ней по сути останавливается…
Гейт в геминиспейс, ссылка сразу на статью, спасибо @fedinskiy
https://portal.mozz.us/gemini/envs.net/~kkernig/gemlog/2021-02-03-saturation_effects.gmi
https://portal.mozz.us/gemini/envs.net/~kkernig/gemlog/2021-02-03-saturation_effects.gmi
☕️ Мерлин заваривает τσάι 🐌
А посоветуйте md редактор для ios с поддержкой синхронизации с git репозиториями. А то я потихоньку переползаю с notion на obsidian + github, не хватает только мобильного клиента
Нашёл https://apps.apple.com/ru/app/gitjournal/id1466519634
Только аккуратно: при первом обращении к репозиторию приложение делает коммит, удаляющий всё содержимое репозитория. Не очень страшно — гит всё таки, но осадочек остался.
Только аккуратно: при первом обращении к репозиторию приложение делает коммит, удаляющий всё содержимое репозитория. Не очень страшно — гит всё таки, но осадочек остался.
App Store
GitJournal
GitJournal is an open source note taking / journaling app built with privacy and data portability in mind. It stores all its notes in a standardised Markdown + YAML header format or plaintext. The notes are stored in a hosted Git Repo of your choice - GitHub…
☕️ Мерлин заваривает τσάι 🐌
t.me/crossjoin – Golang Song
Ответочка https://youtu.be/rzo8u03vC7Y
YouTube
You'll be Back (to Go) - Go generics is coming in Go 1.18
A musical message for #golang people thinking of leaving because the Go Generics proposal was official accepted. Spoof of You'll Be Back from Hamilton.
☕️ Мерлин заваривает τσάι 🐌
Небольшой список русскоязычных подкастов, которые я слушаю регулярно. Вообще составил его для знакомого в одном чатике, но пусть будет здесь тоже Завтракаст — пока самый лучший подкаст про игры, музыку, сериалы, фильмы. И про фотографию. Постнаука — лекции…
Усиление+ – подкаст про программирование, кишки графического стека в современных играх, велоспорт и фантастику
Не занесли – развесёлый подкаст про игры, лёгкий и низкокалорийный
Цинковый прод – взгляд на разработку со стороны PHP программистов, иногда попадаются хардкорные серии
Hobby talks – то, что написано на упаковке. Настолки, интересные факты, разговоры на кухне с батей
Generic Talks – кишки go и хайлоада вообще, современную разработку
Не занесли – развесёлый подкаст про игры, лёгкий и низкокалорийный
Цинковый прод – взгляд на разработку со стороны 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
Поддержка разработки драйверов ядра 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
Telegram
Cross Join - канал о разработке
https://www.opennet.ru/opennews/art.shtml?num=54792
Что, _, опенсорс?
Одна из кор зависимостей рельсов оказалась оказалась под GPL
https://github.com/rails/rails/issues/41750#issuecomment-805806147
Одна из кор зависимостей рельсов оказалась оказалась под GPL
https://github.com/rails/rails/issues/41750#issuecomment-805806147
GitHub
Dependency on mimemagic 0.3.x no longer valid · Issue #41750 · rails/rails
The gem mimemagic (see mimemagicrb/mimemagic#97 & mimemagicrb/mimemagic#98 ) has resolved a licensing issue today by yanking all builds prior to 0.4.0, but Rails itself (activestorage) has a de...
Forwarded from Daily Geek News (Umputun U)
Специалисты по криптографии, из моего опыта общения с ними, одни из самых резких. И их можно понять - люди постоянно наступают на одни и те же грабли даже когда пытаются применить проверенные решения. А уж “я сделаю свою могучую систему шифрования” доводит экспертов до нервного срыва.
Я не раз видел дискуссии и в онлайне и в реальной жизни, где эти ребята & девчата поясняли оппоненту все его криптографическую никчёмность прямым текстом, без этих модных изысков типа “решение интересное, но есть ряд мест для улучшения”. За прямоту и техническую “токсичность” лично от меня - рескепты.
Второе для них, по степени вызванного гнева, это копирование снипетов с SO и прочих мест, где люди гуглят “как заэнкриптить” или “как хранить пароли”. Вот это репо как раз и придуманно для того, чтоб не копировали там, но брали готовые снипеты тут.
Я не эксперт в этой области, но на беглый взгляд никаких вопиющих косяков не заметил.
https://github.com/gtank/cryptopasta
Я не раз видел дискуссии и в онлайне и в реальной жизни, где эти ребята & девчата поясняли оппоненту все его криптографическую никчёмность прямым текстом, без этих модных изысков типа “решение интересное, но есть ряд мест для улучшения”. За прямоту и техническую “токсичность” лично от меня - рескепты.
Второе для них, по степени вызванного гнева, это копирование снипетов с SO и прочих мест, где люди гуглят “как заэнкриптить” или “как хранить пароли”. Вот это репо как раз и придуманно для того, чтоб не копировали там, но брали готовые снипеты тут.
Я не эксперт в этой области, но на беглый взгляд никаких вопиющих косяков не заметил.
https://github.com/gtank/cryptopasta
GitHub
GitHub - gtank/cryptopasta: copy & paste-friendly golang crypto
copy & paste-friendly golang crypto. Contribute to gtank/cryptopasta development by creating an account on GitHub.
смол брейн: настроить CI типа дрона для своего домашнего проекта
галактик брейн: git hook post-commit rsync to remote бррррррр
* я называю это «орочий CI»
галактик брейн: git hook post-commit rsync to remote бррррррр
* я называю это «орочий CI»
Все говорят о вредоносном коде, который у кого-то не получилось тайком пропихнуть в репозиторий PHP, но почему никто не говорит о вредоносном коде, который удалось тайком закоммитить?
Я имею в виду, мы же не можем быть уверены наверняка.
Кстати, статья о том, как гипотетически можно было бы атаковать репозиторий curl <https://daniel.haxx.se/blog/2021/03/30/howto-backdoor-curl/>
Я имею в виду, мы же не можем быть уверены наверняка.
Кстати, статья о том, как гипотетически можно было бы атаковать репозиторий curl <https://daniel.haxx.se/blog/2021/03/30/howto-backdoor-curl/>
Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Anna Banana)
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
Долго представлять эту тему не нужно, ведь выпуск входит в «золотой фонд фундаментальных выпусков» 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
Программа GopherCon Russia 2021 готова
https://xn--r1a.website/GopherConRu/81
https://xn--r1a.website/GopherConRu/81
Telegram
GopherConRu
Программа GopherCon Russia 2021 готова!
Вечером в пятницу, 23 апреля, обсудим профилирование и базы данных, тестирование и проксирование, новые пакеты, неочевидные особенности языка и не только! Online, участие бесплатное — нужно только зарегистрироваться.…
Вечером в пятницу, 23 апреля, обсудим профилирование и базы данных, тестирование и проксирование, новые пакеты, неочевидные особенности языка и не только! Online, участие бесплатное — нужно только зарегистрироваться.…
В go{1.16, 1.15} сломаны циклы (не везде и не всегда, но всё же!).
Ждём минорного обновления.
UPD: пофиксили в свежем go1.16.3, не забудьте обновиться
https://github.com/golang/go/issues/45192
Ждём минорного обновления.
UPD: пофиксили в свежем go1.16.3, не забудьте обновиться
https://github.com/golang/go/issues/45192
GitHub
Strange behaviour with loops [1.16 backport] · Issue #45192 · golang/go
@randall77 requested issue #45175 to be considered for backport to the next 1.16 minor release. Here's a simpler reproducer: package main //go:noinline func f(c bool) int { b := true x := 0...
☕️ Мерлин заваривает τσάι 🐌
Время от времени приходится создавать типы-фасады, которым нужно часть методов «бэкенда» реализовывать, часть переопределять, а часть — затенить. Может быть это велосипед, но я тут сообразил для себя простой способ контролировать доступ к методам «родительского»…
#go
Ещё один велосипед -- если вам нужно унаследовать всё поведение от какого-то типа, но скрыть реализацию, то можно встраивать приватные алиасы к типам.
Так пользователь видит все методы встроенного типа, но не имеет к нему доступа -- само использование встроенного типа становится внутренней деталью реализации, а не частью публичного контракта.
Ещё один пример: https://play.golang.org/p/V6XFhZ6UmLm
Ещё один велосипед -- если вам нужно унаследовать всё поведение от какого-то типа, но скрыть реализацию, то можно встраивать приватные алиасы к типам.
Так пользователь видит все методы встроенного типа, но не имеет к нему доступа -- само использование встроенного типа становится внутренней деталью реализации, а не частью публичного контракта.
Ещё один пример: 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/
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/
George Stocker
No one gives a shit what programming language you use
I’ve had it up to here (gestures at nose level) with the bullshit around programming language elitism. Back when I thought it mattered I was just as bad as the bullshit I’m seeing today…