Programming News and Articles
8 subscribers
5 photos
3 files
241 links
Download Telegram
Forwarded from Блог*
#prog #article

Статья про паттерн для работы с IO.

"There’s a pattern that I keep recommending to teams over and over again, because it helps separate concerns around I/O; sending and receiving things over a network, interacting with AWS, saving and loading things from data stores. It’s an old idea; you’ll find it filed under “Decorator” in your Gang of Four book.

<...>

Decorators are a great compositional pattern allowing the different concerns that inevitably cluster around I/O boundaries to be neatly separated and recombined. This opportunity presents itself several times in every app we write, and does not require any fancy language, type system, or framework."
Forwarded from Experimental chill
Перформанс, как и security, в большой степени состоит в том числе и из процессов. Что надо сделать, чтобы не повторять ошибок, как найти плохие паттерны в коде на этапе компиляции или как мерить производительность, latency, как знать к каким сервисам обращаться, как сконнектить людей из hardware, firmware, software и тд. Как обучить людей, чтобы они писали быстрый код.

Это сложный и непростой процесс. Например, в Google мы всё больше и больше переходим на политику third_party live at head. Когда мы автоматически подбираем обновлённые версии веток того или другого контриба (библиотек из open source).

Например, мы релизим LLVM пару раз в месяц. Да, мы гоняем компилятор на всём коде Google, и откатываем то, что не работает сразу. Иногда ломаются другие контрибы, и мы патчим их. Иногда не работает наш код, и мы его фиксим. Эдакий стресс тест компилятора каждые пару недель. Зато мы можем компиляторным инженерам повысить velocity, они что-то комитят, а через две недели оно в проде на огромную кодовую базу. Об этом мы писали в книжке Software Engineering at Google.

Недавно пара наших инженеров ядра Andrew Delgadillo и Dylan Hatch поделились то, как мы переходим на жизнь at head в Linux.

Исторически так сложилось, что ядро Linux разрабатывалось отдельно и поэтому в проде до сих пор у нас версия 4.15, когда как уже вышла 5.15, несколько лет уже прошло, а мы всё ещё не можем переехать.

И да, остро вопрос не стоял раньше, взяли ядро, наложили пару патчей и обновили. А потом поняли, что оптимизация Linux стоит больших денег Google, и наняли людей на разработку ядра. Тем самым мы сейчас находимся в состоянии 9000 (9 тысяч) патчей поверх mainline. Многие из них драйвера для некоторого нашего железа, например, TPU, но есть и более сложные вещи, как Google Fibers (более лёгкие user-space треды), много патчей о том, как находить Out Of Memory проблемы быстрее и лучше (дада, мы считаем, что внутри мы пофиксили баг 12309), отключение сбора perf стеков из-за приватности и так далее. Называем мы это ядро Prodkernel, потому что оно ядро и работает в проде.

И в последнее время мы стали умирать обновлять Linux, это занимало десятки инженеров месяцев, особенно было много проблем с тестированием, и мы находили проблемы в версиях ядра, которые уже давным давно на суппорте и процесс фиксов растягивался на ещё месяцы.

В последнее время всё больше и больше мы уделяем время тому, как обновлять ядро. Назвали мы этот проект Icebreaker, потому что это уже невозможно и надо ломать этот лёд.

Да, у этого есть риски. Иногда Linux community может сказать, что им что-то не надо, и мы останемся с патчами. Иногда мы что-то проглядим, и в проде будет упячка. Но разработчики ядра в Google нацелены на удаление ненужных патчей, апстрима всех нужных, ну а с драйверами как-нибудь разберёмся.

Prodkernel с нами ещё поживет несколько лет, но Icebreaker это то, куда мы стремимся и тратим очень много сил. Выкатка на супер боевое окружение ядра за считанные дни, нахождение всех багов, размазанный процесс фикса багов и апстрим многих фич от Google должны достаточно сильно прокачать как и open source, так и нас внутри.

Я точно знаю, что некоторые вице-президенты Google не очень любят такие решения, но их всё таки убедили более технические люди. Google не сможет нанять такую команду разработки, которая будет мощнее всего community большого опен-сорса. Мы за несколько лет едва сделали Fuchsia OS, которая ни разу не про серверы. И даже если писать свою, то это годы разработки и десятки лет обучения людей.

Некоторые низкоуровневые компоненты настолько важны для tech мира, что закрываться просто нельзя. Security патчи должны быть понятны всем, какие атаки могут быть сделаны в каких версиях, и какие патчи в каких версиях улучшали перформанс.

Я горд за команду ядра, что они наконец-то официально поделились об этом с миром.

[1] Заметка от Andrew Delgadillo и Dylan Hatch про разработку ядра в Google. Слайды
[2] Бесплатная книжка по Software Engineering at Google
Forwarded from нью крипто щит (Sasha Tsereteli)
Продолжается иммерсивный NFT-фестиваль от Flow: в дискорд Flowverse менее чем за неделю вступило более 40 000 человек, а команда Dapper Labs провела серию вводных панелей, которые можно посмотреть в записи на твиче The First Mint.

Через несколько дней начинаются розыгрыши Mystery Packs от Flow Fest, внутри которых будут классные коллекционные предметы, включая некоторые редкие NFT. Их можно только выиграть, не купить. Но зато можно продать 😉

Чтобы получить свой набор, нужно только «посетить» Flow Fest, вступив в тот самый дискорд, участвовать в мероприятиях и выполнять простые задания, вроде реакций к постам.

📆 Полный календарь дропов смотрите здесь
Forwarded from нью крипто щит (Sasha Tsereteli)
Как всё знать: ультимативный гайд по поиску информации 📖

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

Тем не менее, можно выработать себе ещё одну полезную привычку в виде постоянного поиска и фильтрации информации. Я целый год каждый день занимался только этим, поэтому решил поделиться тем, что работало для меня, и тем самым облегчить «вход в профессию» вам, а самому перестать освещать всё подряд.

По убыванию полезности:

0. Личные знакомства: Как бы ни хотелось всё делать самому, самую полезную информацию всё равно приносит кто-то другой. Часто спрашивают про первые 100х, но мне писать особо нечего: просто друзья рассказали про алгостейблы. Сейчас другие друзья рассказывают про вайтлисты НФТ. Чем дальше, чем выше уровень прошаренности друзей, тем больше альфы. Когда-то друзьями окажутся фаундеры. Друзья это важно, даже если лично вы не знакомы.

1. Каналы с подборками новостей и аналитикой: @thedailyape, @defiprime, @unfolded, @glassnode, @jarvis_labs – поочередно узнаю из них абсолютно всё, что улетает в @newcryptochat ссылками, типа сам нашёл. Лучше читать всё, что постят.

2. СМИ: The Block, Coindesk, Cointelegraph, Forklog. Ссылки не даю, сами решайте, где их читать. Лично я в последнее время читаю только заголовки и краткое содержание, за ними можно следить в тг-каналах и Твиттерах всех этих изданий. Этого достаточно, чтобы быть в курсе основных макро-событий, на которые я в последнее время обращаю больше внимания.

3. Рассылки и ресерчи: Bankless + их же Metaversal, Our Network, Week in Ethereum, CoinMarketCap News, Curve Market Cap, Nansen, Jarvis, Messari, Delphi Digital, Mechanism Cap, Paradigm. Я советую подписываться абсолютно на всё, что попадается на глаза, даже полный шизойдный биткоин-максимализм (сам читаю Pomp Letter), и регулярно пролистывать заголовки писем. Не копите их в ящике: прочитали – убрали в архив. Скорее всего, большего желания не появится, а полный шит так или иначе отпадёт сам.

4. Твиттер: обычно советую подписаться на все мои подписки и просто пару дней лайкать всё, что нравится – лента сама начнёт рекомендовать что-то актуальное. Альфы с прямым указанием действий там искать не стоит, очень токсичная среда. Нотификации у меня стоят на ~10 аккаунтов, в основном это тоже макро-мысли вроде Su Zhu, Nomad, Tetranode. Я отписался от всех проектов и оставил только людей с каким-то мнением и разработчиков. Проекты меняются, толковые люди остаются.

5. Подкасты: это долго и муторно, но очень полезно не только для поиска информации, но и общего развития. Раньше заставял себя слушать вдумчиво и через силу, теперь – фоном и за другими делами, второе лучше. Рекомендую без особого порядка подписаться на всё: Lex Fridman Podcast, Naval Podcast, Odd Lots (Bloomberg), The Scoop от шефа The Block, Market Meditations, The Delphi Podcast, UpOnly (Cobie), UncommonCore (Su Zhu + Hasu), FTX Podcast, Unconfirmed, Unchained, Into The Ether, Blockcrunch, Bankless, Базовый Блок.

6. Телеграм и Дискорд: на мой взгляд, единственные две стоящие группы это @lobsters_chat и @defiyield_app. Полезность поставил в конец потому, что уровень альфы там бывает даже немного преждевременный. Вопрос «что почитать в Дискорде» вообще не имеет никакого смысла: Дискорд это финальная стадия воронки изучения проекта и вливания в него, но начинаться она должна начаться с пунктов 1-4. Нашли – почитали – изучили – залетели в Дискорд – стали членом сообщества.

7. Авторские каналы: сказать честно, я не читаю каналы и не могу особо поделиться мнением о них. Но есть друзья и знакомые, о них не могу не написать: @notothemoon, @moni_talks_ru, @cryptolamer, @defiscamcheck, @banklessRU, @ghost_in_the_block. Ребята молодцы и явно делают новое крипто дерьмо умелее меня. Чатики у них тоже супер.

На этом моя просветительская деятельность пока что всё.
Forwarded from oleg_log (Oleg Kovalov)
Newborn unicorn CTO разносит стартап смотреть в маркдаун без смс.

https://github.com/ClickHouse/ClickHouse/blob/master/benchmark/timescaledb/usability.md

ИМХ такое лучше бы в личном блоге постить.
Наткнулся в твиттере на анонс интересного инструмента:

> cargo-hakari

Он автоматизирует создание и поддержку "workspace-hack" крейтов, ускоряя компиляцию для больших воркспейсов. Что такое "workspace-hack" и зачем его используют в rustc и firefox — читайте в треде.
Forwarded from Українська девопсарня (Seva Poliakov)
что делать в час ночи пятницы? Смотреть доклады про перфоманс оптимизацию. Неплохо расказано, хотя узко и совсем не было про современные техники типа флеймграфов. https://youtu.be/r-TLSBdHe1A
Forwarded from oleg_log (Oleg Kovalov)
Решил с утра перечитать https://12factor.net/ Оказывается не так уж и много надо вещей сделать чтобы было приятно пушить вещи в прод. Но человек и тут накосячил.

Вот это еще понравилось:
> Processes should strive to minimize startup time

..и тут же вспоминаю, сколько раз встречал наполнение кеша при старте на минутку-две. Зато потом ответы быстрые, да.

Короч совет: пролистайте еще раз список, уверен что каждый найдет что-то, что в текущем проекте не совсем так.

(тут была шутка про 11й пункт о логах и про лог4ж2 с 3 CVE за пару недель)
У меня уже миллиард лет в заметках лежат ссылки на доклады с RustConf, хотел поделитться, но всё руки не доходили.

Project Update: Lang Team by Niko Matsakis
Project Update: Libs Team by Mara Bos
Hacking rustc: Contributing to the Compiler by Esteban Kuber

Как не удивительно самые интересные доклады от людей, которые непосредственно участвуют в разработке раста =)
Стоило написать про то, что мне не интересен мир web3 и крипто, как подвезли такой годный лонгрид, что я не удержался и перевел его целиком.

Мокси Марлинспайк (криптограф и основатель защищенного мессенджера Signal) написал в своем блоге пост о том, что с популярным сегодня web3 и крипто миром все не так сладко и что на самом деле там нет никакой децентрализации.

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

Ставьте лайк на VС, не зря же я старался!

https://vc.ru/u/2321-alexey-pisarevsky/344776-pochemu-v-web3-i-kripto-mire-na-samom-dele-net-nikakoy-decentralizacii-i-pochemu-vsem-na-eto-plevat
Forwarded from karabas
🦄 НЬЮ КРИПТО 🐵
Альфа-ретродроп #8
02.01.2022 - 09.01.2022

Wiki для прокачки как web3 разраб/экономист.
https://t.iss.one/newcryptochat/52906

Следим за новым контрактом Кронье.
https://t.iss.one/newcryptochat/52897

Как отозвать апрув (yes again but something new).
https://t.iss.one/newcryptochat/53068

Интересные рессурсы про теорию игр.
https://t.iss.one/newcryptochat/53129

Еще Кронье (upd)
https://t.iss.one/newcryptochat/54371

Ресерчи на тему гильдий.
https://t.iss.one/newcryptochat/53122

Форк ликвити (стейбл) под залог активов Тетранода.
https://t.iss.one/newcryptochat/53114

Заглянули под капот NFT-лотерейки, словили бан от устроителей.
(а умище то куда девать? (с))
https://t.iss.one/newcryptochat/53153

Ищем себя после булрана (философское).
https://t.iss.one/newcryptochat/53207

Что такое VRF.
https://t.iss.one/newcryptochat/53351
Почему после ревила зачастую падает цена.
https://t.iss.one/newcryptochat/53405

OlimpusDAO outlook 2021-2022.
https://t.iss.one/newcryptochat/53479

Вариант как отследить вызов функции контракта.
https://t.iss.one/newcryptochat/53444

Сервис для NFT портфеля и мониторига флора.
https://t.iss.one/newcryptochat/53587

Около ohmies движ.
https://t.iss.one/newcryptochat/53673

Снайпер сервис для НФТ флипперов.
https://app.traitsniper.com/

В помощь новичку в L1-L2.
https://t.iss.one/newcryptochat/53743

Temple DAO – код «коричневый».
https://t.iss.one/newcryptochat/53752

Для чего L2 свои токены.
https://t.iss.one/newcryptochat/54252

Хороший ресурс про базовую приватность.
https://t.iss.one/newcryptochat/54290

Подборка чекеров (что про вас знают сайты).
https://t.iss.one/newcryptochat/54296


#alphadrop
/usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main -c config_file=/etc/postgresql/13/main/postgresql.conf
Ребята, всем привет!

В эти непростые времена мы решили поддержать сообщество rust-разработчиков и выложить видеозаписи всех докладов с RustCon 2021 раньше, чем обещали. Смотрите их тут, делитесь с друзьями.

Любим вас, до встречи на наших конференциях ❤️