Splint 1.70

v1.7.0 adds a new rule, a new cli flag, and two new output options. Details under the fold.

Continue reading →

splint 1.6.0 and then of course 1.6.1 lol

Small bug fix this time:

I of course fucked up the adhoc deploy script I built, so when I pushed 1.6.0, I didn't actually tag it and didn't commit any of the changes and really just messed it all up, so I cut another release immediately. I wish I could just write the code and will it onto my user's computers.


Finished death stranding

Spoilers under the fold

Continue reading →

Splint 1.3.0 and 1.4.0 and 1.50

Gonna put the patch notes below the fold

Continue reading →

adhd x remote work

idk how people do remote work. i've been at it for 3 years and these have been the least productive, most frustrating and painful years of my software career.

work on something. get frustrated. open a new browser tab. go to facebook/cohost/lobsters/etc. immediately close the tab because i should be working and it's not helpful to just mindlessly scroll to avoid doing work. look at the code again. feel frustrated. open a new browser tab. go to...

repeat for 3 years.

Continue reading →

disney music thoughts

my kids are growing into prime animated movie ages, so we're been listening to a lot of the disney and related animated musicals, as well as watching other animated movies too. because of who i am as a person, i spend a lot of time deeply thinking about this stuff because it's omnipresent. i could write up whole posts about them individually but i'm just gonna put down a couple thoughts to purge them.

Continue reading →

splint 1.2.2 and 1.2.3 and 1.2.4

oops, forgot to post in here about these (not that anyone on cohost uses splint :eggbug-sob:)

1.2.2 big changes:

Continue reading →

another loss

someone i knew roughly 6 years ago passed away at her own hand. this is the third one in the last year, which doesn't even go back to my wife's mother 1.6 years ago.

there are 6 million many ways to die and i know that the older i get the more people i know will die, but this is a particularly gutting form.

she had a kid, 7 or 8 years old at this point.

Continue reading →

every child is my own

i’ve always liked kids but raising my own kids has now made every kid i see my own kid, invisible cities style.

it’s both endearing and scary. if i think about it too much (like when chosting), makes me cry.


card shark

Started playing card shark on my switch and it’s great. The performance required has made it much more dramatic and challenging even in this first hour. Can’t wait to see where it goes next.


splint 1.2.1

since 1.0, i've done a fair amount of work:

shit's coming along nicely and i feel good about it. still fast as hell


vivo thoughts

Still from Vivo of 2d animation sequence. Two characters are dancing together

Watched Vivo again with my family cuz I’ve been playing the music. Still amazing, has both my wife and I crying at multiple points. Death is sad, turns out, and stories centered in grief and resolution are powerful even when wrapped up in catchy songs and beautiful art.

The cgi isn’t as good as a Pixar film, they’re best in class, but the commingling of 3d and 2d in the memories/imagination sequences is perfect, and I like the stylized bodies and faces.

Continue reading →

survived a round of layoffs

company fired some of my coworkers. i somehow survived; i suspect because i'm cheaper than them. doesn't feel so good.

gonna get saddled with my ex-coworker's project that he's spent a month preparing for and was going to get me up to speed on next week, lol. he's written some documentation but let's be real, there's a lot of shit in his brain he didn't put to paper and now i have to start from nearly 0 without him or our project manager (also fired) and will probably be expected to meet the same deadline.

in the big meeting where the ceo talked about it after it happened, he said that the company is still doing well and we have 4 years of runway and that there's no need to panic and that we're still hiring for some positions. shameless

Continue reading →

adhd vibes

sometimes it's like i'm jacked into the matrix, the work i have in front of me consumes not just my field of vision but my entire raison d'être. every part of my brain is tuned for the problem space, every breath drives me forward like ramming speed in ben-hur, the words and thoughts shift around in front of my eyes. my thoughts get so incredibly loud that i can't hear my wife from across the table.

other times, my attention feels like the subject of my focus was burned with the fire that burns things out of time. in a meeting and not picking up a single word my coworker is saying. looking at code and being unable to hold the previous expressions in my head as i scan my eyes across the screen. feeling so unmoored from my body and my experiences that i can't form sentences.

frankly, both are exhausting.


splint reaches 1.0

i don't like waiting around for version 1.0. 0ver is funny but annoying. BE NOT AFRAID. so i've released splint 1.0.

it has disabling rules, it doesn't choke on any code i've thrown at it so far, and the set of rules it has is pretty great. there's loads more work to be done, such as moving most of the "lint" rules to "style", which will invariably break folks config lol, but why wait?

the specific updates this time are:

Continue reading →

whomst can i talk to?

sometimes, i have a conflict with my wife and i'm unsure if i did the "right thing", if i acted in a way that's consistent with my values and my ideal self, and if there's space between our shared expectations that i can either stand firm and say, "i acted in an acceptable manner, it's not on me to manage this" or i can bend and say, "i acted inappropriately, i'm sorry, i'll try to do better in the future."

that is hard to know and i've spent a lot of time over the years thinking about it in both directions applied to many various situations.

my frustration comes when i feel like i don't have a good perspective on the situation and i want feedback or outside help. this is the perfect place for a therapist, but for various reasons, i no longer have access to one. so i could reach out to a friend or family member. but who do i want to burden with whatever nonsense i'm experiencing?

Continue reading →

splint update: magic comments edition

I did it, nerds. I added support in splint v0.1.119 for magic comments aka directives aka clj-kondo style #_:splint/disable or #_{:splint/disable [lint/plus-one]}. This means that folks can now pepper their code-base with stuff that has very limited utility! I'm very excited to see this become a piece of infrastructure when it certainly should not.

I'm up to 3300 lines of Clojure, which is fucking sick. This is maybe the most code I've ever written from scratch for a single project. I'd love for other people to contribute, but as of right now, only one person has tried, and they just fixed a typo in the readme.

If you use Clojure, please check this out, I would love to get your feedback.


splint/ignore

Quick follow-up because I meant to post that last night and accidentally left it in my drafts.

I came up with the idea of parsing #_:splint/ignore the way clj-kondo does it: attaching it as metadata to the following form and then check for the metadata when rules checking. I modified my fork of edamame and it works great, but it's a bit more bulky now. Seems to add a very slight increase in parsing time (2-5ms) which is an acceptable increase.

I posted in #edamame on Clojurian slack about it, and Borkdude (maintainer of edamame and clj-kondo) recommended using str/replace to convert #_:splint/ignore to ^:splint/ignore, which would remove the need for a fork while still attaching the metadata. It works, but it's much more error-prone; regex is a wild beast and cannot be contained.

Continue reading →

Splint rambling: Clojure Parsers

I want another parser because I want access to comments. Without comments, I can't parse magic comments, meaning I can't enable or disable rules inline, only globally. That's annoying and not ideal. However, every solution I've dreamed up has some deep issue.

Continue reading →

Announcing splint 0.1.69

After lots of work, I have a "good enough" version of splint, my new Clojure linter, that I can now share it with y'all. It has 73 rules, extremely minimal config and cli, and runs faster than every other linter on the market while being only moderately dumber.

I have lots of big plans for this bad boy but for now, suffice to say that it works and it's fast and it's pretty dang cool to make stuff.



Copyright © 2026 Noah Bogart
Website credits
i was on cohost