Chris Penner
chrispenner.ca
Chris Penner
@chrispenner.ca
FP and Programming languages nerd
Building the Unison Language & Unison Share

📍Victoria BC 🇨🇦

https://chrispenner.ca
Congrats Steve! Knock down those barriers to jj adoption one at a time!

P.s. building a code collaboration is good fun with interesting challenges, I’m sure you’ll enjoy it.
October 23, 2025 at 7:30 AM
Can confirm that I’ve had nothing but problems with Spotify support. Dont worry though it’s not a sign of beef or anything, @danimalcannon.com and I are cool 😎
October 17, 2025 at 8:01 PM
lol, and when I implemented my own public wrapper over it, and implemented `publicJWKFromPrivateJWK` the AI auto-complete confidently returned the private JWK as-is, asserting that the library "takes care of it for you" which AFAICT is NOT the case... the next generation of app security is cooked.
October 15, 2025 at 10:08 PM
Even the #Haskell `jose` library doesn't have a separate type for public vs private JWKs, even a phantom type would do the trick.

TBH this is just as bad as how generated certs are named key and key.pub;

If you tab-complete you'll get the private one every time and there's no `.private` as a hint
October 15, 2025 at 9:54 PM
At the moment I use STM as my lowest-level primitive; then leave it up to the STM implementors to use the mutexes haha.

STM has all the channels, queues and vars you need to do any form of actors or CSP you like :)
October 14, 2025 at 12:57 AM
My current thoughts: go down the list and use the first approach that you can fit your problem into:

* Pipeline processing
* CSP
* Actors (a half dozen or fewer, statically defined)
* STM
* Mutexes (only ever use these if you're implementing STM 😆)
October 11, 2025 at 11:31 PM
P.s. try clicking the HAL9000 in the header;
October 8, 2025 at 8:03 PM
Error-as-value;

Yes, all tasks should be cancelled, `ki` takes care of that in my case.

hackage.haskell.org/package/ki-1...
ki
A lightweight structured concurrency library
hackage.haskell.org
October 6, 2025 at 9:16 PM
Ki
hackage.haskell.org
October 6, 2025 at 9:15 PM
Stay tuned and you won't be disappointed, Arrows and Category classes are next!
September 27, 2025 at 6:33 PM
Oh whoops, lol that’s an important “not”!
September 27, 2025 at 6:18 PM