Profile avatar
chrispenner.ca
FP and Programming languages nerd Building the Unison Language & Unison Share πŸ“Victoria BC πŸ‡¨πŸ‡¦ https://chrispenner.ca
136 posts 417 followers 556 following
Regular Contributor
Active Commenter

It is absolutely bonkers to me that there still isn't a standard way to just see which functions a python module exposes. I know it's dynamic enough to generate new ones at runtime, but like, I'm just tryin' to look at docs!

I'm officially adding Notification Systems to my list of inherently hard problems. I've got: * Cache invalidation * Authorization * Notification Systems What's on your list?

🀝 We've just added collaborator support to Unison Share! You can now add fellow Unison devs to your projects with these roles: πŸ‘οΈ View – Read & download πŸ”§ Maintain – Read, download, merge & write πŸ”‘ Admin – Full admin permissions Try it out here: share.unison-lang.org/

P.s. thank you to whoever maintains HTTP.Cat, I unironically reach for it to look up the more obscure http status codes and it adds a bit of whimsy to my day. http.cat/418

Today's programmer annoyance: Cyclic import errors. _Sometimes_ it reflects a bad design, but I think more often it's just a limitation of the compiler, let me organize my code how I want please :) Golang lets a package span many files, Unison compiles at the definition level, any other solutions?

I am once again urging news organizations to learn the difference between questions and answers

HELP PRESERVE OUR LIMITED SUPPLY OF UUIDS! instead of generating a new UUID, try to reuse one you already have!

Pro tip, don't use emoji represented by multiple codepoints in an text you're trying to align, it'll show up differently between terminals (e.g. iterm2 vs Terminal app) and will ultimately just cause a bunch of headaches.

I'm giving a `jj` (#jujutsu) version control primer in the @unison-lang.org discord in 25 minutes! Come join up and ask some questions :) unison-lang.org/discord

On a completely unrelated note, I really love this query plan visualizer www.pgexplain.dev

Just got a new #Postgres query cost high score of 142,086,037.85 πŸ˜…, what's your high score?

Haters will say this approach doesn't work at scale or w/e, but what if I told you that Unison Share, a production-grade code-hosting and package management platform, doesn't have a SINGLE unit test? It's all integration tests using this transcript-test method. bsky.app/profile/did:...

Hot take, I don't make assertions in my tests anymore. I write tests which record what happened as files on disk, then in CI when we run the tests again we assert there are no changes from the test artifacts that are checked in. This transcript-driven testing approach provides a bunch of benefits πŸ‘‡

Many devs write SQL embedded in some other language, ORM, Interpolator, something like that, but would benefit from getting even basic SQL syntax checking in that environment. Is there any lax SQL LSP I can configure with my lang's interpolation syntax? Or do I need to write my own?

I really can't overstate how much I actually _enjoy_ writing parallel and concurrent code in #Haskell. It has the abstractions for this dialled in perfectly, and amazingly, can be pretty easily adapted to fit any style. Structured concurrency? No prob. Actor model? Gotchu boss. CSP? Done.

Funny story: we decided not to buy a Subaru Outback almost purely because when I looked down to adjust the AC on the big dumb touchscreen, the car beeped loudly at me for taking my eyes off the road… but I had to bc touch screen πŸ™ƒ Analog is the way πŸ’―

HYTRADBOI is tomorrow! Feb 28 0900 PDT. The chat will run for days, so it's worth joining even if you can't make the early hours. Bring all your friends too! Re-skeet, share on your favorite forum, put flyers under your neighbours doors etc. See you tomorrow! www.hytradboi.com/2025/#tickets

New review scoring method; just say how much you'd be willing to pay for it. Or to account for salary differences, how long you'd be willing to work for it "It was SICK, worth a day's work" "Terrible, I want the hour I spent on it back" "Solid value, I'd work an hour for it"

Anyone have a good FM synthesis playlist?

Do DB triggers feel like cheating to anyone else? Like, you're just hiding a little script away somewhere cuz you couldn't express the invariants any other way... and you just kinda hope no-one else finds your sneaky code hiding under the rug with all the other triggers...

I've set up a periodic web scraper that takes screenshots of certain federal websites every morning to see what has changed: github.com/gtfierro/eo-...

> i've been reading up on type theory > ooh, what have you been reading > well so far water beats fire and ground beats poison > ...

I don't like that Apple is taking flak for this; they're definitely not above reproach, but they shouldn't be blamed for UK's stupidity. Curious to see if they, or other companies, pull out of the UK to put some consumer pressure on legislators over this.

Kinda crazy to me that there isn't like, an html tag for times which will display that time in the viewer's local time zone... You can do it in JS, but really shouldn't have to.