Ask HN: Why hasn't x86 caught up with Apple M series?
450 points by stephenheron 7d ago 620 comments
Ask HN: Did Developers Undermine Their Own Profession?
8 points by rayanboulares 16h ago 16 comments
Git for Music – Using Version Control for Music Production (2023)
62 sixthDot 48 9/1/2025, 2:23:09 PM grechin.org ↗
I did music production at the same time as heavily using SVN and starting to use Git - I didn't cross this over at the time. All (in my case) Cubebase files were just -1, -2 suffixes and it worked. I had continuous backups, sure and it just kinda worked at the time.
Given I now use Git heavily in my work/hobby life, when doing other projects (3D models for printing (questionable at best) and artwork (very very very questionable at best)) I definitely wanted to use some sort of SCM. I opted for these for Perforce - mostly to experiment, but also the idea of having binaries in a distributed SCM. Yes, I know Git-LFS _exists_, but also, to me it breaks the idea of what Git is.. relying on a server for binaries in a situations where everything should be distributed.
If I now went back to audio-production, I would probably consider either Perforce or SVN. Perforce only if it were for a single user (because of licensing). The ability to clone/checkout a single directory of a repo at a given point in time natively and make modifications and push them back is almost quite necessary when dealing with very large files.
And I still use SVN for _some_ situations - particularly those where Perforce is overkill and all I want to _always_ HEAD and the rest is history (for manual preservation history) and no such need for merging and branching (thinking Wiki and other plain-text tooling).
In the case of any sort of any binary-merging - I _heavily_ assume this isn't expected in the poster's situation!
I find svn to be wonderful. There seems to be a real phobia against it which I've never understood and it's such a shame.
Especially when one of the biggest arguments "against" it is that "it's centralised" (when in fact using it in a decentralised manner is trivial), and ironically most people these days just use git as an interface to github (rather than the other way round), effectively using it in centralised manner.
[1]: https://andrew-quinn.me/reposurgeon/
If there are, it's not beyond reason to add something to git to make it work better.
If changing a single bit at the start of file changes the whole thing then it's really a failing of the file format. By which I probably mean the container format.
A version control system that would/is using patches internally would be more space efficient, but probably slower as it would have e.g. to apply all patches from version 0 to reconstruct the current version. Git made its choice with regard to this frequent dilemma and its original purpose, which was to version control the Linux kernel source code.
> If changing a single bit at the start of file changes the whole thing then it's really a failing of the file format. By which I probably mean the container format.
Audio formats are typically compressed, so this is hardly avoidable. Compression is a bit like encryption in that regard, except that (good) encryption deliberately introduces random data [2].
[1] https://jvns.ca/blog/2024/01/05/do-we-think-of-git-commits-a... (or long story short:) https://news.ycombinator.com/item?id=13644631
[2] https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
Not in typical music production workflows.
The reason for asking about diffs is that it makes it easier to break it down to manageable chunks.
It's akin to working in LaTeX with Git, in that there's a source file that gets tracked, while the PDF output is untracked. And it's great because this is real source code and the Git diffs and commits are meaningful, unlike working in binary formats.
I feel fairly confident that decades from now my work will be recoverable, a confidence that I don't have when working with proprietary binary formats.
What options do I have for text-based DAW? I accept that this is a niche preference for solo work; I have difficulty imagining that such a platform would be suitable for traditional studio collaboration. I've dreamt about building something myself using AES31 if I only had another lifetime — but maybe someone has beaten me to it?
The workflow is based on having the same software, ableton and plugins are largely mirrored.
We communicate over FaceTime which is good enough to assess ideas. When then record track for track and build the songs that way.
We've had a few requests to integrate with music production workflows, but haven't taken it on yet. If anyone wants to collaborate to integrate Oxen with their DAW or workflow let us know! Here's the project:
https://github.com/Oxen-AI/Oxen
https://www.youtube.com/watch?v=gB7AsFbtJic
Shameless plug: https://www.makidapp.com/
Linear version control makes total sense to me: "Can we go back to the version from 2 weeks ago" "which one was that? "Before we removed the hi hat!"
But I struggle to think of a realistic case for branching.
Edit: I suppose those are not generally collaborative, so from the context of merging branches from other contributors, I would probably agree that it becomes a little messy when most of the contributors are not also fluent (or even passingly familiar with) git.
But branches are only really useful if you can merge. If the more-cowbell branch tests well, and the faster-tempo branch also tests well, you'd like to merge them. But the file formats in music production don't generally allow such things.
If you can’t get the source code out of it (or, in this case, DAW project), it isn’t version control, it is more of a binary release history.
AFAIK they all dump file management into the user, both for the “source” (projects) and the “binaries” (exported songs).
Ableton includes a feature for exporting self-contained projects so they don’t break if you load them in a different pc, which is the bare minimum, but other than that good luck.
Most of the problems engineers face are present in music production - collaboration, parallel work that may need to be merged, etc.
The subjective nature of music also makes it so that you’ll frequently want to try to develop the project some way and drop all changes if it doesn’t work, or that you’ll realise a change is problematic later (for example, something might sound well in headphones but horribly later in the car).
I dont think it’s trivial at all, but exposed with a basic ui it could be a killer feature.
Hell, as a POC even simply saving everything internally on each “commit” could be a UX improvement, so you can move easily between “save points” of the project without going the “V2_final_forreal folder” route.
I'd be incredibly surprised if there is any DAW in existence that doesn't do this already.
But it has very little do with version control per se.
Ardour already has "snapshots" which work pretty much as you describe.
How so?
For clarity, my train of thought was that if you have that, you have easy differentiation.
Someone edited the transpose knob of a sampler plugin, someone else edited the cropping marks, you can take a shot at merging those differences.
Sometimes it might not make much sense - if you edit a synths preset, other people’s changes aren’t going to fit in the new one. But it’s a starting point at least.
https://www.inkandswitch.com/project/beckett/
https://www.inkandswitch.com/universal-version-control/
The problem comes mostly from two angles:
1) DAWs which allow you to use external audio/MIDI files and do not place referenceable copies of them inside the session/project folder itself.
2) Plugins that are available on the original system but are not available for whatever reason on the new system.
In my experience, #2 is a vastly bigger issue than #1.
Also many DAWs export their project files as binaries (like Logic) so Git wouldn't like that much in terms of Diff and Compression
The main issue is also maintaining multiple folders. Git can do submodules, but that means creating new gits, publishing, making new submodules etc which is a waste of time that a normal person would rather spend making _v2s, even though they're cloggy and messy
Specific to this "problem" with git, are there music project formats that aren't binary, or at least trivially and unambiguously machine translatable to/from plain text?
If the binary format is just TLVs why can't there be a plain text representation?
For the second question ablbundle, the Ableton Note project filetype, might fit your criteria.
and it's more "nagware" than "crippleware"