commit -m "better"
https://habr.com/ru/post/599767/ https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/ https://twitter.com/marak/status/1479200803948830724?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E14…
https://www.phoronix.com/news/Mold-1.7 #money
Оказывается, слона-то в новом релизе #mold я и не заметил!
"I'd like to inform users that I'm seriously considering changing the mold's license from AGPL to a source-available license unless I secure big funding. The new license would be something like individuals can use it for free but corporate users have to pay. mold started as my personal project, and I've been working on this full time for two years so far. I thought that I could earn a comfortable income if mold become popular, but unfortunately, I'm still losing my money."
Забавно, что такой умный человек попал в эту ловушку. В open source нет денег, писал про это и буду писать.
open source, если он от отдельных граждан, а не от больших компаний - это for fun, для души, как #charity, опять же. Но уж точно не деньги.
Он пишет(кстати, очень стандартная тема от таких "жалующихся"):
"It's even a bit ironic that I had been asked by several big-name companies when mold/macOS would become available, since they wanted to use it for their multi-billion-dollar businesses. But none of them gave me financial support"
Я ему могу легко ответить.
#mold не настолько лучше, по сравнению с ближайшим конкурентом(lld), чтобы за него платить деньги.
Это удивительно, и наивно, - "я сделал хороший продукт, подарил его вам, а теперь заплатите мне".
Блин, я вообще посмотрел в сторону mold в том числе, потому, что он открытый И бесплатный, зачем он мне в виде платного софта? Ну, нет, на рынке линкеров большая конкуренция, есть предложения и получше(бесплатный lld, например).
Оказывается, слона-то в новом релизе #mold я и не заметил!
"I'd like to inform users that I'm seriously considering changing the mold's license from AGPL to a source-available license unless I secure big funding. The new license would be something like individuals can use it for free but corporate users have to pay. mold started as my personal project, and I've been working on this full time for two years so far. I thought that I could earn a comfortable income if mold become popular, but unfortunately, I'm still losing my money."
Забавно, что такой умный человек попал в эту ловушку. В open source нет денег, писал про это и буду писать.
open source, если он от отдельных граждан, а не от больших компаний - это for fun, для души, как #charity, опять же. Но уж точно не деньги.
Он пишет(кстати, очень стандартная тема от таких "жалующихся"):
"It's even a bit ironic that I had been asked by several big-name companies when mold/macOS would become available, since they wanted to use it for their multi-billion-dollar businesses. But none of them gave me financial support"
Я ему могу легко ответить.
#mold не настолько лучше, по сравнению с ближайшим конкурентом(lld), чтобы за него платить деньги.
Это удивительно, и наивно, - "я сделал хороший продукт, подарил его вам, а теперь заплатите мне".
Блин, я вообще посмотрел в сторону mold в том числе, потому, что он открытый И бесплатный, зачем он мне в виде платного софта? Ну, нет, на рынке линкеров большая конкуренция, есть предложения и получше(бесплатный lld, например).
Phoronix
Mold 1.7 Released But May Need To Change Software License If Funding Not Secured
Mold is the modern, high performance, and open-source linker taking on the likes of LLVM LLD and GNU Gold
👍5🤡5😁1
https://www.opennet.ru/opennews/art.shtml?num=58087
"техническая новость", интерес представляет только для энтузиастов графического стека Linux.
"В состав принят код проекта dxvk-native, позволяющего формировать родные сборки DXVK для Linux (не привязанные к Wine), которые можно использовать не для запуска Windows-приложений, а в обычных Linux-приложениях, что может быть полезным для создания портов игр для Linux без изменения кода отрисовки на базе D3D"
Мы тут как-то обсуждали direct x state tracker в #mesa, а вот еще одна независимая реализация той же идеи, только поверх vulkan, умеет теперь нативно собираться под Linux.
Я так понимаю, граф "X поверх Y" скоро станет полным, для X, Y в (DirectX, Vulkan, Metal), и уже будет неважно, под какой API ты решил разрабатываться.
"техническая новость", интерес представляет только для энтузиастов графического стека Linux.
"В состав принят код проекта dxvk-native, позволяющего формировать родные сборки DXVK для Linux (не привязанные к Wine), которые можно использовать не для запуска Windows-приложений, а в обычных Linux-приложениях, что может быть полезным для создания портов игр для Linux без изменения кода отрисовки на базе D3D"
Мы тут как-то обсуждали direct x state tracker в #mesa, а вот еще одна независимая реализация той же идеи, только поверх vulkan, умеет теперь нативно собираться под Linux.
Я так понимаю, граф "X поверх Y" скоро станет полным, для X, Y в (DirectX, Vulkan, Metal), и уже будет неважно, под какой API ты решил разрабатываться.
www.opennet.ru
Выпуск DXVK 2.0, реализации Direct3D 9/10/11 поверх API Vulkan
Доступен выпуск прослойки DXVK 2.0, предоставляющей реализацию DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 и 11, работающую через трансляцию вызовов в API Vulkan. Для использования DXVK требуется наличие драйверов с поддержкой API Vulkan 1.3, таких…
👍10🤔1
Вышел релиз wayland-protocols, за номером 1.29. 1.28 была, буквально, на днях, я писал про новые ошибки линковки, с ней связанные. #wayland
Меня удивило, быстро очень, они же там протоколы по 2 года мусолят.
https://lists.freedesktop.org/archives/wayland-devel/2022-November/042499.html
"This release contains a bug fix to the 'content-type' protocol extension, where an incorrect enum name was previously used. See [1] for more information how it eventually can be avoided in the future"
Мусолят-то мусолят, но нихрена не тестируют.
Шапито.
Меня удивило, быстро очень, они же там протоколы по 2 года мусолят.
https://lists.freedesktop.org/archives/wayland-devel/2022-November/042499.html
"This release contains a bug fix to the 'content-type' protocol extension, where an incorrect enum name was previously used. See [1] for more information how it eventually can be avoided in the future"
Мусолят-то мусолят, но нихрена не тестируют.
Шапито.
👍4🔥2🤡2
Продолжая тему #wayland, на днях вышли новые wlroots - https://www.phoronix.com/news/wlroots-0.16-Released
Ничего особенно интересного, но у меня наконец-то починились всплывающие окошки в gtk4. gtk4 перешли на аппаратно-ускоренный рендеринг, и что-то там так себе работало, когда композитор(sway) работал через opengl, а gui рендерило в буфер через #zink(ну, то есть, в буфера попадали команды от vulkan, грубо говоря).
Теперь в #sway хорошо заработал рендер на основе vulkan, и артефакты исчезли.
Ничего особенно интересного, но у меня наконец-то починились всплывающие окошки в gtk4. gtk4 перешли на аппаратно-ускоренный рендеринг, и что-то там так себе работало, когда композитор(sway) работал через opengl, а gui рендерило в буфер через #zink(ну, то есть, в буфера попадали команды от vulkan, грубо говоря).
Теперь в #sway хорошо заработал рендер на основе vulkan, и артефакты исчезли.
Phoronix
wlroots 0.16 Released With More Stable Vulkan Renderer, High Resolution Scrolling
The wlroots Wayland compositor support library that started out as a companion project to Sway is out with a shiny new feature release.
👍3👏2🔥1
И, закрывая тему #wayland на сегодня, скажу, что меня дико бесит способ распространения их протоколов.
Они, видимо, часть общеупотребительных протоколов сразу предоставляют в виде C библиотеки, а всякую шнягу только в виде xml файлов.
И, получается, каждый проект, который их хочет, компилирует эти xml файлы в код, а потом, если такое в рамках одной программы случилось несколько раз, то мы имеем ошибки линковки:
d.lld: error: duplicate symbol: zwp_linux_dmabuf_v1_interface
>>> defined at wayland-linux-dmabuf-unstable-v1-protocol.c
>>> wayland-linux-dmabuf-unstable-v1-protocol.c.o:(zwp_linux_dmabuf_v1_interface) in archive /ix/store/vG3f4y9IuqH0uqOa-lib-qt-6-wayland/./plugins/wayland-graphics-integration-server/libqt-wayland-compositor-linux-dmabuf-unstable-v1.a
>>> defined at linux-dmabuf-unstable-v1-protocol.c:76 (/ix/build/dKHxjGBeXc36a9Nv/obj/src/egl/wayland/wayland-drm/linux-dmabuf-unstable-v1-protocol.c:76)
>>> meson-generated_.._wayland_wayland-drm_linux-dmabuf-unstable-v1-protocol.c.o:(.rodata.zwp_linux_dmabuf_v1_interface+0x0) in archive /ix/store/dKHxjGBeXc36a9Nv-lib-mesa/lib/libEGL.a
ld.lld: error: duplicate symbol: zwp_linux_buffer_params_v1_interface
>>> defined at wayland-linux-dmabuf-unstable-v1-protocol.c
>>> wayland-linux-dmabuf-unstable-v1-protocol.c.o:(zwp_linux_buffer_params_v1_interface) in archive /ix/store/vG3f4y9IuqH0uqOa-lib-qt-6-wayland/./plugins/wayland-graphics-integration-server/libqt-wayland-compositor-linux-dmabuf-unstable-v1.a
>>> defined at linux-dmabuf-unstable-v1-protocol.c:94 (/ix/build/dKHxjGBeXc36a9Nv/obj/src/egl/wayland/wayland-drm/linux-dmabuf-unstable-v1-protocol.c:94)
>>> meson-generated_.._wayland_wayland-drm_linux-dmabuf-unstable-v1-protocol.c.o:(.rodata.zwp_linux_buffer_params_v1_interface+0x0) in archive /ix/store/dKHxjGBeXc36a9Nv-lib-mesa/lib/libEGL.a
clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
Я, честно говоря, подзадолбался ходить по библиотекам, и переименовывать там эти символы - https://github.com/pg83/ix/blob/main/pkgs/lib/wpe/fdo/ix.sh#L18. В .so их, понятное дело, просто скрывают.
Они, видимо, часть общеупотребительных протоколов сразу предоставляют в виде C библиотеки, а всякую шнягу только в виде xml файлов.
И, получается, каждый проект, который их хочет, компилирует эти xml файлы в код, а потом, если такое в рамках одной программы случилось несколько раз, то мы имеем ошибки линковки:
d.lld: error: duplicate symbol: zwp_linux_dmabuf_v1_interface
>>> defined at wayland-linux-dmabuf-unstable-v1-protocol.c
>>> wayland-linux-dmabuf-unstable-v1-protocol.c.o:(zwp_linux_dmabuf_v1_interface) in archive /ix/store/vG3f4y9IuqH0uqOa-lib-qt-6-wayland/./plugins/wayland-graphics-integration-server/libqt-wayland-compositor-linux-dmabuf-unstable-v1.a
>>> defined at linux-dmabuf-unstable-v1-protocol.c:76 (/ix/build/dKHxjGBeXc36a9Nv/obj/src/egl/wayland/wayland-drm/linux-dmabuf-unstable-v1-protocol.c:76)
>>> meson-generated_.._wayland_wayland-drm_linux-dmabuf-unstable-v1-protocol.c.o:(.rodata.zwp_linux_dmabuf_v1_interface+0x0) in archive /ix/store/dKHxjGBeXc36a9Nv-lib-mesa/lib/libEGL.a
ld.lld: error: duplicate symbol: zwp_linux_buffer_params_v1_interface
>>> defined at wayland-linux-dmabuf-unstable-v1-protocol.c
>>> wayland-linux-dmabuf-unstable-v1-protocol.c.o:(zwp_linux_buffer_params_v1_interface) in archive /ix/store/vG3f4y9IuqH0uqOa-lib-qt-6-wayland/./plugins/wayland-graphics-integration-server/libqt-wayland-compositor-linux-dmabuf-unstable-v1.a
>>> defined at linux-dmabuf-unstable-v1-protocol.c:94 (/ix/build/dKHxjGBeXc36a9Nv/obj/src/egl/wayland/wayland-drm/linux-dmabuf-unstable-v1-protocol.c:94)
>>> meson-generated_.._wayland_wayland-drm_linux-dmabuf-unstable-v1-protocol.c.o:(.rodata.zwp_linux_buffer_params_v1_interface+0x0) in archive /ix/store/dKHxjGBeXc36a9Nv-lib-mesa/lib/libEGL.a
clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
Я, честно говоря, подзадолбался ходить по библиотекам, и переименовывать там эти символы - https://github.com/pg83/ix/blob/main/pkgs/lib/wpe/fdo/ix.sh#L18. В .so их, понятное дело, просто скрывают.
🍌4😢2🐳2
commit -m "better"
https://www.phoronix.com/news/Mold-1.7 #money Оказывается, слона-то в новом релизе #mold я и не заметил! "I'd like to inform users that I'm seriously considering changing the mold's license from AGPL to a source-available license unless I secure big funding.…
https://bluewhalesystems.blogspot.com/2022/11/mold-linker-may-not-switch-to-source.html
Подоспел ответ от Rui.
IANAL, но, КМК, он еще меньше lawyer, чем я, судя по придуманной им схеме.
"That is, we claim that the output from the linker is a derivative work of the linker. That's a bold claim but not entirely nonsense since the linker copies some code from itself to the an output. Therefore, there's room to claim that the linker's output is a derivative work of the linker, and since the linker is AGPL, the license propagates"
1) Ну даже он сумеет показать, что verbatim слинкованный бинарь идет под AGPL, и что? Это же не будет иметь отношения к исходникам.
2) Ну не будут распространять бинари, слинкованные mold. Разрабы, которым приходится линковать chromium, будут это делать, а CI продолжит варить бинари в прод через lld.
Короче, он там чем-то явно упоролся.
Подоспел ответ от Rui.
IANAL, но, КМК, он еще меньше lawyer, чем я, судя по придуманной им схеме.
"That is, we claim that the output from the linker is a derivative work of the linker. That's a bold claim but not entirely nonsense since the linker copies some code from itself to the an output. Therefore, there's room to claim that the linker's output is a derivative work of the linker, and since the linker is AGPL, the license propagates"
1) Ну даже он сумеет показать, что verbatim слинкованный бинарь идет под AGPL, и что? Это же не будет иметь отношения к исходникам.
2) Ну не будут распространять бинари, слинкованные mold. Разрабы, которым приходится линковать chromium, будут это делать, а CI продолжит варить бинари в прод через lld.
Короче, он там чем-то явно упоролся.
Blogspot
Mold linker may not switch to a source-available license
I received lots of responses for my mold 1.7.0 release notes and my docs post ( Hacker News , Reddit , and Phoronix ). Thank you to everyo...
🤡5👍3🤔2🐳1
#llvmweekly
https://uob-hpc.github.io/rtb/
А вот классный сайт, где можно посмотреть на скорость сборки кода разными версиями clang и gcc, во времени, ну и всякие другие (несколько менее полезные) метрики.
https://discourse.llvm.org/t/rtb-tracking-compile-time-and-compiler-sizes-for-llvm-and-gcc/66461 - анонс.
TL;DR - там давно уже ничего не происходит, ни в gcc, ни в clang.
https://uob-hpc.github.io/rtb/
А вот классный сайт, где можно посмотреть на скорость сборки кода разными версиями clang и gcc, во времени, ну и всякие другие (несколько менее полезные) метрики.
https://discourse.llvm.org/t/rtb-tracking-compile-time-and-compiler-sizes-for-llvm-and-gcc/66461 - анонс.
TL;DR - там давно уже ничего не происходит, ни в gcc, ни в clang.
LLVM Discussion Forums
RTB - Tracking compile time and compiler sizes for LLVM and GCC
Hello, I thought it would be interesting to see how both LLVM and GCC fared in terms of compile time and compiler size over the last few years. To do this, I’ve built a static site called “Race To Binary” (RTB). The site visualises the change in compile…
👍7🔥2
Forwarded from Раньше всех. Ну почти.
Илон Маск выдвинул сотрудникам Twitter ультиматум: усердно работать или уволиться — Washington Post
🤔8🤡5👍3🐳2🍌1
Раньше всех. Ну почти.
Илон Маск выдвинул сотрудникам Twitter ультиматум: усердно работать или уволиться — Washington Post
У меня, на самом деле, довольно неоднозначное отношение к этому заявлению.
С одной стороны, кто платит, тот и заказывает музыку.
С другой:
* Судя по тому, что он хочет, чтобы все его сотрудники работали исключительно из офиса, мерилом труда он считает усталость, что так себе.
* КМК, его действия идут вразрез с моими личными интересами, а потому он негодяй, редиска, и ходить к нему на работу - не надо. Возможность full femote - это благо, доставшееся от периода короновируса, с хера он хочет это отменить?
* Автоматизация растет, люди будут нужны все меньше и меньше, поэтому чем меньше работает каждый человек, тем большему количеству людей в итоге будет, чем заниматься. Я считаю, что безусловный доход мы не минем, и к этому надо готовиться, в том числе, уменьшая рабочую неделю.
На мой взгляд, это заявление не очень вяжется с тем образом, который он хочет себе создать.
С одной стороны, кто платит, тот и заказывает музыку.
С другой:
* Судя по тому, что он хочет, чтобы все его сотрудники работали исключительно из офиса, мерилом труда он считает усталость, что так себе.
* КМК, его действия идут вразрез с моими личными интересами, а потому он негодяй, редиска, и ходить к нему на работу - не надо. Возможность full femote - это благо, доставшееся от периода короновируса, с хера он хочет это отменить?
* Автоматизация растет, люди будут нужны все меньше и меньше, поэтому чем меньше работает каждый человек, тем большему количеству людей в итоге будет, чем заниматься. Я считаю, что безусловный доход мы не минем, и к этому надо готовиться, в том числе, уменьшая рабочую неделю.
На мой взгляд, это заявление не очень вяжется с тем образом, который он хочет себе создать.
👍9❤2🔥1🤔1
https://daniel.haxx.se/blog/2022/11/17/considering-c99-for-curl/
Тут вот Даня написал ужасный старперский текст, почему curl не будет использовать c99, и останется на c89.
Весь тект можно не читать, достаточно одного абзаца этой воды:
"So sure, there are lots of cool things we could use. But do we need them?
For several of the features above, we already have decent and functional replacements. Several of the features don’t matter. The rest risk becoming distractions"
Классический "X не нужен". Ну так-то и с89 тебе не нужен, строго говоря, пиши на K&R, или на ассемблере.
Я бы, на его месте, написал бы: "Идите в жопу, мне60 51, на чем хочу, на том и пишу, а чего добился ты, аноним?"
Тут вот Даня написал ужасный старперский текст, почему curl не будет использовать c99, и останется на c89.
Весь тект можно не читать, достаточно одного абзаца этой воды:
"So sure, there are lots of cool things we could use. But do we need them?
For several of the features above, we already have decent and functional replacements. Several of the features don’t matter. The rest risk becoming distractions"
Классический "X не нужен". Ну так-то и с89 тебе не нужен, строго говоря, пиши на K&R, или на ассемблере.
Я бы, на его месте, написал бы: "Идите в жопу, мне
😁14🤣4🔥2
Борцов с large IT прибыло: #money
https://github.com/ReimuNotMoe/ydotool#more-talks
"Independent software developers in China, like us, have 10 times more life pressure than Marak, the author of faker.js. Since ydotool has the opportunity to benefit large IT companies who won't pay a penny to us, we've changed the license to AGPLv3. These large IT companies are the main cause of life pressure here, such as the "996" working hours.
Marak's fate will repeat on all open source developers eventually (of course we aren't talking about those who were born in billionare families) if we just keep fighting with each other and do nothing to improve the situation. If you make open source software as well, don't hesitate to ask for donations if you actually want them.
Also make sure you understand all the terms of AGPLv3 before using this software"
Я не понимаю, что происходит в головах у этих людей.
"У меня есть хобби, мне оно нравится, а еще чтобы деньги за него платили"
Ну, в жизни так редко бывает.
https://github.com/ReimuNotMoe/ydotool#more-talks
"Independent software developers in China, like us, have 10 times more life pressure than Marak, the author of faker.js. Since ydotool has the opportunity to benefit large IT companies who won't pay a penny to us, we've changed the license to AGPLv3. These large IT companies are the main cause of life pressure here, such as the "996" working hours.
Marak's fate will repeat on all open source developers eventually (of course we aren't talking about those who were born in billionare families) if we just keep fighting with each other and do nothing to improve the situation. If you make open source software as well, don't hesitate to ask for donations if you actually want them.
Also make sure you understand all the terms of AGPLv3 before using this software"
Я не понимаю, что происходит в головах у этих людей.
"У меня есть хобби, мне оно нравится, а еще чтобы деньги за него платили"
Ну, в жизни так редко бывает.
GitHub
GitHub - ReimuNotMoe/ydotool: Generic command-line automation tool
Generic command-line automation tool. Contribute to ReimuNotMoe/ydotool development by creating an account on GitHub.
👍3
https://maskray.me/blog/2022-11-13-odr-violation-detection
Текст от #maskray, про то, как разные фреймворки реализуют поиск ODR violation.
Сухо, скучно, без огонька, как будто коллега пишет не зажигательный текст про линкер, а зарплату отрабатывает!
Но я вот не знал, как это делает asan runtime, красивое.
Текст от #maskray, про то, как разные фреймворки реализуют поиск ODR violation.
Сухо, скучно, без огонька, как будто коллега пишет не зажигательный текст про линкер, а зарплату отрабатывает!
Но я вот не знал, как это делает asan runtime, красивое.
MaskRay
ODR violation detection
This article describes how to detect C++ One Definition Rule (ODR) violations. There are many good resources on the Internet about how ODR violations can introduce subtle bugs, so I will not repeat th
👍4🤔2
https://www.phoronix.com/news/GNU-Binutils-SFrame #dwarf
Тут вот пишут, что gnu binutils теперь умеют строить специальную секцию со слепком небольшого объема данных из dwarf, нужной исключительно для раскрутки стека.
Бинари получаются меньше, стек раскручивается быстрее.
Круто?
https://www.google.com/search?q=compact+unwind
Apple уже давно имеет формат для "compact unwind", он особо нигде не афишируется, но clang его умеет для mach-o. Я регулярно совершал набеги, чтобы он завелся и под elf, там делов-то - сгенерить нужную секцию, а libc++abi/llvm unwind уже давно в это умеют. Безуспешно(не потому что сложно, а потому что лень).
"Не договорились", а как же иначе.
(кстати, именно из-за этого у меня по всем замерам пару лет назад получалось, что в MacOS исключения летят раз в 5 быстрее)
Тут вот пишут, что gnu binutils теперь умеют строить специальную секцию со слепком небольшого объема данных из dwarf, нужной исключительно для раскрутки стека.
Бинари получаются меньше, стек раскручивается быстрее.
Круто?
https://www.google.com/search?q=compact+unwind
Apple уже давно имеет формат для "compact unwind", он особо нигде не афишируется, но clang его умеет для mach-o. Я регулярно совершал набеги, чтобы он завелся и под elf, там делов-то - сгенерить нужную секцию, а libc++abi/llvm unwind уже давно в это умеют. Безуспешно(не потому что сложно, а потому что лень).
"Не договорились", а как же иначе.
(кстати, именно из-за этого у меня по всем замерам пару лет назад получалось, что в MacOS исключения летят раз в 5 быстрее)
Phoronix
GNU Binutils Lands New "SFrame" Format Support For Simple Stack Unwinding
Being merged this week to GNU Binutils is initial support for reading and writing to new 'SFrame' sections of binaries.
👍8🔥5🤡1
commit -m "better"
https://bluewhalesystems.blogspot.com/2022/11/mold-linker-may-not-switch-to-source.html Подоспел ответ от Rui. IANAL, но, КМК, он еще меньше lawyer, чем я, судя по придуманной им схеме. "That is, we claim that the output from the linker is a derivative…
Мужик сказал - мужик сделал! #mold #money
https://github.com/bluewhalesystems/sold
Пожалуйста, новый линкер от Rui - #sold!
Ну и, теперь, когда вы отправляете патч в mold, под MIT-совместимой лицензией, знайте, что, тем самым, помогаете хорошему человеку продать ваш труд!
И я, на самом-то деле, не то чтобы сильно ерничаю. Есть разница между "отправить патч в свободный проект", и "отправить патч в проект, который его упакует и продаст за деньги".
В жизни не отправлю патч в mongodb/elastic, а вы?
https://github.com/bluewhalesystems/sold
Пожалуйста, новый линкер от Rui - #sold!
Ну и, теперь, когда вы отправляете патч в mold, под MIT-совместимой лицензией, знайте, что, тем самым, помогаете хорошему человеку продать ваш труд!
И я, на самом-то деле, не то чтобы сильно ерничаю. Есть разница между "отправить патч в свободный проект", и "отправить патч в проект, который его упакует и продаст за деньги".
В жизни не отправлю патч в mongodb/elastic, а вы?
GitHub
GitHub - bluewhalesystems/sold: The sold linker
The sold linker. Contribute to bluewhalesystems/sold development by creating an account on GitHub.
🤡8🔥3😁2👍1🥴1
https://3dnews.ru/1077583/pokupatelyami-pervih-kvantovih-telefonov-za-40-mln-rubley-stanut-rgd-i-gazprom
"Покупателями первых телефонов с квантовой связью, выпускаемых компанией «ИнфоТеКС» и оценённых ориентировочно в 40 млн рублей, могут стать РЖД и «Газпром». Внедрение таких устройств связи может состояться уже в следующем году и позволит существенно повысить конфиденциальность переговоров"
#analo_govnet
"Покупателями первых телефонов с квантовой связью, выпускаемых компанией «ИнфоТеКС» и оценённых ориентировочно в 40 млн рублей, могут стать РЖД и «Газпром». Внедрение таких устройств связи может состояться уже в следующем году и позволит существенно повысить конфиденциальность переговоров"
#analo_govnet
3DNews - Daily Digital Digest
Все самое интересное из мира IT-индустрии
Самые интересные и оперативные новости из мира высоких технологий. На нашем портале - все о компьютерном железе, гаджетах, ноутбуках и других цифровых устройствах. А также обзоры новых игр, достижения современной науки и самые любопытные онлайн-проекты.
😁5💩4🤔3🐳3
Решил я разобраться с падением альтернативы git от openbsd - #got http://gameoftrees.org/.
(мы его как-то обсуждали в комментариях, он у меня тогда падал, несмотря на openbsd происхождение)
Gdb, конечно, показал красивое - https://git.gameoftrees.org/gitweb/?p=got-portable.git;a=blob;f=got/got.c;h=15f993971c3f1fa3771c09ad092f2f5c3d8e6c13;hb=HEAD#l284
Падало оно вот в этой строчке кода, причем getprogname() возвращал корректный указатель на строку, а вот в fprintf() приходило уже нечто, обрезанное по 4 байтам.
На самом деле, в этот момент уже все было понятно, но, для проформы, я перезапустил сборку проекта, и грепнул его на предмет предупреждений компилятора в этом месте:
Почему так произошло?
Если честно, я не разобрался на 100%. Я только понял, что это где-то проблема на стыке libbsd, кода из папочки openbsd-compat, которой нет в их репозитории, и которую, видимо, они подмешивают в момент построения релизного tgz, и моей обертки над компилятором.
Там все весьма нетривиально - libbsd пытается "досыпать" в системные заголовки дополнительных функцию с помощью include_next, и хитрой манипуляцией с путями компилятора(определенный порядок -Ixx, -isystemxxx, и так далее) - https://cgit.freedesktop.org/libbsd/tree/include/bsd/stdio.h#n32
А потом, сверху, дополнительно, делает еще и openbsd-compat из поставки got.
Малейшая неточность - и мы в клиентском коде включаем "не тот" заголовок, в котором нет getprogname(), и прочих проблемных функций.
С на это похер(нет манглинга в именах символов), линкеру тоже - он линкует, что ему дали.
Я за 20 минут не разобрался, что же там сломано в порядке включения заголовков, и сделал по рабоче-крестьянски:
* сделал файл со всеми нужными прототипами - https://github.com/pg83/ix/blob/main/pkgs/bin/got/stock/ix.sh#L30
* добавил его в каждый вызов компилятора - https://github.com/pg83/ix/blob/main/pkgs/bin/got/stock/ix.sh#L57, через вызов "-include xxx.h" (есть и такое в clang/gcc)
Это, конечно, костыль, но не очень кривой, потому что все эти прототипы определены в стандарте, и просто не могут быть другими.
В общем, падения я починил, но got у меня так и не заработал, и об этом в другой раз!
(мы его как-то обсуждали в комментариях, он у меня тогда падал, несмотря на openbsd происхождение)
Gdb, конечно, показал красивое - https://git.gameoftrees.org/gitweb/?p=got-portable.git;a=blob;f=got/got.c;h=15f993971c3f1fa3771c09ad092f2f5c3d8e6c13;hb=HEAD#l284
Падало оно вот в этой строчке кода, причем getprogname() возвращал корректный указатель на строку, а вот в fprintf() приходило уже нечто, обрезанное по 4 байтам.
На самом деле, в этот момент уже все было понятно, но, для проформы, я перезапустил сборку проекта, и грепнул его на предмет предупреждений компилятора в этом месте:
got.c:9260:54: warning: call to undeclaredКороче, компилятор не видел объявления const char* getprogname();, и посчитал что оно int getprogname(). С такой С.
function 'getprogname'; ISO C99 and later
do not support implicit function declarations
[-Wimplicit-function-declaration]
fprintf(stderr, "usage: %s
cherrypick commit-id\n", getprogname());
Почему так произошло?
Если честно, я не разобрался на 100%. Я только понял, что это где-то проблема на стыке libbsd, кода из папочки openbsd-compat, которой нет в их репозитории, и которую, видимо, они подмешивают в момент построения релизного tgz, и моей обертки над компилятором.
Там все весьма нетривиально - libbsd пытается "досыпать" в системные заголовки дополнительных функцию с помощью include_next, и хитрой манипуляцией с путями компилятора(определенный порядок -Ixx, -isystemxxx, и так далее) - https://cgit.freedesktop.org/libbsd/tree/include/bsd/stdio.h#n32
А потом, сверху, дополнительно, делает еще и openbsd-compat из поставки got.
Малейшая неточность - и мы в клиентском коде включаем "не тот" заголовок, в котором нет getprogname(), и прочих проблемных функций.
С на это похер(нет манглинга в именах символов), линкеру тоже - он линкует, что ему дали.
Я за 20 минут не разобрался, что же там сломано в порядке включения заголовков, и сделал по рабоче-крестьянски:
* сделал файл со всеми нужными прототипами - https://github.com/pg83/ix/blob/main/pkgs/bin/got/stock/ix.sh#L30
* добавил его в каждый вызов компилятора - https://github.com/pg83/ix/blob/main/pkgs/bin/got/stock/ix.sh#L57, через вызов "-include xxx.h" (есть и такое в clang/gcc)
Это, конечно, костыль, но не очень кривой, потому что все эти прототипы определены в стандарте, и просто не могут быть другими.
В общем, падения я починил, но got у меня так и не заработал, и об этом в другой раз!
www.gameoftrees.org
Game of Trees
the main Game of Trees page
👍10🔥3🐳3😱1🤨1
Forwarded from Двач
Илон Маск поделился фотографией текущей команды твиттера. На втором фото — старые работники, большинство из которых уволились, потому что «не хотели много работать».
😶 😶 😶 😶
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22🔥7💩1🤡1