Posts

Showing posts from January, 2024

Biometrics Can Fuck Off

I'm an ordinary person with nothing to hide, but I value my front door key. A simple piece of hardware that keeps criminals and law enforcement alike out of my home. Would I like my thumbprint to be my front door key? HELL NO! The fact that my front door key is a discrete device, separate to me, not part of my physical person makes it more secure than biometrics. I can deliberately lose a device if I need to protect myself against home invasion or warrentless search. I can't lose my thumbprint. See mt point? In fact, if crims want my thumbprint, they don't need me, just my thumb. [BLAM! I DED. SNIP WITH THE BOLTCUTTERS.] None of this is morbid fantasy. Corrupt law enforcement exist, fascistic regimes exist, ruthless criminals exist. They're not a huge risk for most of us, but they are a real risk. I support passkey devices, the mythical java decoder ring. Technology has marched on since the early days of java, but the idea of an encrypted bluetooth dongle running

Quantise Pulse Period Timing to MIDI Note Numbers

Image
My top secret guitar pedal is NOT a guitar synth, but it does output MIDI notes... Well, it will output MIDI notes, velocity and channel data when it's actually developed, but it's not a synth. It's still in a crude, analog prototype iteration right now. No, it's not a guitar synth, but the idea is audacious and groundbreaking. Nope. Still not telling. There's loads of stuff it already does, combining more than just guitar, to create... Nah, still not telling! Cruel, aren't I? Be patient. However, tonight, I can proudly say that MIDI note numbers can be "quantised" from period timing. Schmidtt trigger, edge detection, the pulseIn() function, a lookup table... IN 12 FREAKIN' LINES OF CODE! Mathematically, elegantly et voila! MIDI notes can be made to happen. In a sim, so far. On the command line. But those 12 lines of code will actually cut down to about 8, in an actual "pedal." Yeah, there's heaps else to do, too, but this t

Retronome

Image
F*** it, the name's probably taken, but I don't care. I'll cross that bridge if I come to it. Retronome is an Arduino metronome, not too dissimilar to a certain Dr Rhythm from Boss, like, the idea is a classic 70s DR box. Anyway, I've "built" one on Wokwi and coded it up. Still some basic features to add, and some code to make more readable, but hey, it's a start. I could buy one from my fave music store, but where would be the fun in that? Besides, any coding and electronics build is a valuable exercise in practice, just like playing your songlist... at home... alone. Which brings me to my reason for making Retronome, I need to practice to a clock, get my songs at a right tempo, get my feels tighter, but right. (Half time the metronome, play to the 2 and 4, develop your swing.) So, bleep, blip, blip, blip, bleep, blip, blip, blip. Get the code, as it grows, here.

Windows Is Ubiquitous, But That Doesn't Make It a "Standard."

Image
All my life, I've been told by ignorant twats that Mac OS is "non-standard" and that "Windows is the 'Industry standard.'" However, the standard is called POSIX, Portable Operating System Interface. (I guess "POSI" was too "soft" for tech bros of the era that POSIX was formulated and an X made it look "tough," LOL.) Window's isn't really a "defacto standard," either, as there are way more POSIX-native OSes on the global network than there are Windows machines. Linuces are the majority of server OSes, Debian, Ubuntu, etc. Then, since the advent of MacOS X and the veritable explosion of that platform, along with domestic Linux and even private enterpise adopting Linux to manage costs, along with the graphics and app industries leaning more back to Mac (at the user level, at least), Windows is probably the second largest platform, maybe neck-and-neck with Apple. (And Apple is POSIX, therefore standard and

Learning C++

Image
Screw Javascript. I already have a basic grounding in C/C++ through Arduino, so I've racked up a queue of youtube tutorials on C++ programming, starting with FreeCodeCamp's "Learn C++ in 31 Hours." You read that right. I'm a handful of chapters from Pointers, that scares me a bit, they break my brain a lot. On the plus side, this guy is a pretty good tutor, so far, and has clarified a few things for me, and cleared up some better practices. I'm learning a bit about my Mac, too. (M1 Macs, being ARM powered, don't do long double float point numbers. Too bad if you need to count stars in the milky way and store terrabytes of data on each... meh.) I have quite a bit of respect for the Arduino platform basing their language on a subset of C++, it's enough C for beginners, and provides a really good, baremetal grounding in the language, but it also has a good subset of the pluspluses and OOPs, too, for people who want to reshape the universe in code. Wel

The Secret the Bike Industry Don't Want You to Know

Image
I feel dirty. That click-bait title! [throws up a little in his mouth] Still, I literally have no idea for how to caption this article. Bicycle wheels are one of humanity's greatest inventions! A bunch of spokes, crossing each other a couple of times, a hub, a rim a tire. Motorcycle wheels evolve from this, too. A well made , steel spoked wheel, with a quality hub and rim, can be lighter and stronger than carbon fibre. Well, cheap carbon. (Stop buying your carbon parts from Ali Express! You don't what they're really rated at. FFS!) And then I was looking at a buddy's Pinarello he's selling on orders from his missus. Heartbreaking but, happy wife, happy life. This bike is a nice piece of European carbon and design, and I've seen it many times, but at my buddy's new years party day-after, I was looking at the "Pin" and suddenly realised it had a 21 spoke rear wheel! Aside from the low spoke count for a back wheel (I'll come back to that), O

P2P Standards - There Are Many, Therefore, There Are None.

The consequence is, being of no party, I shall offend all parties: never mind! ~ Lord Byron, Don Juan: Canto 09. I've written of it before, I think. I have a preoccupation with how things should be, rather than with how they are. I'm lucky enough to live in a nation where this is (mostly) accptable and not one where it might be punishable by death. I'm a socialist/anarchist, like my trade unionist grandfather, except he had to identify as "a fellow traveller" and very carefully, at that. I get to live freely in my country, holding these beliefs openly, if rather disappointed that my country is not a communal collective of communal collectives all the way down. I see housing as a human right, yet so many of my, now quite, mature age friends, especially women, are one car crash, one big bill from potential eviction. I believe passionately that the internet should be decentralised and serverless, because that's what DARPA set out to create, a decentralised, l

The EdgieD Arduino State Change Detection Library

EdgieD Library v1.0.0  Crunchysteve, ©2024. Proudly developed and tested in VS Code and Wokwi.com  Quick Install For most people, open ArduinoIDE, open the Library Manager, search EdgieD and click "Install."  For tools like PlatformIO, download the zip and install in your libraries folder the usual way or use git in the Terminal.  What is EdgieD? Loosely based on the button edge detection tutorial at... https://www.arduino.cc/en/Tutorial/BuiltInExamples/StateChangeDetection but generalised for working with variables and other coded binary state changes. It can read digital inputs to detect a button state change, the state change of a variable during runtime, the output state of a timer or the output states of other custom libraries. The included example detects the default "leading edge" (as pressed) of a button, attached between pin 2 and ground, not changing output state again until released, then pressed again.   It can be used for...       timing functions to r