TIL that because the FFmpeg project has gained so much experience in hand-writing assembly code to provide huge speedups, they now are putting together a series of lessons for learning assembly:

Vibe coding is fun and all, but this is probably a better use of time!

https://github.com/FFmpeg/asm-lessons

GitHub - FFmpeg/asm-lessons: FFmpeg Assembly Language Lessons

FFmpeg Assembly Language Lessons. Contribute to FFmpeg/asm-lessons development by creating an account on GitHub.

GitHub
@yiningkarlli what is "vibe" coding??? Some new AI shit?

@pythno Yeah it's basically just prompt an AI to write code to do something and then just accept the code without really reading it or understanding it, and if the code errors out or doesn't run, just repeat the prompt, and just keep repeating until you get something that kinda works.

It originated with Andrej Karpathy being like "hey this is kind of amusing/fun to do for little throwaway things, don't do this for real", but then AI bros decided that it should be a real thing and ran with it.

@yiningkarlli Oh. So it actually *is* AI related. I was actually saying that more as a joke. Well, then I don't know why it isn't called "incompetence coding". Because it sounds very much like that :D
@yiningkarlli Suddenly people are re-discovering what we did in 1980 ( assembly coding ) 😏 😎
@gilesgoat @yiningkarlli Fun hand-optimising ADSP2105 assembly code early '90s. I wish I'd kept a copy of it. 1K instruction space and soft real-time constraints and I think I ended up with 2 words free memory at the end. The ADSP2101 with more memory cost 10x the price.
@yiningkarlli Cool. Now try that with ARM or worse, MIPs.
@DianeBruce @yiningkarlli been there. Try the VLIW portion of Itanium. ;)
@DianeBruce @yiningkarlli While we were developing wide word, at HP Labs, even Josh Fisher, the compiler guru, found it difficult to write optimized assembly for VLIW.

@yiningkarlli "Vibe coding is fun", idk, debugging code made by inexperience coders is already frustrating, let alone made by something that doesn't understand what it's really doing.

That said, that's awesome.

@yiningkarlli the project also namesearches and brigades you for privately complaining about their terrible documentation practices
@hipsterelectron @yiningkarlli hmm. That's not so cool though 😐
@kgMadee2 @yiningkarlli nobody has apologized yet and i ruined their FOSDEM 2024 presentation sadly (the presenter was really cool) bc i wanted someone to care enough to fix this
@kgMadee2 @yiningkarlli i had gotten the project to run in wasm with a very reliable build process through spack and wanted to use the library API for a very cool demo (bc you can't run processes in wasm) and the library API has no documentation except the header files and there is no link to where the docs for the library API are on the website so i complained about that without tagging them and again they namesearched me and told me PRs welcome very obnoxiously and then tens of people appeared out of nowhere being incredibly insulting and making fun of my propic until i locked my account
@kgMadee2 @yiningkarlli the spack project is still very interested in this (no changes required to the ffmpeg codebase whatsoever that's not how spack works we just execute the codebase's own build process and plug in the compiler/dependencies/etc) but i'm not going to work on this personally unless i can have a remotely less terrible experience asking for help from the project lol
@yiningkarlli Nice! I also like that the lessons introduce SIMD instructions at the very beginning, it's great to have a beginner friendly guide for that
@yiningkarlli I suppose that these days a project like ffmpeg, which spends most of its time doing the same simple sums over and over again on lots of data in a tight loop is one of the few places where hand-optimising in assembler might be worthwhile. Very nice!
@yiningkarlli oh hell yeah! yeah they really do have decades of expertise with it

@yiningkarlli > Vibe coding is fun and all

I tried it, and i must say i've never been more insulted as a human and as a programmer at the same time

@yiningkarlli
Yay, back to the roots. I still remember some Z80 opcodes … one could pack SO much more machine code into 2KB RAM than ZX BASIC. 🤭
@yiningkarlli is it the same guy who runs the obnoxious twitter account or a different person more fit to put together learning materials?
@yiningkarlli I might actually pick up where I left it 30+ years ago.. I did a lot of x86 ASM but stopped once MMX came around. Could be fun for some casual coding again..