LateTape is a sound toy for people who like weird audio. It lets you see, touch, and play with your voice or any noise around you.
radii
radii@orangepill.dev
npub14nka...5gj5
Running some tests on my new recording app ...
Made changes to the GUI of my audio app. Now it works well in both iPhone and iPad.
Got the "spinning wheel" functionality working during playback and record. This kind of mimics the teenage engineering tp-7. You can interrupt playback and recording, to go straight into scratching. And the wheel gives a visual indicator that's familiar to vinyl DJs :)
Fixed a bug where the scratch wheel on my tape recorder would jump on touch. Had to do with how the angle was stored and updated. Nice and smooth now.
Feel free to follow my ios app development on twitter:
@radiiresearch
Added about 30 tests to the app today. Caught some really interesting edge cases between the render callback and audio unit configuration/init. Should lead to a more stable and responsive experience.
Anyone else find that LLMs have more trouble with declarative (as opposed to imperative) code? Maybe lack of training data or more difficult to follow chain-of-thought?
Fixed the bug with scratching and playback transitions.
Bluetooth now integrated into the app, auto detection of connection, playback transitions seamlessly to headphones and back. :)
Two steps forward, one step back yesterday. Got Bluetooth headphones working and fixed a wraparound bug in scratching, but exposed an edge case in the seamless interruption of playback with scratching. Will try and fix today.
Stubbed out the settings page today for my tape recording iOS app.
What settings do you expect to see?
Working on a tape recorder






What do people think - emoji in debug message good or bad? Use sparingly?
ChatGPT is putting emojis in my debug messages.
Made lasagna. Tripled the recipie. Lotsa lasagna.
Conway's Law and Interfaces
Conway's Law states that organizations will design systems that mirror their organizational as structure.
If you have one GUI team and one backend team, your code will end up split along those lines, possibly with some surprising duplication or inelegant data manipulation on either end.
One idea to improve the relationships between teams and achieve a more robust design, is to agree on interfaces. These can enforce a better working relationship, and be a natural communication point for the teams, while allowing autonomy within their domains.
I suggest that you take two opportunities to document these interfaces: once at the beginning and once at the end of a feature. That way, discoveries made along the way are captured, and future changes have the full context of the original communication design.