commit -m "better"
3.68K subscribers
1.26K photos
175 videos
3 files
2.72K links
just random thoughts
Download Telegram
commit -m "better"
Это возможность запустить любой glibc-based distro поверх musl!
Штош, все готово, и даже больше - не просто докер, а полноценный qemu boot, в systemd, cо всеми полагающимися сервисами!
🔥38🤯104🤩3🆒2🤡1
Запилить хороший рендер эмулятора терминала - продуктово весьма сложная задача. Не технически, потому что технически там каждый раз все понятно, а вот именно понять, что и когда надо делать - сложно.

Вот возьмем italic.

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

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

Потом ты видишь, что по краям слов italic у тебя обрезан, и ты понимаешь, что это потому, что ты сделал границей последовательности пробельные символы. Это очень важно, потому что кешировать отрисовку слов - эффективно, а кешировать отрисовку линий - дорого.

Ты берешь, и добавляешь в последовательность самый правый пробельный символ после слова, и все становится хорошо и классно, потому что последней букве слова есть куда нависнуть, пока...

Пока ты не видишь, что если italic слово выделено болдом, то оно снова рисуется обрезанным. И все потому, что болд - это часть отрисовки шрифта, и тебе нужно обрывать последовательность, когда отрисовка шрифта меняется, потому что иначе получается дичь.

Кроме одного случая - если отрисовка шрифта меняется на пробельном символе, то и пофиг - неважно, болдом пробел рисуется, или нет, его можно включить в последовательность.

Такие дела.

Самое интересное в процессе, конечно, изучать, как это делают твои конкуренты, и на какие компромиссы идут.

#shitty
👍28🤡14🔥4💊3😁21💩1
https://danluu.com/perf-opt/

Коллега вот написал, что у вас сейчас нет причин не заниматься оптимизациями перфа.

Я про это же писал несколько раз - https://xn--r1a.website/itpgchannel/4184

С двумя поправками:

1) пока все еще нужно понимать, что делаешь. Без понимания машина методом грубой силы ускорит тебе программу в 2 раза, но не в 20, у нее кругозор пока не такой. Опять же, если без понимания, на результат потом будет страшно смотреть.

2) на самом деле, утверждение так-то гораздо шире - у вас сейчас нет причин не заниматься любой полезной/интересной херней, которая придет в голову.

Если процесс размышления стал бесплатным, то почему бы не подумать про все сразу, и не попробовать сделать, а вдруг залетит? Тем более, думаешь не ты, и делаешь тоже не ты.

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

Я, конечно, чутка утрирую, потому что вы все еще ограничены своим вниманием, но только чутка.

Мои #shitty #solo и #trustme - проекты ровно из этой оперы. Времени не требуют, собирают мне звездочки на github и репутацию на HN, потом это во что-то да превратится. Или нет, поэтому надо брать массой. Но что совершенно точно - совершенно нет смысла не пробовать, тем более, если вы уверены, что в чем-то очень хороши. Тот же SoLo может показаться дичью, но, знаете ли, docker начинал как скрипт на 100 строк кода поверх chroot.
👍4417🔥7🤡7💩3💯2🆒1
Рубрика "нам пишут"!

#shitty
🤡2219🔥15💩5👍3😁2
https://aengelke.net/llvm23-ct.html

"LLVM 23 has seen substantial compile-time improvements of -6.75% (sqlite3: -10.53%) in -O3 builds. This article describes the major sources of these improvements"

#perf
👍34
commit -m "better"
The machine brings me new packages, and the machine updates them, without my intervention.
https://github.com/pg83/ix/commits/main/

Все, теперь реально, машина сама апдейтит пакеты, и сама же и чинит ошибки после. Вот, первый коммит от моей fixer #gorn #lab #home_lab job - https://github.com/pg83/ix/commit/13fca3e3939011c9ce537341c4eac42f0b37964c

Осталось несколько мелочей - промптов для обновления сложных наборов пакетов, типа qt, mesa, llvm, и, кажется, #IX больше не будет есть мое время от слова совсем.

Шел я к этому 5 последних лет, и сейчас испытываю некоторое опустошение.

Неожиданно даже, что проект такого масштаба можно "доделать до конца".
🔥516👏2💔1🆒1
commit -m "better"
Получилось порядка 17к тестов (на КДПВ 10к нод, иногда нода больше одного теста). На старте trustme (бывший #mrustc) проходил только 2/3 из них, сейчас, после суток пыхтения, и фикса порядка 150 (!!!) багов, проходит уже 3/4. И это я еще не прогнал его с санитайзерами на полном корпусе тестов.
17к тестов на #trustme позеленели, и я приступил ко второй стадии проекта - расширять покрытие крейтов с crates.io, которые должны компилироваться моим компилятором, и проходить после этого тесты #autoresearch.

В процессе было сделано около 1000 коммитов, и, так как я требовал красный тест на каждую поломку, то теперь у меня есть и свой большой корпус для тестирования, не только пижженое из интернетов!

https://github.com/pg83/trustme/tree/master/tst/unit
24🔥18🤡7👍2🆒1
хуман ин залуп все еще важен
💯38🔥31
This media is not supported in your browser
VIEW IN TELEGRAM
Когда поймал Rust разработчика
🤣45😁15❤‍🔥113🗿2👎1
У #shitty, по просьбам трудящегося (удивительно даже, сказал, что использует как основной эмулятор терминала, и хочет внедрить еще куда-то), появился API для эмбеддинга!

https://github.com/pg83/shitty/blob/master/lib/embed/shitty_vt.h

Тут вот кто-то хотел в konsole поменять движок, теперь это стало особенно просто.
🔥20🎃65👍3🤮3🍌1
Попросил фабулу напилить план сложного рефактора. Получил текст на 500 строк, на первый взгляд, все хорошо.

Для перестраховки попросил sol посмотреть на текст, на код, и исправить явные ошибки. Получил текст на 1000 строк.

Мне это показалось странным, и я снова попросил фабулу (уже другую) посмотреть на эту шизофазию, и сделать уже норм план.

На что получил ответ "да, там много лишнего, и все перепутано", и получил план на 200 строк.

Кому верить?

#LLM
😁57🤡163🔥2🐳2💯1
commit -m "better"
Кому верить?
Вопрос с подвохой, и ответ - никому.

Модели, по умолчанию, не читают код большими кусками. Они его грепают, и читают +- несколько строк вокруг. Это позволяет им дешево построить fuzzy модель кода, и дешево решать бОльшую часть задач с кодом. Но это приводит к тому, что их представления о коде становится все более и более "странным" - много небольших блоков по всему коду, отсюда и шизофрения про сложные изменения. Потому что у модели нет в голове модели кода, хехе.

Вот, ниже моя SOTA процедура, что делать, когда нужно сделать сложный рефактор.

1. НужнО понимание, сколько кода влезает в модель без того, чтобы она подошла к пределу компактификации. В моем случае - 500 - 600 килобайт исходников

2. "Мы сейчас занимаемся сложной проблемой рефакторинга. Разметь участки кода, общим размером 500 килобайт, которые, по твоему мнению, наиболее важны для этой задачи"

3. /compact

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

5. Вот тут становится все очень дорого, на сессию в 5 минут вопросов и ответов я потратил 4% недельной квоты. "Нам нужно сделать то-то и то-то, напиши план, как нам это сделать, в XXX.md"

6. /compact, и КДПВ, для проверки, почему это вообще работает.

Получившийся текст + контекст - квинтэссенция сути, он не выглядит как шизофазическое говно, его (и в нем) бери, да делай - там просто суть в каждой строке.
👍38🔥126🥱4🆒3😁1
Forwarded from Frank Media
❗️ Глава Минцифры Максут Шадаев покинет пост после выборов в Госдуму

Глава Минцифры Максут Шадаев покинет должность после предстоящих выборов в Госдуму 18–20 сентября и, скорее всего, будет работать в нижней палате парламента. Об этом изданию «Пост-» рассказал источник в аппарате правительства.

«Скорее всего, смена министра пройдет после выборов. Планируется, что Максут Игоревич перейдет как раз в Госдуму и получит место главы комитета по информационной политике, технологиям и связи, которую сейчас занимает Сергей Боярский», — сказал собеседник.

Причины, по которым Шадаев может покинуть Минцифры, в посте издания не уточняются. Frank Media направили запрос в министерство.

❤️ Читайте подробнее на сайте

Frank Media в Telegram | MAX | Рассылка
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣22🤔8😢5🖕4💩32
https://sourcehut.org/blog/2026-08-27-tos-changes-and-llms/#changes

TL;DR - проклятый SJW #ddv решил окончательно угробить #source_hut, и запретил там LLM контент. Хорошо, что я оттуда вовремя свалил.
🤡19👍11😁7😢21🔥1🐳1
commit -m "better"
TL;DR - проклятый SJW #ddv решил окончательно угробить #source_hut, и запретил там LLM контент. Хорошо, что я оттуда вовремя свалил.
"The more we zoom out, though, the more alarming it gets. The biggest concern is the impact on the climate" - пиздец он конечно клоун, я дальше читать не смог.
😁36🤡21💯4🐳21
Приятно, когда машина воспринимает указание настолько буквально!
😁83🔥9🌚4🥰2🤡2🐳2💯1💊1
#LLM #autoresearch

Добавил тут в #trustme совершенно изуверский тест.

Надо сказать, что я хочу переписать его с stl на мой #std, и это не прихоть, и не блажь, а просто за счет подхода из https://xn--r1a.website/itpgchannel/3817 я уже там сделал x2 по #perf, и еще сделаю столько же. Вообще это отдельная тема, люди почему-то думают, что если у них malloc работает быстро, то и норм, но они совсем не задумываются, что еще очень важно, чтобы данные лежали "рядом", но про это в другой раз.

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

И я запилил тест типа ratchet, он же храповик!

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

Почему храповик?

Потому что как только запуск теста обнаружил, что в коде МЕНЬШЕ вхождений, чем записано у него, он сразу же канонизирует новое число, перезаписывая свой код на лету.

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

Работает превосходно, советую попробовать. Я бы, конечно, за такой тест убил к херам.
😁33👍6🔥41🤔1🤮1💩1🐳1