A Systems-Minded Approach to Creating a Music Player Application by Andrew Kelley

preview_player
Показать описание
14 years ago, I created a music player server with a web-based user interface. Since then I have used it most days of my life, but it has lately suffered from severe bitrot. Now, I am breathing life back into the project by rewriting it from scratch in Zig. A decade and a half later, I'm solving the same problems as before but with a fresh pair of eyes, a finely honed set of skills, and a new programming language. This talk compares and contrasts how the music player application was built before versus now, going into details on troubleshooting opaque audio processing bugs and how to keep the import-from-YouTube feature working despite Google's best efforts.

Рекомендации по теме
Комментарии
Автор

As always, it's a pleasure to listen to Andrew: He has a great Engineering mindset and his rents are hilarious.
I would love to see a walkthrough between the C++ and Zig implementation, explaining the desing decisions that lead to a smaller code, smaller memory footprint and faster execution.

e
Автор

Love the mixture of fun and useful info in Andrews talks

FranzBrummer
Автор

I love the emphasis on relying on labour and not a language

notsoren
Автор

"It blew up its leg with its foot gun"

jamestansx
Автор

Loved the talk!

Thanks for showing the journey on how you went on porting a tool over. Glad to see GrooveBasin is still alive and well :D

JoseTrigueros
Автор

I remember getting Groovebasin running back in the day. Not only did the experience put me off actually using the thing, it was a deeply formative experience resulting in passionate feelings about software packaging. Glad to see Andrew has learned as much as I did from the experience.

hikingpete
Автор

19:20 oh yes. To a large corporation, ethics is a weapon to be wielded by their legal and marketing departments. This is one tasty, quotable take.

capability-snob
Автор

Great presentation. At the end I really though that he would use the zig toolchain to compile the CPython interpreter to WebAssembly and isolate it 😅

eduardomosko
Автор

I need a room I can go to whenever I want, explain a bug I just fixed to an audience there and receive an applause.

lowflyingdonut
Автор

Damn I miss Amarok 1.4 too! First time reading Andrew's blog post about the music player.

IgorGuerrero
Автор

Would be interesting to see the actual process on how a few thousand lines of C++ code can be shortened into a few hundred zig lines of code. Is it because of zig data structure, code golfing, cheating by not using any comments, super-power from zig comptime, etc?

Seems a bit counter-intuitive because C++ supposed to have more abstraction layer that will reduce the amount of code. But if the C++ programmer used it as "C with classes" then it would make sense because they didn't even use C++ abstraction correctly.

minma
Автор

Everything with "Andrew Kelly" I watch. Even that one Oprah show where he's a magician

boy_deploy
Автор

Never would've suspected Andrew was also a audio nerd.

binitrupakheti
Автор

Andrew Kelly and TigerBeetleeee >_> <3

Icq
Автор

I do admire Andrews work, BUT is it really so bad to slap a docker around your application? Yes, it will be unneccesarily large, but in many cases you need to sandbox it anyway. Rewriting everything yourself or compiling the world is not a scalable approach either.

krumbergify