
Technical Principal, Audio Engine Team @ableton
Berlin
Joined November 2007
- Tweets392
- Following743
- Followers504
- Likes2.7K
Ryan Brown retweeted
📣Instruments in Xcode 16.3 Beta 2 contains a brand new tool for analyzing CPU workloads: Processor Trace. It uses hardware execution tracing to accurately reconstruct program execution and is available on M4 and all iPhone 16 devices. Learn more on developer.apple.com/document…
Ryan Brown retweeted
Ableton Move is out now. Take it anywhere. Create whenever. Trust your instincts.
Learn more about Move: bit.ly/4gX2jj1
Ryan Brown retweeted
Introducing Live 12 – with countless new ways to kickstart ideas and keep your creativity moving. See what’s in store: ableton.com/live
Ableton Live 12: Explore what’s new
Ryan Brown retweeted
Update: I started a Youtube channel!🎥
In addition to writing, I've found that I really enjoy recording screencasts
Currently videos on:
- Watchpoints
- glibc internals
- LLDB memory corruption bug I found
- Linux kernel
Take a look and subscribe if you like my teaching style:
Boom! Happy to finally be able to share what my team and I have been working on for so long.
Introducing Note: a playable iOS app for forming musical ideas. Learn more: ableton.com/note
Ableton Note: an app for musical sketching
Ryan Brown retweeted
Introducing Note: a playable iOS app for forming musical ideas. Learn more: ableton.com/note
Ableton Note: an app for musical sketching
Finally managed to do a long hiking trip: 13 days solo from Germany to Italy over the Alps on the L1. Definitely had my fill of Kaiserschmarrn, Kniffel and Mau-Mau for the year. 🏔️🥾
out.ac/ad4dG
TIL: some Linux distros patch clang to enable -fstack-protector-strong by default, which can add a branch to functions. Including hot per-sample DSP functions that go to great lengths to avoid all branches.
Set -Rpass=stack-protector to see which functions are impacted and why.
Ryan Brown retweeted
What a day - @ThrowingSnow has finally a new album out on the ever amazing @HoundstoothLBL. I've been a fan since day one and its amazing to see an artist take such a big journey, knowing that this album is just a step to something much bigger!
throwingsnow.bandcamp.com/al…
Ryan Brown retweeted
olilarkin/awesome-musicdsp: A curated list of music DSP and audio programming resources github.com/olilarkin/awesome…
Ryan Brown retweeted
Dezember 2019: Neuartiges Corona-Virus wird entdeckt.
April 2021: Bundesregierung beschließt zeitnah eine Notbremse.
Cooked for the parents. Homemade hummus with fried onions and garlic, kisir, boiled eggs and matzah 🤤
Ryan Brown retweeted
Been busy gathering examples, relevant research and summarizing thoughts based on my experience working with large legacy codebases at @AbletonDev and @cycling74 for @audiodevcon. Hope to chat if you're attending, love this annual gathering of the music tech community👌#ADC20
Ryan Brown retweeted
This pair of blog posts that blows up the idea that you can benchmark by running a warm-up period and then taking the last N results without looking at the underlying data are some of the best performance blog posts I’ve ever seen:
tratt.net/laurie/blog/entrie…
tratt.net/laurie/blog/entrie…
Ryan Brown retweeted
C++ name mangling guide to social distancing
#cplusplus
TIL: iterating over a large std::tuple can result in code bloat (=instruction cache misses), since the machine code is copy-pasted per element rather than looped over.
godbolt.org/z/57xTdv
We need an optimizer pass that does the opposite of loop unrolling.
Functions called per tuple element are also inlined more aggressively, polluting the i-cache:
godbolt.org/z/GcjWhE
tupleIteration(): 8050 lines of asm
arrayIteration(): 384 lines
@chandlerc1024 @PiotrPadlewski Any ideas for how to prod clang into generating a loop here?
Machine outlining (opposite of inlining) is a thing on ARM/AArch64, maybe it’ll help here. reviews.llvm.org/D57054 – at Berlin, Germany



















