bits 0x53 - Week 28~35, 2024
I’m back. But I’ll reduce the update frequency from weekly to …. multi-weekly.
# reads: on generative AIs
Mapping the Impact of Share Alike/Copyleft Licensing on Machine Learning and Generative AI - Kacper Szkalej, Martin Senftleben
This report maps the impact of ShareAlike (SA) obligations and copyleft licensing on machine learning, AI training, and AI-generated content. It contributes to an understanding of how ShareAlike and copyleft licensing conditions impact the development of AI models, the supply of AI systems and the use of AI output.
https://openfuture.eu/wp-content/uploads/2024/06/Share-Alike-and-ML-Report-FINAL.pdf
# reads: The Lost Art of Structure Packing - Eric S. Raymond
- self alignment:
each type except char has an alignment requirement; chars can start on any byte address, but 2-byte shorts must start on an even address, 4-byte ints or floats must start on an address divisible by 4, and 8-byte longs or doubles must start on an address divisible by 8. Signed or unsigned makes no difference.
- ANSI C provides an
offsetof()
macro which can be used to read out structure member offsets (but is it ANSI only?)
… fuck me…: http://www.catb.org/esr/structure-packing/
# I need to learn about the DWARF debugging format
- Introduction to the DWARF Debugging Format http://thebeardsage.com/virtual-memory-cache-tlb-interaction/
- https://dwarfstd.org/doc/Debugging-using-DWARF-2012.pdf
The headache: I maintain a software that uses a rather old (I mean >= 3 years behind mainline release) of libdwarf and it uses APIs that have been marked “planned obsolescence, use alternative xyz” for years. Well, you guessed it, we didn’t care. And boom, the upstream just removed the old APIs and the project fails to compile.
Now I need to replace the old APIs, but the new ones are not drop-in replacements. So I need to compare old and new documentations to make sure the software is functionally consistent. And… docs of the old APIs are brutally nuked and their official documentation site doesn’t provide historical versions. I have to filter the whole git log to pin down the APIs changes and their docs. Thankfully the upstream is doing a good job in keeping all the changelogs and writing conventional commit messages.
bonus: the upstream dev dropping obsolete APIs:
[alt text]
This is a meme picture made from the movie The Hitchhiker’s Guide to the Galaxy. A Vogon dubbed “library developer” intimidates Arthur dubbed “downstream developer” with “dropping obsolete APIs” and says: There’s no point in acting surprised about it. All the obsolescence plans and warnings have been on display in your build messages for 50 of your Earth years, so you’ve had plenty of time to lodge any formal complaint and it’s far too late to start making a fuss about it now. … What do you mean you’ve never care about the warnings? Oh, for heaven’s sake, mankind, it’s only two lines of messages, you know. I’m sorry, but if you can’t be bothered to take an interest in upstream affairs, that’s your own lookout. Energize the git commit.
# reads: misc
- Testing with Screen Readers: https://webaim.org/articles/screenreader_testing/
- (yt) (f*ck) NSBM
- (yt) AI is ruining the internet by Drew Gooden
# window manager pipe dream
I once rant about manual tilling window manager. The biggest issue is the convoluted layers of layouts.
What are there and why I use them:
- the tilling window manager splits the screen: that’s the fundamental of my graphic environment.
- the tmux splits the terminal: mostly I use it to multiplex a remote SSH sesison when I work on a server. Less frequently I use it to “stash” some local workspace.
- vim splits its editor window
Here is what I want: use tmux to manage everything: one single level of control for all the splits…. I may develop on the idea in the future. One “wild” idea is to turn tmux into a wayland window manager.
# software
the translate shell. Really nice commandline translation tool (most importantly I can pipe strings to it).
stardict and its cli version [sdcv] (https://dushistov.github.io/sdcv/). There are some dictionaries available in the AUR. The wikitionary is very nice. I’m using this wrapper script
|
|
[+] click to leave a comment [+]
>> SEND COMMENT <<