commit -m "better"
Я думаю, в ближайшее время меня будет сложно найти в FB, зато можно будет тут: https://xn--r1a.website/pg_live
Написал там про SJW. IMHO для IT блога это не очень подходящий текст, но ссылку дам, вдруг кому интересно.
👍4
https://lobste.rs/s/kfwxvu/microsoft_mimalloc#c_cvykcm
https://github.com/microsoft/snmalloc
Еще один интересный аллокатор от MS. Разбор устройства от автора на lobsters.
Мне показалось интересным устройство механизма освобождения памяти из одного треда в другой. Сделано оно весьма необычным образом, зачем так - я пока понять не сумел.
Не обошлось без интересностей и в системе сборки:
* отсутствует install target. И действительно, кому он нужен, все же будут вендорить код этой либы(нет).
* В статических либах все экспортируемые символы содержат префикс sn_. sn_malloc, sn_free, etc. В .so все в порядке. Я, когда вижу такое, всегда пытаюсь представить, что творится в голове у человека, который принимает такое решение. Что, зачем...
———
https://www.opennet.ru/opennews/art.shtml?num=56842
Классный срачик между отцами(и матерями!)-основателями ElementaryOS. Пример деловой этики, которую, КМК, я никогда не смогу понять(и простить).
Какая-то тактика выжженной земли. Ну, допустим, сейчас локально чувак максимизирует свою прибыль, но кто после такого захочет с ним ввязываться в новый проект? Или я чего-то не понимаю?
———
https://etpgpb.ru/portal/import-substitution
Биржа для импортозамещения. Посмотрел, не хочет ли там кто импортозаместить дистрибутив Linux, но увы, пилить бюджет мне пока не светит.
———
Вышла новая версия #mesa, 22.0.0. Попробовал ее, epiphany начал писать при старте красивое(пишу по памяти, забыл сохранить):
EGL create context failure, invalid context, last error: EGL_SUCCESS.
Сука.
Хотел бы тутпоспекулировать подискутировать на тему обработки ошибок в С/С++/Rust. Мне продолжает казаться, что необходимость указывать строгий тип для канала для возвращения ошибки не всегда хорошо. В С++ очень легко добавить новые типы ошибок в "глубинный" код. Да, иногда это приводит к тому, что внешний код не готов их правильно обработать, но вот такая ситуация, что мы тупо проебали половину контекста ошибки, в С++ случается гораздо реже.
Модель Rust, на мой взгляд, тут где-то между С и С++ - обогащать контекст ошибки сложнее, чем в С++, но компилятор, в отличие от С, с этой задачей поможет.
Интересно, как все это будет стрелять по мере накопления и старения кодовой базы на Rust.
https://github.com/microsoft/snmalloc
Еще один интересный аллокатор от MS. Разбор устройства от автора на lobsters.
Мне показалось интересным устройство механизма освобождения памяти из одного треда в другой. Сделано оно весьма необычным образом, зачем так - я пока понять не сумел.
Не обошлось без интересностей и в системе сборки:
* отсутствует install target. И действительно, кому он нужен, все же будут вендорить код этой либы(нет).
* В статических либах все экспортируемые символы содержат префикс sn_. sn_malloc, sn_free, etc. В .so все в порядке. Я, когда вижу такое, всегда пытаюсь представить, что творится в голове у человека, который принимает такое решение. Что, зачем...
———
https://www.opennet.ru/opennews/art.shtml?num=56842
Классный срачик между отцами(и матерями!)-основателями ElementaryOS. Пример деловой этики, которую, КМК, я никогда не смогу понять(и простить).
Какая-то тактика выжженной земли. Ну, допустим, сейчас локально чувак максимизирует свою прибыль, но кто после такого захочет с ним ввязываться в новый проект? Или я чего-то не понимаю?
———
https://etpgpb.ru/portal/import-substitution
Биржа для импортозамещения. Посмотрел, не хочет ли там кто импортозаместить дистрибутив Linux, но увы, пилить бюджет мне пока не светит.
———
Вышла новая версия #mesa, 22.0.0. Попробовал ее, epiphany начал писать при старте красивое(пишу по памяти, забыл сохранить):
EGL create context failure, invalid context, last error: EGL_SUCCESS.
Сука.
Хотел бы тут
Модель Rust, на мой взгляд, тут где-то между С и С++ - обогащать контекст ошибки сложнее, чем в С++, но компилятор, в отличие от С, с этой задачей поможет.
Интересно, как все это будет стрелять по мере накопления и старения кодовой базы на Rust.
lobste.rs
microsoft/mimalloc
13 comments
👍4❤2
https://github.com/swaywm/sway/issues/6828#issuecomment-1066202454
в продолжении темы про #sway. Автор его, судя по всему, ушел в загул, в тикетах не появляется. Но один из собратьев по несчастью подсказал мне решение:
https://github.com/swaywm/sway/issues/6828#issuecomment-1064575503
https://unix.stackexchange.com/questions/250153/what-is-a-subreaper-process
https://github.com/pg83/mix/blob/main/pkgs/bin/subreaper/mix.sh
https://github.com/pg83/mix/blob/main/pkgs/bin/subreaper/mix.sh#L47 - не до конца уверен в правильности этого цикла, unix signals - это жесть.
Забавно, что про это штуку я и так знал, но успел благополучно забыть.
———
Хочу немного дополнить текст про поведение мозиллы и этих самых CA.
После такого любой разумный человек задумается, не захочет ли како-нить CA и с ним поиграть в политику, если это понадобится. Вангую рост числа национальных CA, и национальных форков chromium же.
———
Пример хорошего(ИМХО) поведения вменяемой компании:
The payment methods that we accept (Visa, MasterCard, American Express, and PayPal) have suspended service in Russia. As a result, you will likely be unable to submit payment to renew your Fastmail subscription at this time. If you have a payment due between now and August 2022, we will extend the due date for your payment to September 2022. Should payment methods remain suspended in September 2022, we'll reevaluate at that time.
Надеюсь, они не пойдут с этим на попятную, лучи добра.
———
https://github.com/terraform-aws-modules/terraform-aws-eks/commit/fad350d5bf36a7e39aa3840926b4c9968e9f594c
Феерический пиздец. Люди вообще не понимают, что такое лицензия на софт, и думают, что они могут туда вписать любую дичь.
By using the code provided in this repository you agree with the following:
* Russia has [illegally annexed Crimea in 2014](https://en.wikipedia.org/wiki/Annexation_of_Crimea_by_the_Russian_Federation) and [brought the war in Donbas](https://en.wikipedia.org/wiki/War_in_Donbas) followed by [full-scale invasion of Ukraine in 2022](https://en.wikipedia.org/wiki/2022_Russian_invasion_of_Ukraine).
* Russia has brought sorrow and devastations to millions of Ukrainians, killed hundreds of innocent people, damaged thousands of buildings, and forced several million people to flee.
* [Putin khuylo!](https://en.wikipedia.org/wiki/Putin_khuylo!)
Я, конечно, не смог удержаться.
в продолжении темы про #sway. Автор его, судя по всему, ушел в загул, в тикетах не появляется. Но один из собратьев по несчастью подсказал мне решение:
https://github.com/swaywm/sway/issues/6828#issuecomment-1064575503
https://unix.stackexchange.com/questions/250153/what-is-a-subreaper-process
https://github.com/pg83/mix/blob/main/pkgs/bin/subreaper/mix.sh
https://github.com/pg83/mix/blob/main/pkgs/bin/subreaper/mix.sh#L47 - не до конца уверен в правильности этого цикла, unix signals - это жесть.
Забавно, что про это штуку я и так знал, но успел благополучно забыть.
———
Хочу немного дополнить текст про поведение мозиллы и этих самых CA.
После такого любой разумный человек задумается, не захочет ли како-нить CA и с ним поиграть в политику, если это понадобится. Вангую рост числа национальных CA, и национальных форков chromium же.
———
Пример хорошего(ИМХО) поведения вменяемой компании:
The payment methods that we accept (Visa, MasterCard, American Express, and PayPal) have suspended service in Russia. As a result, you will likely be unable to submit payment to renew your Fastmail subscription at this time. If you have a payment due between now and August 2022, we will extend the due date for your payment to September 2022. Should payment methods remain suspended in September 2022, we'll reevaluate at that time.
Надеюсь, они не пойдут с этим на попятную, лучи добра.
———
https://github.com/terraform-aws-modules/terraform-aws-eks/commit/fad350d5bf36a7e39aa3840926b4c9968e9f594c
Феерический пиздец. Люди вообще не понимают, что такое лицензия на софт, и думают, что они могут туда вписать любую дичь.
By using the code provided in this repository you agree with the following:
* Russia has [illegally annexed Crimea in 2014](https://en.wikipedia.org/wiki/Annexation_of_Crimea_by_the_Russian_Federation) and [brought the war in Donbas](https://en.wikipedia.org/wiki/War_in_Donbas) followed by [full-scale invasion of Ukraine in 2022](https://en.wikipedia.org/wiki/2022_Russian_invasion_of_Ukraine).
* Russia has brought sorrow and devastations to millions of Ukrainians, killed hundreds of innocent people, damaged thousands of buildings, and forced several million people to flee.
* [Putin khuylo!](https://en.wikipedia.org/wiki/Putin_khuylo!)
Я, конечно, не смог удержаться.
GitHub
double forking for process spawning · Issue #6828 · swaywm/sway
Hi. Currently sway uses double-forking for its process spawning, for example, in exec_always.c. Is there any real difference for current sway users, who(sway or init) "parents" launched p...
👏10🤯5👍1
https://github.com/terraform-aws-modules/terraform-aws-eks/pull/1937
не удержался я
должен сказать, что иногда встренный web editor - это очень круто, потому что если бы мне нужно было бы в полный цикл checkout/edit/commit, я бы забил.
не удержался я
должен сказать, что иногда встренный web editor - это очень круто, потому что если бы мне нужно было бы в полный цикл checkout/edit/commit, я бы забил.
GitHub
Update LICENSE by pg83 · Pull Request #1937 · terraform-aws-modules/terraform-aws-eks
Description
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
🔥16👍8🤔1
вышел go 1.18
С дженериками.
https://go.googlesource.com/proposal/+/refs/heads/master/design/43651-type-parameters.md
Я пока не осилил прочесть этот текст, коллеги, там type erasure или мономорфизация?
Я, конечно, надеюсь, что первое, потому что и дальше можно будет ходить и говорить "дженерики в go - говно"(вместо "в go нет дженериков").
———
https://lwn.net/Articles/887746/
#linux #ci
Мне уже несколько поднадоело писать про то, как linux hackers относятся к тестам, но вот эту цитату Линуса я не могу пройти стороной:
"None of this was really surprising, but I naïvely thought I'd be able
to do the final release this weekend anyway.
And honestly, I considered it. I don't think we really have any pending issues that would hold up a release, but on the other hand we also really don't have any reason _not_ to give it another week with all the proper automated testing."
Я же все верно понимаю? Линус пишет, что, в принципе, конечно, можно и так, но он, мол, не придумал ни одной причины, чтобы не прогнать тесты. И как будто извиняется, что из-за дурацких тестов релиз откладывается еще на неделю.
Норм.
———
https://github.com/terraform-aws-modules/terraform-aws-eks/pull/1937#issuecomment-1068308469
Вчерашний мой PR закрыли. Дискуссия интересная, по очкам я победил, но хозяин - барин.
Я, конечно, продолжил дискуссию в новом тикете, но меня там послали, и тикет просто отменили, как это сейчас принято.
Потом автор всего этого безобразия нашел мой канал, и пришел в прошлый пост, почитать можете сами.
С дженериками.
https://go.googlesource.com/proposal/+/refs/heads/master/design/43651-type-parameters.md
Я пока не осилил прочесть этот текст, коллеги, там type erasure или мономорфизация?
Я, конечно, надеюсь, что первое, потому что и дальше можно будет ходить и говорить "дженерики в go - говно"(вместо "в go нет дженериков").
———
https://lwn.net/Articles/887746/
#linux #ci
Мне уже несколько поднадоело писать про то, как linux hackers относятся к тестам, но вот эту цитату Линуса я не могу пройти стороной:
"None of this was really surprising, but I naïvely thought I'd be able
to do the final release this weekend anyway.
And honestly, I considered it. I don't think we really have any pending issues that would hold up a release, but on the other hand we also really don't have any reason _not_ to give it another week with all the proper automated testing."
Я же все верно понимаю? Линус пишет, что, в принципе, конечно, можно и так, но он, мол, не придумал ни одной причины, чтобы не прогнать тесты. И как будто извиняется, что из-за дурацких тестов релиз откладывается еще на неделю.
Норм.
———
https://github.com/terraform-aws-modules/terraform-aws-eks/pull/1937#issuecomment-1068308469
Вчерашний мой PR закрыли. Дискуссия интересная, по очкам я победил, но хозяин - барин.
Я, конечно, продолжил дискуссию в новом тикете, но меня там послали, и тикет просто отменили, как это сейчас принято.
Потом автор всего этого безобразия нашел мой канал, и пришел в прошлый пост, почитать можете сами.
GitHub
Update LICENSE by pg83 · Pull Request #1937 · terraform-aws-modules/terraform-aws-eks
Description
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
❤3👍3
По поводу новой политики модерации FB.
Я тут подумал, что, на самом деле, несмотря на то, что это треш, угар, и содомия, FB поступил намного честнее, чем другие компании - он эту политику опубликовал.
Я более чем уверен, что подобные, только негласные, правила сейчас есть и на github, к примеру. Огромный массив hate speech по отношению к русским, без попыток прекратить это безобразие.
Да я и сам послал с пару десятков жалоб, без видимого результата. Как это соотносится с моими взглядами на свободу слова? Плохое время - плохие инструменты.
———
https://medium.engineering/typography-is-impossible-5872b0c7f891
Я думаю, вы уже обратили внимание, что мне интересна тема про шрифты, еще одна классная статья на тему.
———
https://lore.kernel.org/lkml/YjBr10JXLGHfEFfi@gmail.com/
#ingo
Третья попытка от Инго вмержить ускорение сборки ядра Linux. Удивлен, насколько мало к себе привлекли первая и вторая попытки в среде разработчиков ядра.
Я тут подумал, что, на самом деле, несмотря на то, что это треш, угар, и содомия, FB поступил намного честнее, чем другие компании - он эту политику опубликовал.
Я более чем уверен, что подобные, только негласные, правила сейчас есть и на github, к примеру. Огромный массив hate speech по отношению к русским, без попыток прекратить это безобразие.
Да я и сам послал с пару десятков жалоб, без видимого результата. Как это соотносится с моими взглядами на свободу слова? Плохое время - плохие инструменты.
———
https://medium.engineering/typography-is-impossible-5872b0c7f891
Я думаю, вы уже обратили внимание, что мне интересна тема про шрифты, еще одна классная статья на тему.
———
https://lore.kernel.org/lkml/YjBr10JXLGHfEFfi@gmail.com/
#ingo
Третья попытка от Инго вмержить ускорение сборки ядра Linux. Удивлен, насколько мало к себе привлекли первая и вторая попытки в среде разработчиков ядра.
Medium
Typography is impossible
The practical guide to why laying out type never quite does what you want
👍4
Беснование в open source набирает обороты, дурацкой лицензией дело не ограничивается, люди уже начинают портить данные на жестких дисках.
https://github.com/medikoo/es5-ext/commit/28de285ed433b45113f01e4ce7c74e9a356b2af2
https://github.com/vuejs/vue-cli/issues/7054
https://github.com/RIAEvangelist/node-ipc/issues/233
Список сумасшедших, которым потом будет стыдно:
https://docs.google.com/spreadsheets/u/1/d/1H3xPB4PgWeFcHjZ7NOPtrcya_Ua4jUolWm-7z9-jSpQ/htmlview?pru=AAABf7s6eoc*lXxgW2OQG5yig1d0fmf3cQ#gid=2074850979
Коллеги из MS, начните что-то с этим реально делать, потому что через несколько лет все начнет восстанавливаться, кроме доверия к вам, как к платформе.
Замечу, что нет худа без добра, это научит js- и python- разрабов фиксировать версии зависимостей.
———
Я себе ищу запасной аэродром для хранения исходников.
Исходил я из следующего:
* Это должно быть что-то местечковое, потому что я считаю, что маленькие свечные заводики этим беснованием будут затронуты в меньшей степени.
* Я уже опакетил порядка 400 пакетов, и у меня есть четкое представление, в каких хранилищах лежит наиболее интересный и хорошо сделанный код.
* Хочется чего-то, близкого к хакерской субкультуре. В олдовой unix традиции, если хотите. Без смузи-интерфейсов.
Короче, я пробую жить вот тут - https://sr.ht/, https://git.sr.ht/~pg/mix. Я подумывал о переезде туда последние 3 - 4 месяца, текущие события мою мысль подстегнули, конечно. #source_hut, #ddv
Когда я захожу на github, у меня дикое желание выпить смузи и установить npm. А когда на sr.ht - надеть свитер с оленями и отрастить бороду побольше, если вы понимаете, о чем я.
* сервис от небезызвестного Drew DeVault https://drewdevault.com/. Не знаю, почему, но на sr.ht концентрация классного кода просто зашкаливает.
* ничего лишнего, интерфейсы в стиле 80-ых, все, как я люблю
* user pg не был занят, это big win
* надо платить, и это хорошо, сервис обещает не делиться никакими данными, нет рекламы.
* пришлось, в очередной раз, вспомнить модель git, для синхронизации туда-сюда.
Подумываю о переименовании mix в mx, и переезд на hg, чтобы было совсем круто:
https://hg.sr.ht/~pg/mx
https://github.com/medikoo/es5-ext/commit/28de285ed433b45113f01e4ce7c74e9a356b2af2
https://github.com/vuejs/vue-cli/issues/7054
https://github.com/RIAEvangelist/node-ipc/issues/233
Список сумасшедших, которым потом будет стыдно:
https://docs.google.com/spreadsheets/u/1/d/1H3xPB4PgWeFcHjZ7NOPtrcya_Ua4jUolWm-7z9-jSpQ/htmlview?pru=AAABf7s6eoc*lXxgW2OQG5yig1d0fmf3cQ#gid=2074850979
Коллеги из MS, начните что-то с этим реально делать, потому что через несколько лет все начнет восстанавливаться, кроме доверия к вам, как к платформе.
Замечу, что нет худа без добра, это научит js- и python- разрабов фиксировать версии зависимостей.
———
Я себе ищу запасной аэродром для хранения исходников.
Исходил я из следующего:
* Это должно быть что-то местечковое, потому что я считаю, что маленькие свечные заводики этим беснованием будут затронуты в меньшей степени.
* Я уже опакетил порядка 400 пакетов, и у меня есть четкое представление, в каких хранилищах лежит наиболее интересный и хорошо сделанный код.
* Хочется чего-то, близкого к хакерской субкультуре. В олдовой unix традиции, если хотите. Без смузи-интерфейсов.
Короче, я пробую жить вот тут - https://sr.ht/, https://git.sr.ht/~pg/mix. Я подумывал о переезде туда последние 3 - 4 месяца, текущие события мою мысль подстегнули, конечно. #source_hut, #ddv
Когда я захожу на github, у меня дикое желание выпить смузи и установить npm. А когда на sr.ht - надеть свитер с оленями и отрастить бороду побольше, если вы понимаете, о чем я.
* сервис от небезызвестного Drew DeVault https://drewdevault.com/. Не знаю, почему, но на sr.ht концентрация классного кода просто зашкаливает.
* ничего лишнего, интерфейсы в стиле 80-ых, все, как я люблю
* user pg не был занят, это big win
* надо платить, и это хорошо, сервис обещает не делиться никакими данными, нет рекламы.
* пришлось, в очередной раз, вспомнить модель git, для синхронизации туда-сюда.
Подумываю о переименовании mix в mx, и переезд на hg, чтобы было совсем круто:
https://hg.sr.ht/~pg/mx
GitHub
chore: Give Peace a Chance · medikoo/es5-ext@28de285
ECMAScript extensions (with respect to upcoming ECMAScript features) - chore: Give Peace a Chance · medikoo/es5-ext@28de285
👍16🔥5
commit -m "better"
вышел go 1.18 С дженериками. https://go.googlesource.com/proposal/+/refs/heads/master/design/43651-type-parameters.md Я пока не осилил прочесть этот текст, коллеги, там type erasure или мономорфизация? Я, конечно, надеюсь, что первое, потому что и дальше…
https://github.com/terraform-aws-modules/terraform-aws-eks/pull/1937#issuecomment-1070958276
Антон таки внял голосу разума, и убрал некорректное изменение в лицензии Apache. Теперь тот самый текст - просто комментарий в README.md, без юридических требований. https://github.com/terraform-aws-modules/terraform-aws-eks#additional-information-for-users-from-russia-and-belarus
В высказывании своих политических взглядов я никакой проблемы не вижу, поэтому считаю, что все закончилось хорошо.
Антон таки внял голосу разума, и убрал некорректное изменение в лицензии Apache. Теперь тот самый текст - просто комментарий в README.md, без юридических требований. https://github.com/terraform-aws-modules/terraform-aws-eks#additional-information-for-users-from-russia-and-belarus
В высказывании своих политических взглядов я никакой проблемы не вижу, поэтому считаю, что все закончилось хорошо.
GitHub
Update LICENSE by pg83 · Pull Request #1937 · terraform-aws-modules/terraform-aws-eks
Description
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
After fad350d
this project can not be considered as Apache 2.0 licenced.
Also we shoul ask https://opensource.org/ if this license now open source license at all.
Motivation and Contex...
👍47
Сегодня ссылочный блог, звиняйте.
https://www.opennet.ru/opennews/art.shtml?num=56871
Firefox идет куда-то не туда. У меня такое ощущение, что, в погоне за последней копеечкой, они готовы вообще на все. Я так считаю - им надо или как-то дифференцироваться с хромом, и занять небольшую нишу, или уже сдаваться.
В современном мире компания, которая делает браузер в качестве основного продукта, не жилец.
Впрочем, я не верю и про нишу, с их дурацкой лицензией на код и качеством самого кода.
———
https://lkml.org/lkml/2022/3/17/964
Rust в Linux, v5. #linux_kernel_rust
Честно, я с огромным удовольствием слежу за этой историей. Линус хранит гробовое молчание, и, я думаю, ему этот Rust как кость в горле.
Но сейчас Линус уже старый и сытый, и не хочет кусать руку, которая его кормит, поэтому послать в жопу то, что не осилил понять(речь про С++ и Rust, а я смею заверить, что критика тогдашним, молодым, Линусом, C++ - ну так себе) уже не выйдет.
Поэтому я получу огромное удовольствие, когда он прогнется, и сдастся. Ну или еще большее удовольствие, если нет, наблюдая за последствиями.
Вот такой вот я злобный и злопамятный С++ программист.
https://www.opennet.ru/opennews/art.shtml?num=56871
Firefox идет куда-то не туда. У меня такое ощущение, что, в погоне за последней копеечкой, они готовы вообще на все. Я так считаю - им надо или как-то дифференцироваться с хромом, и занять небольшую нишу, или уже сдаваться.
В современном мире компания, которая делает браузер в качестве основного продукта, не жилец.
Впрочем, я не верю и про нишу, с их дурацкой лицензией на код и качеством самого кода.
———
https://lkml.org/lkml/2022/3/17/964
Rust в Linux, v5. #linux_kernel_rust
Честно, я с огромным удовольствием слежу за этой историей. Линус хранит гробовое молчание, и, я думаю, ему этот Rust как кость в горле.
Но сейчас Линус уже старый и сытый, и не хочет кусать руку, которая его кормит, поэтому послать в жопу то, что не осилил понять(речь про С++ и Rust, а я смею заверить, что критика тогдашним, молодым, Линусом, C++ - ну так себе) уже не выйдет.
Поэтому я получу огромное удовольствие, когда он прогнется, и сдастся. Ну или еще большее удовольствие, если нет, наблюдая за последствиями.
Вот такой вот я злобный и злопамятный С++ программист.
www.opennet.ru
Mozilla внедряет идентификаторы в загружаемые установочные файлы Firefox
Компания Mozilla начала применять новый метод идентификации установок браузера. В распространяемые с официального сайта сборки, поставляемые в форме exe-файлов для платформы Windows, подставляются идентификаторы dltoken, уникальные для каждой загрузки. Соответственно…
👍16🤔2
https://www.cnews.ru/news/top/2022-03-18_razrabotchik_samoj_populyarnoj
Пиздец, 5000 человек будут дистр Линукса клепать... Даже мне будет сложно с ними конкурировать.
Пиздец, 5000 человек будут дистр Линукса клепать... Даже мне будет сложно с ними конкурировать.
CNews.ru
Разработчик самой популярной российской ОС многократно увеличивает штат. Начался набор тысяч программистов - CNews
Разработчики отечественной ОС Astra Linux столкнулись со скачкообразным ростом интереса рынка к своим решениям и для его удовлетворения решили значительно нарастить штат. В течение двух лет он может...
😁3💩2
https://asahilinux.org/2022/03/asahi-linux-alpha-release/ #asahi
Вышла альфа. Не работает мультимедиа и тачпад. В то, что там когда-нибудь заработает 3d accel, я уже практически не верю.
———
Новости бутстрапа.
Мне понадобилось собрать yasm.
* У него есть две системы сборки - новая, на cmake, и старая, на autohell. Как я уже говорил, cmake не умеет в кросс-компиляцию, а yasmу нужно в процессе сборки себя построить парочку хостовых инструментов. Сборка на autohell про это знает и поддерживает, поэтому we are stuck с autohell.
* yasm вендорит очень старый re2c, родом из 2003 года. Я так понимаю, потому что это одна из последних версий до перехода re2c на С++. Этот re2c падает в процессе сборки:
После небольшой магии с патчингом сборочных файлов(https://git.sr.ht/~pg/mix/tree/main/item/pkgs/bin/yasm/mix.sh#L21), оно собралось и заработало. Замечу, re2c 2013 года отработал грамматику 2003 года, good, good.
* Я решил на этом не останавливаться, и собрал современный re2c. Он тоже корректно отработал грамматику 2003 года выпуска, поэтому промежуточный re2c я выпилил.
Отдельно хочу рассказать про re2c:
2003 год - 10 файлов на C.
2013 год - 5 файлов на С++.
2022 год - 250!!! объектных файлов из исходников на С++. Сука, 250!!! Они там написали свое вообще все, что можно - регулярки, парсера, utf8, все.
Я уже как-то, когда рассказывал про #ncurses #Хуйкин, писал, что, когда проект, по сути, завершен, и программисту нечего делать, то он начинает вылизыватьсебе яйца этот проект возможными и невозможными способами.
Ничего хорошего тут нет, это code bloat, и отсюда стремление вменяемых людей запилить что-то типа suckless.org, или вот мой mix.
Вышла альфа. Не работает мультимедиа и тачпад. В то, что там когда-нибудь заработает 3d accel, я уже практически не верю.
———
Новости бутстрапа.
Мне понадобилось собрать yasm.
* У него есть две системы сборки - новая, на cmake, и старая, на autohell. Как я уже говорил, cmake не умеет в кросс-компиляцию, а yasmу нужно в процессе сборки себя построить парочку хостовых инструментов. Сборка на autohell про это знает и поддерживает, поэтому we are stuck с autohell.
* yasm вендорит очень старый re2c, родом из 2003 года. Я так понимаю, потому что это одна из последних версий до перехода re2c на С++. Этот re2c падает в процессе сборки:
GEN genmacroпричем каким-то очень всратым образом(за 15 минут я не раздебажил). Я решил, какого хрена, и собрал самый старый доступный re2c из реп - https://github.com/skvadrik/re2c/tags?after=0.13.7.2
GEN genversion
GEN genstring
GEN genperf
GEN re2c
make: *** [Makefile:4426:
gas-token.c] Segmentation fault
make: *** Deleting file 'gas-token.c'
make: *** Waiting for unfinished jobs....
make: *** [Makefile:4429:
nasm-token.c] Segmentation fault
make: *** Deleting file 'nasm-token.c'
После небольшой магии с патчингом сборочных файлов(https://git.sr.ht/~pg/mix/tree/main/item/pkgs/bin/yasm/mix.sh#L21), оно собралось и заработало. Замечу, re2c 2013 года отработал грамматику 2003 года, good, good.
* Я решил на этом не останавливаться, и собрал современный re2c. Он тоже корректно отработал грамматику 2003 года выпуска, поэтому промежуточный re2c я выпилил.
Отдельно хочу рассказать про re2c:
2003 год - 10 файлов на C.
2013 год - 5 файлов на С++.
2022 год - 250!!! объектных файлов из исходников на С++. Сука, 250!!! Они там написали свое вообще все, что можно - регулярки, парсера, utf8, все.
Я уже как-то, когда рассказывал про #ncurses #Хуйкин, писал, что, когда проект, по сути, завершен, и программисту нечего делать, то он начинает вылизывать
Ничего хорошего тут нет, это code bloat, и отсюда стремление вменяемых людей запилить что-то типа suckless.org, или вот мой mix.
asahilinux.org
The first Asahi Linux Alpha Release is here! - Asahi Linux
Porting Linux to Apple Silicon
🔥3👍2
Про лицензии.
https://news.ycombinator.com/item?id=30710032
Мое первое появление на Hacker News. Не ожидал, что оно будет именно таким.
https://beny23.github.io/posts/on_weaponisation_of_open_source/
Прагматичный взгляд на всю эту катавасию про "код как оружие". В целом, довольно очевидные мысли, но все хорошо и аккуратно разложено по полочкам. Можно кидать ссылку в интернет срачиках.
https://lwn.net/Articles/888453/
Связь всего этого УГ с #GPL.
———
https://www.undeadly.org/cgi?action=article;sid=20220320115932
Без всякой помпы анонсирован порт OpenBSD на Apple M1. On par с #asahi Linux, судя по тексту.
———
https://philippegroarke.com/posts/2018/c++_ui_solutions/
Очень полный и подробный обзор различных библиотек виджетов. Я думал, что я хорошо разбираюсь в теме, но оказалось, что я знаю примерно треть от этого списка.
К сожалению, идеальной библиотеки виджетов я для себя пока не нашел :)
https://news.ycombinator.com/item?id=30710032
Мое первое появление на Hacker News. Не ожидал, что оно будет именно таким.
https://beny23.github.io/posts/on_weaponisation_of_open_source/
Прагматичный взгляд на всю эту катавасию про "код как оружие". В целом, довольно очевидные мысли, но все хорошо и аккуратно разложено по полочкам. Можно кидать ссылку в интернет срачиках.
https://lwn.net/Articles/888453/
Связь всего этого УГ с #GPL.
———
https://www.undeadly.org/cgi?action=article;sid=20220320115932
Без всякой помпы анонсирован порт OpenBSD на Apple M1. On par с #asahi Linux, судя по тексту.
———
https://philippegroarke.com/posts/2018/c++_ui_solutions/
Очень полный и подробный обзор различных библиотек виджетов. Я думал, что я хорошо разбираюсь в теме, но оказалось, что я знаю примерно треть от этого списка.
К сожалению, идеальной библиотеки виджетов я для себя пока не нашел :)
beny23.github.io
On the weaponisation of open source
First of all I need the preface this article on how much I abhor the Russian invasion of Ukraine and I wholeheartedly support the sanctions. However, I think the conflict has spilled over into areas of software development that have got some unintended consequences…
👍8😁1
https://www.opennet.ru/opennews/art.shtml?num=56846
Включил p-states на своем ноуте, получил систему, близкую к freeze. Все работало раз в 10 медленнее, чем полагается. Возможно, все ядра были в режиме глубокого энергосбережения, непонятно только, почему
———
https://git.sr.ht/~pg/mix/tree/main/item/pkgs/lib/sdl/2/mix.sh#L26
самая всратая система сборки - это, все же, cmake. И не только потому, что там нет кросс-компиляции, а еще потому, что там ничего не стандартизовано.
Как вы думаете, что делают эти странные настройки *_SHARED=OFF?
Нет, они не отключают точечно сборку .so. (для этого существует централизованный механизм, но, конечно, им все равно никто не пользуетя, все проекты заводят для этого свой набор флагов)
Они отключают очень странный механизм в SDL - загрузку внешних зависимостей через dlopen/dlsym.
Я полагаю, что это было сделано в интересах игроделов, по крайней мере, мало кто еще распространяет для Linux проприетарные бинари без исходников. SDL пытается загрузить зависимости без линковки с ними, и, конечно, это приводит к тому, что ты ставишь в систему клиент к "другому" аудио серверу, и у тебя напрочь пропадает звук в SDL приложениях.
Потому что в системе появляется новая, более приоритеная .so для загрузки.
Включил p-states на своем ноуте, получил систему, близкую к freeze. Все работало раз в 10 медленнее, чем полагается. Возможно, все ядра были в режиме глубокого энергосбережения, непонятно только, почему
———
https://git.sr.ht/~pg/mix/tree/main/item/pkgs/lib/sdl/2/mix.sh#L26
самая всратая система сборки - это, все же, cmake. И не только потому, что там нет кросс-компиляции, а еще потому, что там ничего не стандартизовано.
Как вы думаете, что делают эти странные настройки *_SHARED=OFF?
Нет, они не отключают точечно сборку .so. (для этого существует централизованный механизм, но, конечно, им все равно никто не пользуетя, все проекты заводят для этого свой набор флагов)
Они отключают очень странный механизм в SDL - загрузку внешних зависимостей через dlopen/dlsym.
Я полагаю, что это было сделано в интересах игроделов, по крайней мере, мало кто еще распространяет для Linux проприетарные бинари без исходников. SDL пытается загрузить зависимости без линковки с ними, и, конечно, это приводит к тому, что ты ставишь в систему клиент к "другому" аудио серверу, и у тебя напрочь пропадает звук в SDL приложениях.
Потому что в системе появляется новая, более приоритеная .so для загрузки.
www.opennet.ru
Релиз ядра Linux 5.17
После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 5.17. Среди наиболее заметных изменений: новая система управления производительностью для процессоров AMD, возможность рекурсивного маппинга идентификаторов пользователей в файловых…
👍3
#mesa, свет моей жизни, искры на кончиках пальцев. Грех мой, любовь моя. Me-sa.
Для ее сборки была разработана ныне очень популярная система сборки - #meson, и, на самом деле, это очень печально, потому что разработчики Mesa слишком хорошо знают meson, и пользуются любыми всратыми ее фичами.
Фактичеси, Mesa состоит из 2 частей - загрузчика плагинов, который поверх интерфейса плагина реализует всякие там state tracker типа opengl, vulkan, и, собственно, плагинов.
Так как авторы Mesa слишком хорошо знают meson, то сборка Mesa выглядит примерно так:
* собирается K объектных файлов
* из них собирается N архивов, причем, что важно, есть пересечения - один и тот же .o может попасть в несколько архивов
* из этих K + N артефактов собирается M конечных .so. Тоже с произвольным пересечением по .a/.o файлам!
Получается, что каждый конечный артефакт содержит произвольное подмножество исходников.
Пока это все собирается в .so, со скрытыми символами, это не представляет собой проблемы, кроме увеличения объема конечного кода и времени компиляции(потому что некоторые исходники таки переcобираются по нескольку раз).
Если же линковать статически, то мы получаем понятные проблемы - повторяющиеся символы при линковке.
Когда я впервые собирал mesa, я решил это очень странным способом - я свалил все конечные артефакты в одно корыто, и сделал из этого одну мега-библиотеку, которая заменила все конечные артефакты.
В целом, это работает неплохо, кроме одного очень важного сценария - мне таки нужно попилить этот гигантский артефакт на 2 части - loader, и драйвера, и сделать из них 2 физически разные зависимости.
Это нужно, чтобы поднять зависимость от драйверов до конечных программ, а все промежуточные библиотеки должны зависеть только от loader. Это важное требование, если мы не хотим пересобирать все дерево библиотек, нужных для сборки конечных GUI программ, для каждого набора драйверов, и, фактически, для нормального бинарного кеша сборки.
Я подходил к задаче распила раз 5:
* попилить по .o конечный артефакт руками. Ломается о комбинаторный взрыв различных способов собрать драйвера.
* сделать так, чтобы все собиралось в несколько полностью независимых .a файлов - все упиралось в дефекты сборочный системы meson и сособенности сборочных файлов mesa - тут я пытался руками править сборочные скрипты mesa(не масштабируется на апдейты), и саму meson(тут я был ближе всего к победе, но не срослось)
Короче, пока я эту проблему решил так:
* написал generic процедуру вычитания одного .a из другого. По именам .o файлов это сделать нельзя, по причинам что я уже описал выше, поэтому все делается посимвольно. https://github.com/pg83/mix/blob/main/pkgs/lib/mesa/t/sep/substr.py
* последовательным вычитанием привел в порядок загрузчик и библиотеку с драйверами. https://github.com/pg83/mix/blob/main/pkgs/lib/mesa/t/sep/mix.sh#L29
Это гораздо эстетичнее, чем предыдущая идея с мешком обжей, и работает достаточно хорошо(по крайней мере, решает исходную задачу).
Для ее сборки была разработана ныне очень популярная система сборки - #meson, и, на самом деле, это очень печально, потому что разработчики Mesa слишком хорошо знают meson, и пользуются любыми всратыми ее фичами.
Фактичеси, Mesa состоит из 2 частей - загрузчика плагинов, который поверх интерфейса плагина реализует всякие там state tracker типа opengl, vulkan, и, собственно, плагинов.
Так как авторы Mesa слишком хорошо знают meson, то сборка Mesa выглядит примерно так:
* собирается K объектных файлов
* из них собирается N архивов, причем, что важно, есть пересечения - один и тот же .o может попасть в несколько архивов
* из этих K + N артефактов собирается M конечных .so. Тоже с произвольным пересечением по .a/.o файлам!
Получается, что каждый конечный артефакт содержит произвольное подмножество исходников.
Пока это все собирается в .so, со скрытыми символами, это не представляет собой проблемы, кроме увеличения объема конечного кода и времени компиляции(потому что некоторые исходники таки переcобираются по нескольку раз).
Если же линковать статически, то мы получаем понятные проблемы - повторяющиеся символы при линковке.
Когда я впервые собирал mesa, я решил это очень странным способом - я свалил все конечные артефакты в одно корыто, и сделал из этого одну мега-библиотеку, которая заменила все конечные артефакты.
В целом, это работает неплохо, кроме одного очень важного сценария - мне таки нужно попилить этот гигантский артефакт на 2 части - loader, и драйвера, и сделать из них 2 физически разные зависимости.
Это нужно, чтобы поднять зависимость от драйверов до конечных программ, а все промежуточные библиотеки должны зависеть только от loader. Это важное требование, если мы не хотим пересобирать все дерево библиотек, нужных для сборки конечных GUI программ, для каждого набора драйверов, и, фактически, для нормального бинарного кеша сборки.
Я подходил к задаче распила раз 5:
* попилить по .o конечный артефакт руками. Ломается о комбинаторный взрыв различных способов собрать драйвера.
* сделать так, чтобы все собиралось в несколько полностью независимых .a файлов - все упиралось в дефекты сборочный системы meson и сособенности сборочных файлов mesa - тут я пытался руками править сборочные скрипты mesa(не масштабируется на апдейты), и саму meson(тут я был ближе всего к победе, но не срослось)
Короче, пока я эту проблему решил так:
* написал generic процедуру вычитания одного .a из другого. По именам .o файлов это сделать нельзя, по причинам что я уже описал выше, поэтому все делается посимвольно. https://github.com/pg83/mix/blob/main/pkgs/lib/mesa/t/sep/substr.py
* последовательным вычитанием привел в порядок загрузчик и библиотеку с драйверами. https://github.com/pg83/mix/blob/main/pkgs/lib/mesa/t/sep/mix.sh#L29
Это гораздо эстетичнее, чем предыдущая идея с мешком обжей, и работает достаточно хорошо(по крайней мере, решает исходную задачу).
👏13
В догонку предыдущему посту про #mesa.
Забыл рассказать, что мне пришлось хачить сборочную систему mesa, потому что собрать loader с пустым списком драйверов оно не умело. https://git.sr.ht/~pg/mix/tree/main/item/pkgs/lib/mesa/t/nodrv/mix.sh
И действительно, кому в своем уме это может понадобиться?
(кстати, я негодую, что никто не оценил эпиграф к предыдущей записи, он классный)
———
https://www.phoronix.com/scan.php?page=article&item=apple-m1-linux-perf&num=1
Первые бенчмарки Asahi Linux, в сравнении с MacOS. Я бы сказал, что там нет ничего удивительного.
1) Linux пишут жадные капиталисты для датацентров
2) MacOS - в ожидании, что там что-то выполняется редко, но метко, и важнее отзывчивость.
3) В Asahi нет управления питанием, то есть, оно шпарит всегда на максимум.
Поэтому на CPU-bound задачах Asahi несколько лучше, что хорошо заметно на моем любимом примере компиляции. Думаю, что Mac Mini M1 с Asahi на борту - это самое cost effective решение для CI сейчас.
———
LLVM weekly
Вышел clang/llvm 14! Я уже перешел на него в Mix. Впрочем, я перешел сразу на rc1, у clang хорошие тесты.
https://reviews.llvm.org/rG827575a7f853 - libc от LLVM наращивает мускулы. Она будет непригодна для bootstrap, потому что написана на C++, но вот для сборки основного дистрибутива - будет очень интересно.
———
https://www.opennet.ru/opennews/art.shtml?num=56900
Писать интерфейсы на C/GTK - это пиздец как сложно, там получаются просто тонны и километры boilerplate кода. Я, если честно, совершенно не понимаю людей, которые в 21 веке пишут GUI на C.
Вот, вместо того, чтобы перейти на C++/Rust, был запилен специальный язык для разработки на GTK.
Как и все от проекта #GNOME - всратое говно.
Забыл рассказать, что мне пришлось хачить сборочную систему mesa, потому что собрать loader с пустым списком драйверов оно не умело. https://git.sr.ht/~pg/mix/tree/main/item/pkgs/lib/mesa/t/nodrv/mix.sh
И действительно, кому в своем уме это может понадобиться?
(кстати, я негодую, что никто не оценил эпиграф к предыдущей записи, он классный)
———
https://www.phoronix.com/scan.php?page=article&item=apple-m1-linux-perf&num=1
Первые бенчмарки Asahi Linux, в сравнении с MacOS. Я бы сказал, что там нет ничего удивительного.
1) Linux пишут жадные капиталисты для датацентров
2) MacOS - в ожидании, что там что-то выполняется редко, но метко, и важнее отзывчивость.
3) В Asahi нет управления питанием, то есть, оно шпарит всегда на максимум.
Поэтому на CPU-bound задачах Asahi несколько лучше, что хорошо заметно на моем любимом примере компиляции. Думаю, что Mac Mini M1 с Asahi на борту - это самое cost effective решение для CI сейчас.
———
LLVM weekly
Вышел clang/llvm 14! Я уже перешел на него в Mix. Впрочем, я перешел сразу на rc1, у clang хорошие тесты.
https://reviews.llvm.org/rG827575a7f853 - libc от LLVM наращивает мускулы. Она будет непригодна для bootstrap, потому что написана на C++, но вот для сборки основного дистрибутива - будет очень интересно.
———
https://www.opennet.ru/opennews/art.shtml?num=56900
Писать интерфейсы на C/GTK - это пиздец как сложно, там получаются просто тонны и километры boilerplate кода. Я, если честно, совершенно не понимаю людей, которые в 21 веке пишут GUI на C.
Вот, вместо того, чтобы перейти на C++/Rust, был запилен специальный язык для разработки на GTK.
Как и все от проекта #GNOME - всратое говно.
Phoronix
Apple M1 Performance On Linux: Benchmarks Better Than Expected For Its Alpha State
Last Friday the crew at Asahi Linux led by Hector Martin released the first alpha release for running Linux on Apple Silicon hardware.
❤3💩1
Forwarded from Метаверсище и ИИще (Sergey Tsyptsyn)
This media is not supported in your browser
VIEW IN TELEGRAM
Ну и чтобы вы не думали, что автономные робаты это только Терминаторы и Дроны-убийцы...
Двойное назначение никто не отменял.
"А по вечерам я работаю в клубе".
Двойное назначение никто не отменял.
"А по вечерам я работаю в клубе".
👍6
https://www.cnews.ru/news/line/2022-03-24_bazalt_spo_predlozhila
Все же знают, почему и Альт, и Астра - упыри, не надо лишний раз рассказывать, да? #altlinux
Все же знают, почему и Альт, и Астра - упыри, не надо лишний раз рассказывать, да? #altlinux
CNews.ru
«Базальт СПО» предложила бесплатную ОС Simply Linux пострадавшим от санкций Microsoft - CNews
Российская компания «Базальт СПО» предоставила право бесплатно использовать операционную систему Simply...
👍4