Разработка ждёт балета – Telegram
Разработка ждёт балета
1.65K subscribers
505 photos
4 videos
15 files
1.53K links
What I cannot create, I do not understand.

DM: @alexey_mileev
PeerLab: https://news.1rj.ru/str/+e2ND1tAa0lU2ZTli
Download Telegram
Очень коротко о том, как люди жили, когда не было ни кучи, ни стэка.

#code #programming #memory
👍1
Google взялись за safe-by-default библиотеки для Go. Там и shell / YAML шаблоны со всякими доп. защитами от злого инпута, и работа с файлами с жестким контролем доступа к папкам, и всякое разное вокруг работы с архивами.

#go #cybersec #library
😁3
Сразу скажу, не без спорных моментов, но все же интересный пост про билд тулы. Путь от Make до современных e2e систем с вкраплениями истории и набором линз, под которыми на очередную билд систему можно смотреть.

#build
Пусть старый, но не ставший от этого менее интересным разбор реализации Go интерфейсов в gc компиляторах.

#go #interface #compiler
Защитники веба не дремлют. Все уже смирились с тем, что люди берут строки и из них выполняют JS или вставляют HTML. Теперь этот процесс пытаются сделать безопаснее: идея Trusted Types должна позволить зафорсить санитайзинг таких произвольных потенциально зловредных строк.

#cybersec #browser #js
🤮2
V8 Sandbox выходит из экспериментального статуса. По ссылке можно почитать чуть детальнее, что это, от каких memory проблем оно должно нас защищать и как.

#cybersec #browser #chrome
Forwarded from Local-first и децентрализация (Victor Grishchenko)
Чтобы программировать, нужно быть молодым. Вот я решил проверить, как дела у WebAssembly. Если помните, это легковесная среда выполнения для безопасного подмножества ассемблера. В wasm можно компилить разные программки на C и Rust и запускать в браузере. Ну либо эмбедить этот код в свою программу. С webassembly.org перехожу на wasmtime. Ну, понятно, там советуют curl | sh сразу, печалька. Я всё-таки git clone делаю. 120MB репка. Легковесный ассемблер, ага. cargo build скачивает зависимости, их сотни. Билд ломается, в библиотеке machine learning чего-то не хватает. Ах, да, ещё git submodule забыл. git ещё скачивает... cargo build срабатывает, вот и результат
-rw-r--r--. 2 gritzko gritzko 346489812 Apr 18 09:37 libwasmtime_cli.rlib
-rwxr-xr-x. 2 gritzko gritzko 434775592 Apr 18 09:37 wasmtime

Ну, что тут сказать. Это явно нужно запускать в электроне. Там незаметно будет.
P.S. Есть ещё wasmer, "blazing fast and secure WebAssembly runtime that enables incredibly lightweight containers", но он пока скачивается, репка под гиг.
P.P.S. билдится уже, 600 зависимостей.
P.P.P.S. с rustc 1.79.0-nightly (c9f8f3438 2024-03-27) не собралось
P.P.P.P.S. Там ещё у подпроектов свои сотни зависимостей.
Итого, при сборке wasmer упал rustc.
error: rustc interrupted by SIGSEGV, printing backtrace

/usr/local/bin/../lib/librustc_driver-4caab773549df9ac.so(+0x3016246)[0x7fa4b2016246]
/lib64/libc.so.6(+0x3e9a0)[0x7fa4aee5c9a0]
/usr/local/bin/../lib/../lib/libLLVM.so.18.1-rust-1.79.0-nightly(+0x621d6eb)[0x7fa4ad61d6eb]

Резюме. rm -rf: lightweight and incredibly secure.
👎1😁1
Интервью с незрячим разработчиком. Рассказывает, как ему удается работать, почему Windows, и даже как немного получается писать фронтенд.

#accessibility
🔥4🤯4
Прикольно, чел хотел написать бесконечный цикл, но только чтобы оптимизирующий компилятор этого не понял. Для этого он взял частный случай великой теоремы Ферма, и сильно удивился, когда некоторые компиляторы её «опровергли» и успешно цикл оптимизировали.

#compiler #c #optimize
😁2
В Minecraft был веселый баг: сидя в лодке, останешься живым при падении с любой высоты. Ну, почти с любой. Было несколько конкретных высот, при падении с которых лодка ломалась, а персонаж умирал. Оказалось, дело в т.ч. в неточности float’ов. В видео можно посмотреть детальнее.
За ссылку скажем спасибо @osipxd.

#talk #gamedev #bug
😁9👍1
Статус точка что-нибудь точка ком сайты, которые радостно светят нам зелеными графиками и довольными “All systems operational” сообщениями, когда на самом деле все сломано, - это уже классика. OpenAI - одни из таких. И поэтому я очень рад вот этому независимому мониторинг дашборду, который, как показала практика, чуть лучше отображает реальное положение дел.

#ai #monitoring #tool
👍4
Помните подход, который Кармак описывал, когда в коде ставится assert на размер коллекции, чтобы при изменении внешних условий можно было обнаружить старое предположение и перепроверить алгоритм на адекватность в новой ситуации? Тут вот та же по сути идея, только в более глобальном контексте: Always set a limit to the size of the entities your product consumes.

#programming #performance
👍2
Никита Прокопов собрал очередную подборку, на которую больно смотреть: как разработчики, взявшись за руки с дизайнерами и создателями шрифтов, пытаются центрировать тексты и иконки. И у них, ожидаемо, не выходит. Все, кто UI писал, эту проблему хорошо знают, решается она не сложно, но редко красиво. Вопрос только, найдутся ли в каждом конкретном случае силы и время, чтобы таки центрировать один прямоугольник внутри другого, или не найдутся.

#ui #font
🔥7😱2
Прямо классная уязвимость в Minecraft: неудачно использовали простой генератор случайных чисел в нескольких местах, что позволило раскрутить его в обратную сторону и отслеживать положение всех игроков на сервере. Текстом можно почитать тут.

#talk #gamedev #vulnerability
👍2🔥21
Безумная история: Hisense Android TV практически уничтожил несчастный Windows комп тем, что генерил новые сетевые айди каждые несколько минут.

#android #tv #windows
😁8👍4
Тут вот интересная история о том, кто и как сознательно всячески портил Google поиск в угоду прибыли.

#google #search
😢5👍2🥴1
Подвернулся хороший разбор, какие типы адресов бывают в Bitcoin (все эти P2PKH, P2SH, P2WPKH и пр.), откуда они взялись, в чём отличия.

#bitcoin #blockchain #crypto
👍1
Крик души о положении дел, которое наблюдает чел, в нашей с вами индустрии.

#rant #programming
👎3💔2💯1
Лонгрид. Крошечная инди-компания 3 года пилила игры на Rust, в конце концов решили от него отказаться. По ссылке можно очень детально почитать, почему такое решение приняли: все аспекты, где язык скорее мешал, чем помогал.

#rust #gamedev
😁4😢3
Классный обзор, как в разных языках и фреймворках подходят к миграциям БД. И в порядке имён файлов, и git-like, и даже DAG строят, исходя из зависимостей каждой миграции.

#db #migration
👍4
Ещё один крик души. Чел всеми силами верил в passkeys, даже написал потрясную Rust библиотеку для всего этого дела. Но, увы и ах, разочаровался. По ссылке - все его аргументы, проблемы, которые вылезли на практике, и альтернативы.

#cryptography #passkey #cybersec
👍2