Barry @chiroptical.dev · 12/06/2026Got it. Some cleaning up to do. Also being able to count this in 4/4 and 6/8. Practice with the metronome etc. 010
Barry @chiroptical.dev · 09/06/2026I was annoyed with all the metronome apps on the App Store so I just… made one. This is a M5Stack CoreS3. 120
Barry @chiroptical.dev · 20/03/2026Haven’t shared a drum video in a bit. This one is cool because you can see where I find the exercise and then really feel it. 100
Barry @chiroptical.dev · 11/02/2026The initial setup is complete! Sonor AQX Jazz, Zildjian L80 cymbals, Yamaha hardware, RTOm black holes set. I’ll be able to play this with the kiddo asleep no issues! 040
Barry @chiroptical.dev · 27/01/2026Inspired by @whitep4nth3r.com here is part of my practice today. I’m about 3 weeks in, don’t judge me. 130
Barry @chiroptical.dev · 06/01/2026Making progress on this foaming milk and pouring it into a cup thing 020
Barry @chiroptical.dev · 30/10/2025Finished Section 2.2 of Mathematics in Lean. I'm skeptical that anything beyond this will make sense... This was labeled a hard exercise, but my brain has no idea why I would introduce `h` as a goal to solve this. I feel like I need more raw math skills which probably isn't surprising to some. 260
Barry @chiroptical.dev · 26/09/2025#gleamlang do we prefer builder style here or just `encrypt(BitArray, Option(BitArray))`? For some reason, I don't like `encrypt(x, option.None)` but also `new(x) |> encrypt()` feels tedious. `encrypt_with_associated_data(x, y)` feels long. 100
Barry @chiroptical.dev · 26/08/2025Imagine I know nothing about cryptography. It shouldn't be hard. Does this look reasonable? (I'm planning on storing the key in the environment, my hosting provider can encrypt them which is why I thought base64 would be fine?). #erlang 210
Barry @chiroptical.dev · 22/08/2025The one I got (probably RedBubble?) adds a slight white border around the logo. 110
Barry @chiroptical.dev · 09/08/2025Someone suggested this book to me. The preface speaks to me. Hopefully I learn something. 240
Barry @chiroptical.dev · 09/08/2025I like this a lot better than my previous implementation. It is obvious in hindsight. #erlang 000
Barry @chiroptical.dev · 07/08/2025Why do I need to add these dependencies to dialyzer? They are listed in my `deps` section of rebar.config? #erlang 000
Barry @chiroptical.dev · 23/07/2025Finally had time to get my index.html into #unisonlang and serve it locally. I haven't been super motivated to work on this project but making some progress! 140
Barry @chiroptical.dev · 14/06/2025This is less text than the `switch` example but it is **so** boring. I want to see the supercharged Qi example. 000
Barry @chiroptical.dev · 18/05/2025I was supposed to read structs/modules first but I couldn't help but peak at contracts. This fails at run-time because 0 is not positive. 100
Barry @chiroptical.dev · 11/05/2025Set up #racketlang with #helixeditor. Requires `raco pkg install racket-langserver` and `raco pkg install fmt`. 250
Barry @chiroptical.dev · 14/02/2025A quick diagram of focus' services. The credential manager and developer log services typically run in their own #erlang node. The focus service runs in an erlang node displayed to your #Twitch stream. A connection to Twitch web socket displays chat, follows, and subscriptions. 100
Barry @chiroptical.dev · 25/01/2025Distributed #erlang anyone? Conceptually, focus can have an admin log which doesn't have to be visible on stream. 130
Barry @chiroptical.dev · 19/12/2024Easy, but fun, lexer/parser for adventofcode.com/2024/day/19 advent of parsers in #erlang. 030
Barry @chiroptical.dev · 19/12/2024Every year I generate one of these at work. At Mercury, every individual gets a callsign. It is a name and an emoji. I am :blueranger: (see {2, 2} in the image, 0 indexed). It is crazy to think where it started and where it is now. 020
Barry @chiroptical.dev · 10/12/2024Advent of parsers day 9. I really wanted to do something more interesting here but I couldn't come up with a way to get the file index in there. One idea I had was to return the `Col` and then build a `Map Col Idx` and just lookup the file's idx later. 110
Barry @chiroptical.dev · 07/12/2024Feeling better, updated lexer and parser and finished day 6 part 1 of #adventofcode. The parser now outputs a map with no intermediate list 🤩 010
Barry @chiroptical.dev · 06/12/2024Feeling sick so taking a break from #adventofcode. I'll try to keep up with at least the lexer/parsers for advent of parsers. The lexer gives us the positions for free. The guard is described by a cardinal direction. #erlang 120
Barry @chiroptical.dev · 05/12/2024Haven't had a chance to finish the algorithm,but the lexer and parser was easy for 2024 day 5 #adventofcode 140
Barry @chiroptical.dev · 04/12/2024Advent of parsers day 4 #erlang leex and yecc. The TokenLoc from leex gives us the row and column. The parser reshapes the token into a form ingestible by map:from_list/1. 260
Barry @chiroptical.dev · 02/12/2024Guess how much faster this is than a list based accumulator #erlang. I benchmarked it with a list of 10K and 100K elements with various N. 010
Barry @chiroptical.dev · 02/12/2024Used some 'maybe' expressions to encode the rules. I figured part 2 would introduce more complicated rules but alas. 210
Barry @chiroptical.dev · 02/12/2024Advent of parsers day 2! Very easy yecc description to get a list of reports. 180
Barry @chiroptical.dev · 16/11/2024A super quick demo. No BE interaction yet but I'll work on that next. 000
Barry @chiroptical.dev · 08/02/2024Someone asked for a cozy picture of Andre 3000. Here he is just moments ago rolling around 😊 3212
Barry @chiroptical.dev · 07/02/2024This is Andre 3000. He had to go to the ER recently and they missed the first IV hence two shaved arms. He is doing great now. 5310