Forwarded from 4chan +
Польская студия СD Project RED привлекла к созданию своей новой игры порноактрису Bunny Marthy – всё для того, чтобы секс-сцены стали ещё реалистичнее.
Пока ещё неизвестно, в какой именно игре она появится – это может быть либо новый «Ведьмак», либо дополнение Phantom Liberty для Cyberpunk 2077
4chan 18+
Пока ещё неизвестно, в какой именно игре она появится – это может быть либо новый «Ведьмак», либо дополнение Phantom Liberty для Cyberpunk 2077
4chan 18+
🍌15🔥6👍5👏1🌭1
commit -m "better"
https://www.opennet.ru/opennews/art.shtml?num=56416 Вышла новая версия busybox. Почему-то очень часто, рядом с информацией про релиз busybox, пишут вот такую ересь: "В то же время автор BusyBox всячески возражает против такой защиты - считая что она ломает…
Давненько не было новостей про #toybox! #busybox
Вышла новая версия, полез посмотреть, каких новых команд они досыпали.
https://github.com/landley/toybox/blob/master/toys/pending/git.c
Пожалуйста, вот вам git client за 600 строк кода!
Никакого продуктового смысла в этом, конечно, нет, но так-то довольно интересно поштырить, чтобы понять, что ядро git - это вот эти вот 600 строк кода, с кучей слоев вокруг.
Вышла новая версия, полез посмотреть, каких новых команд они досыпали.
https://github.com/landley/toybox/blob/master/toys/pending/git.c
Пожалуйста, вот вам git client за 600 строк кода!
Никакого продуктового смысла в этом, конечно, нет, но так-то довольно интересно поштырить, чтобы понять, что ядро git - это вот эти вот 600 строк кода, с кучей слоев вокруг.
GitHub
toybox/toys/pending/git.c at master · landley/toybox
toybox. Contribute to landley/toybox development by creating an account on GitHub.
👍9🤔2🤯1🤮1
Есть такой классный torrent клиент transmission.
Мне казалось, что на него, в последние годы, подзабили - последний релиз был почти 3 года назад, а до этого - в 18 году.
Но нет, коллеги продолжают работать, и за последние несколько месяцев вышло 3 беты, думаю, скоро релиз!
https://github.com/transmission/transmission/releases/tag/4.0.0-beta.3
Самое IMHO вкусное - это порт на QT6.
Мне казалось, что на него, в последние годы, подзабили - последний релиз был почти 3 года назад, а до этого - в 18 году.
Но нет, коллеги продолжают работать, и за последние несколько месяцев вышло 3 беты, думаю, скоро релиз!
https://github.com/transmission/transmission/releases/tag/4.0.0-beta.3
Самое IMHO вкусное - это порт на QT6.
GitHub
Release 4.0.0-beta.3 · transmission/transmission
Transmission 4.0.0-beta.3
What's New in 4.0.0-beta.3
libtransmission (All Platforms)
Dropped obsolete CyaSSL and PolarSSL crypto backends (WolfSSL and MbedTLS are still supported). (#4495)
Upd...
What's New in 4.0.0-beta.3
libtransmission (All Platforms)
Dropped obsolete CyaSSL and PolarSSL crypto backends (WolfSSL and MbedTLS are still supported). (#4495)
Upd...
🔥12👍3🤮2🤔1
Не могу не похвастаться. #cross
Я несколько раз упоминал, что одна из моих целей - это простая и дешевая кросс-компиляция, без мучительной настройки окружения.
С самого начала разработки #ix, я закладывал в него такую возможность - учет host/target в графе, возможность указывать библиотеки, нужные для сборки, в разных контекстах (host/target), прокидывание этой информации до cmake/meson/autohell, до каждого запуска clang/lld, и так далее.
И я даже использовал кросс-компиляцию, в узком смысле этого слова, например, для отладочных сборок, для LTO, и так далее.
Понятно же, что, когда тулчейн нужно собрать под host, а библиотеку этим тулчейном уже под host+LTO, это уже тоже кросс-компиляция?
Но весь последний год я, почему-то, боялся сделать решительный шаг, и собрать уже что-нибудь под радикально другую платформу! Не знаю, странная боязнь неудачи, наверное.
И, вот, пожалуйста!
Я несколько раз упоминал, что одна из моих целей - это простая и дешевая кросс-компиляция, без мучительной настройки окружения.
С самого начала разработки #ix, я закладывал в него такую возможность - учет host/target в графе, возможность указывать библиотеки, нужные для сборки, в разных контекстах (host/target), прокидывание этой информации до cmake/meson/autohell, до каждого запуска clang/lld, и так далее.
И я даже использовал кросс-компиляцию, в узком смысле этого слова, например, для отладочных сборок, для LTO, и так далее.
Понятно же, что, когда тулчейн нужно собрать под host, а библиотеку этим тулчейном уже под host+LTO, это уже тоже кросс-компиляция?
Но весь последний год я, почему-то, боялся сделать решительный шаг, и собрать уже что-нибудь под радикально другую платформу! Не знаю, странная боязнь неудачи, наверное.
И, вот, пожалуйста!
pg-> ./ix build lib/c++/15 --target=linux-aarch64Понятно, что пока так собираются только самые базовые вещи, придется зачинивать кучу таргетов, которые, в процессе работы, строят и запускают host тулзы, но не умеют сами в кросс-компиляцию, но начало положено!
READY /ix/store/eS3L7CZ3qS6dEkaX-rlm-ephemeral/touch
pg-> find /ix/store/...-rlm-ephemeral/lib/
/ix/store/...-rlm-ephemeral/lib/
/ix/store/...-rlm-ephemeral/lib/Scrt1.o
/ix/store/...-rlm-ephemeral/lib/crti.o
/ix/store/...-rlm-ephemeral/lib/crtn.o
/ix/store/...-rlm-ephemeral/lib/crt1.o
/ix/store/...-rlm-ephemeral/lib/rcrt1.o
/ix/store/...-rlm-ephemeral/lib/libm.a
/ix/store/...-rlm-ephemeral/lib/librt.a
/ix/store/...-rlm-ephemeral/lib/libpthread.a
/ix/store/...-rlm-ephemeral/lib/libcrypt.a
/ix/store/...-rlm-ephemeral/lib/libutil.a
/ix/store/...-rlm-ephemeral/lib/libxnet.a
/ix/store/...-rlm-ephemeral/lib/libresolv.a
/ix/store/...-rlm-ephemeral/lib/libdl.a
/ix/store/...-rlm-ephemeral/lib/libcrt.a
/ix/store/...-rlm-ephemeral/lib/libc.a
/ix/store/...-rlm-ephemeral/lib/libc++abi.a
/ix/store/...-rlm-ephemeral/lib/libc++.a
/ix/store/...-rlm-ephemeral/lib/libc++unwind.a
pg-> llvm-objdump --disassemble
/ix/store/...-rlm-ephemeral/lib/crtn.o
crtn.o: file format elf64-littleaarch64
Disassembly of section .init:
0000000000000000 <$x.0>:
0: a8c17bfd ldp x29, x30, [sp], #16
4: d65f03c0 ret
Disassembly of section .fini:
0000000000000000 <$x.1>:
0: a8c17bfd ldp x29, x30, [sp], #16
4: d65f03c0 ret
pg->
🔥21🏆10👍5❤🔥1
commit -m "better"
Не могу не похвастаться. #cross Я несколько раз упоминал, что одна из моих целей - это простая и дешевая кросс-компиляция, без мучительной настройки окружения. С самого начала разработки #ix, я закладывал в него такую возможность - учет host/target в графе…
Забавно, что от "собрать пару либ" до "собрать содержательный пакет" - всего пара строк кода! #cross
https://github.com/pg83/ix/commit/c9a76659a00c2b94974eb2c9edd67843cd85663a
pg-> ./ix build bin/sed --target=linux-aarch64
READY /ix/store/...-rlm-ephemeral/touch
pg-> /ix/store/...-bin-sed/bin/sed
bash: /ix/store/...-bin-sed/bin/sed:
cannot execute binary file:
Exec format error
pg->
https://github.com/pg83/ix/commit/c9a76659a00c2b94974eb2c9edd67843cd85663a
GitHub
cross-compile · pg83/ix@c9a7665
ix package manager. Contribute to pg83/ix development by creating an account on GitHub.
👍9🔥4👌3
Forwarded from Метаверсище и ИИще (Sergey Tsyptsyn ️️)
Битва людей против машин продолжается.
На Stable Diffusion подали в суд. В иске утверждается, что нейросети нарушают авторские права миллионов художников. Заявляется, что права нарушаются уже на стадии обучения нейросетей. Нейросети называют «инструментами для создания коллажей 21 века».
Иск пестрит таким фразами "Скопировав пять миллиардов изображений", "Это паразит, который, если позволить ему размножаться, нанесет непоправимый вред художникам сейчас и в будущем."
По дороге досталось Midjourney и Devian Art.
Истцы требуют возмещение ущерба (сумму предложили определить суду). Stable Diffusion обвиняют в незаконном обогащении. К иску предложили присоединиться художникам, которые недовольны генераторами изображений.
https://stablediffusionlitigation.com/
На реддите приподвскипает:
https://www.reddit.com/r/MachineLearning/comments/10bkjdk/n_classaction_lawsuit_filed_against_stability_ai/
На Stable Diffusion подали в суд. В иске утверждается, что нейросети нарушают авторские права миллионов художников. Заявляется, что права нарушаются уже на стадии обучения нейросетей. Нейросети называют «инструментами для создания коллажей 21 века».
Иск пестрит таким фразами "Скопировав пять миллиардов изображений", "Это паразит, который, если позволить ему размножаться, нанесет непоправимый вред художникам сейчас и в будущем."
По дороге досталось Midjourney и Devian Art.
Истцы требуют возмещение ущерба (сумму предложили определить суду). Stable Diffusion обвиняют в незаконном обогащении. К иску предложили присоединиться художникам, которые недовольны генераторами изображений.
https://stablediffusionlitigation.com/
На реддите приподвскипает:
https://www.reddit.com/r/MachineLearning/comments/10bkjdk/n_classaction_lawsuit_filed_against_stability_ai/
👍7🤡5🤔4😱2
commit -m "better"
https://portal.mozz.us/gemini/arcanesciences.com/gemlog/22-07-28/ Размер одного и того же кода в байтах, скомпилированного под разные архитектуры. Метрика важная, потому что чем меньше кода, тем меньше tlb miss / cache miss / memory loads при его исполнении.…
Когда у тебя появляется микроскоп, то им обязательно хочется что-нибудь забить! #cross
Вот, у меня появилась новая игрушка - кросс-компиляция чего угодно откуда угодно, и я, например, решил проверить выводы про плотность кода.
Вот, у меня появилась новая игрушка - кросс-компиляция чего угодно откуда угодно, и я, например, решил проверить выводы про плотность кода.
pg-> ./ix build bin/xz --target=linux-aarch64Мне системно делать это лень, но на примере 2 - 3 бинарников (я смотрел на sed, xz, и curl, в сниппете размеры для xz) я вижу другую закономерность - что у risc-v, наоборот, самый плотный код из всех!
pg-> ls -laH /ix/.../bin/xz
-r-xr-xr-x 1 ix 1000 1897768 Jan 16 21:11
pg-> ./ix build bin/xz --target=linux-riscv64
pg-> ls -laH /ix/.../bin/xz
-r-xr-xr-x 1 ix 1000 1724848 Jan 16 21:14
pg-> ./ix build bin/xz --target=linux-x86_64
pg-> ls -laH /ix/.../bin/xz
-r-xr-xr-x 1 ix 1000 1787144 Jan 16 21:15
👍9🤔4🔥2💩1
Кстати, я начал постепенно заполнять файлик с описанием того, зачем оно, и как оно (идеально) устроено - https://github.com/pg83/ix/blob/main/docs/STALIX.md
Пока это, скорее, "декларация о намерениях", с выделенными разделами и кучей ссылок на аргументацию, но без "мяса".
Кстати, пользуясь случаем, говорю спасибо нашим уважаемым волонтерам, за помощь с переводом и оформлением документации!
Пока это, скорее, "декларация о намерениях", с выделенными разделами и кучей ссылок на аргументацию, но без "мяса".
Кстати, пользуясь случаем, говорю спасибо нашим уважаемым волонтерам, за помощь с переводом и оформлением документации!
👍13👌4❤3🔥1
commit -m "better"
Недавно рассказывал, что соорудил рендеринг #svg иконок в png, через #inkscape. Все же, мне этот процесс кажется не очень технологичным: * Inkscape - overkill по зависимостям * И, хотя я и сделал, что от пакета с иконками зависит только финальный #realm…
Я тут, на досуге, продолжил возню с #svg.
Не то чтобы меня не устраивало, как работает #lunasvg, но вот этот вот svgren, о котором шла речь в предыдущем посте, он использует AGG https://en.wikipedia.org/wiki/Anti-Grain_Geometry в качестве канвы для отрисовки, а я, знаете ли, испытываю к ней нежные чувства (не спрашивайте). Ну и мне показалось прикольным, если за рендерингом svg у меня будет стоять это произведение искусства!
Вот список зависимостей, которые пришлось подтащить для сборки этой самой svgren - https://github.com/pg83/ix/tree/main/pkgs/lib/svgren Это все - адовые велосипеды от того же автора, что и сам svgren.
Знаете, я долго сдерживал смех, пока клал эти библиотеки, одну за одной, но вот когда мне пришлось написать нечто вот такое в своем коде - https://github.com/cppfw/svgren/blob/master/tests/render/main.cpp#L120-L121, я уже не смог сдерживаться, и пока отложил порт.
Не то чтобы меня не устраивало, как работает #lunasvg, но вот этот вот svgren, о котором шла речь в предыдущем посте, он использует AGG https://en.wikipedia.org/wiki/Anti-Grain_Geometry в качестве канвы для отрисовки, а я, знаете ли, испытываю к ней нежные чувства (не спрашивайте). Ну и мне показалось прикольным, если за рендерингом svg у меня будет стоять это произведение искусства!
Вот список зависимостей, которые пришлось подтащить для сборки этой самой svgren - https://github.com/pg83/ix/tree/main/pkgs/lib/svgren Это все - адовые велосипеды от того же автора, что и сам svgren.
Знаете, я долго сдерживал смех, пока клал эти библиотеки, одну за одной, но вот когда мне пришлось написать нечто вот такое в своем коде - https://github.com/cppfw/svgren/blob/master/tests/render/main.cpp#L120-L121, я уже не смог сдерживаться, и пока отложил порт.
😁8👍3❤2🤔1🤡1🐳1
Коллеги притащили красивое - https://github.com/tdlib/td/blob/master/td/telegram/NotificationManager.cpp#L2737
Такой, знаете, ad hoc хеш, позволяющий сильно уменьшить количество сравнений строк (в данном конкретном случае это может быть важно, потому что у строк есть общий префикс).
В данном случае это, скорее всего, premature optimization (perf я не смотрел), но, в качестве "как быстро и грязно заменить ragel" вполне сойдет.
Такой, знаете, ad hoc хеш, позволяющий сильно уменьшить количество сравнений строк (в данном конкретном случае это может быть важно, потому что у строк есть общий префикс).
В данном случае это, скорее всего, premature optimization (perf я не смотрел), но, в качестве "как быстро и грязно заменить ragel" вполне сойдет.
GitHub
td/td/telegram/NotificationManager.cpp at master · tdlib/td
Cross-platform library for building Telegram clients - tdlib/td
👍8🤡8🔥5💩3😁2😱2
commit -m "better"
* https://lists.llvm.org/pipermail/llvm-dev/2021-October/153113.html LLVM хочет отказаться от фабрикатора, в пользу github PR's(не потому что он плохой, а потому что его забросили). Печаль. Мне гораздо более симпатичны(и удобны) тулзы, которые делают программисты…
Даже уже и opennet написал, а я все еще нет! #glibc #collabora
https://www.collabora.com/news-and-blog/blog/2023/01/17/a-brave-new-world-building-glibc-with-llvm/
https://www.opennet.ru/opennews/art.shtml?num=58500
Какой-то странный текст, glibc можно было собрать и слинковать с clang/llv/lld еще год назад, как следует из предыдущего текста.
Новая статья - она не про сборку с clang/llvm/lld, а про то, как изговна и палок compiler_rt + libunwind соорудить libgcc(который требуется по LSB - https://en.wikipedia.org/wiki/Linux_Standard_Base).
Короче, героическое решение проблем, созданных себе на ровном месте, технически ничего нового и интересного.
https://www.collabora.com/news-and-blog/blog/2023/01/17/a-brave-new-world-building-glibc-with-llvm/
https://www.opennet.ru/opennews/art.shtml?num=58500
Какой-то странный текст, glibc можно было собрать и слинковать с clang/llv/lld еще год назад, как следует из предыдущего текста.
Новая статья - она не про сборку с clang/llvm/lld, а про то, как из
Короче, героическое решение проблем, созданных себе на ровном месте, технически ничего нового и интересного.
Collabora | Open Source Consulting
A brave new world: building glibc with LLVM
Glibc - the last big GCC bastion, is now working towards supporting LLVM as a first-class citizen.
👍6
https://nullprogram.com/blog/2023/01/18/ #pkgconfig
Оч. странный чувак, я пару раз уже кидал ссылки на его блог.
Хотел кинуть и на предыдущую его заметку про SDL - https://nullprogram.com/blog/2023/01/08/, но мне, почти про каждый пункт из нее хотелось сказать "не делайте так!", поэтому не кинул.
В новом тексте коллега рассказывает про сложности с pkg-config (это такой способ для поиска зависимостей и их настроек в unix), и, конечно, решает написать свою реализацию, которая бы была #bootstrap`able, и работала под винду.
Ну и написал.
Штука довольно интересная, так как специально создана для того, чтобы разорвать зависимость сборки pkg-config -> pkg-config, то есть, может мне довольно сильно упростить жизнь на ранних стадиях bootstrap.
Использовать ее как полноценную замену pkg-config, конечно, не выйдет, потому что "дьявол в деталях"! В pkg-config довольно много странных и неочевидных правил подстановки переменных, которые реализовать все - ну такое. Собственно, я тоже пытался частично запилить эту логику подстановки, писал про это в https://xn--r1a.website/itpgchannel/845, и "малой кровью" у меня это не получилось,
Оч. странный чувак, я пару раз уже кидал ссылки на его блог.
Хотел кинуть и на предыдущую его заметку про SDL - https://nullprogram.com/blog/2023/01/08/, но мне, почти про каждый пункт из нее хотелось сказать "не делайте так!", поэтому не кинул.
В новом тексте коллега рассказывает про сложности с pkg-config (это такой способ для поиска зависимостей и их настроек в unix), и, конечно, решает написать свою реализацию, которая бы была #bootstrap`able, и работала под винду.
Ну и написал.
Штука довольно интересная, так как специально создана для того, чтобы разорвать зависимость сборки pkg-config -> pkg-config, то есть, может мне довольно сильно упростить жизнь на ранних стадиях bootstrap.
Использовать ее как полноценную замену pkg-config, конечно, не выйдет, потому что "дьявол в деталях"! В pkg-config довольно много странных и неочевидных правил подстановки переменных, которые реализовать все - ну такое. Собственно, я тоже пытался частично запилить эту логику подстановки, писал про это в https://xn--r1a.website/itpgchannel/845, и "малой кровью" у меня это не получилось,
Telegram
IT PG
Занимался рутинным обновлением софта. #pkgconfig
Контур CI - это очень круто и удобно, потому что как я еще бы заметил, что, с новым libpcap, начала падать сборка wireshark?
Падать оно начало с очень странным сообщением об ошибке:
"ninja: Entering directory…
Контур CI - это очень круто и удобно, потому что как я еще бы заметил, что, с новым libpcap, начала падать сборка wireshark?
Падать оно начало с очень странным сообщением об ошибке:
"ninja: Entering directory…
👍5
commit -m "better"
Когда у тебя появляется микроскоп, то им обязательно хочется что-нибудь забить! #cross Вот, у меня появилась новая игрушка - кросс-компиляция чего угодно откуда угодно, и я, например, решил проверить выводы про плотность кода. pg-> ./ix build bin/xz --target=linux…
Меня в комментариях попросили показать размер .text.
Показываю!
На этот раз, для curl, собранного в режиме "полный фарш":
Тенденция та же - riscv64 у меня занимает меньше всего(размеры в hex, если что).
Показываю!
На этот раз, для curl, собранного в режиме "полный фарш":
pg-> llvm-objdump --headers ./curl.x86_64 | grep text
5 .text 003211f0 0000000000509dc0 TEXT
pg-> llvm-objdump --headers ./curl.aarch64 | grep text
5 .text 002fae94 0000000000505e30 TEXT
pg-> llvm-objdump --headers ./curl.riscv64 | grep text
5 .text 0026bcfc 000000000026512c TEXT
Тенденция та же - riscv64 у меня занимает меньше всего(размеры в hex, если что).
👍3🔥3🤔2👌1