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.


splint update

I’ve named my new clojure linter splint, a portmanteau of spat and lint. Spat is the name of the s-expression pattern matching/regex library I wrote, the name also a portmanteau from s-expression and pattern.

Why another linter? Because I am dissatisfied with the current crop of them.

Continue reading →

Clojure Linters

Clojure’s best linter, clj-kondo, is pretty dang great. It covers a lot of ground: checks syntax, provides light type checking, tracks variables and usage, an entire hook system for linting/reading custom macros statically (without code execution), etc. it’s quite extensive.

Continue reading →

Thoughts on RRR

I feel like RRR showcased a style of melodrama that I don't see super frequently. The term that comes to mind is "legibility", a word/concept that @austin has placed into my brain. RRR doesn't try to use lots of dialogue or subtle acting, it leans into big emotions in all directions and keeps both the content and conveyance relatively easily understood, but then treats those big emotions as real and legitimate.

Mild spoilers below:

Continue reading →

jinteki.net v114 release notes and thoughts

In release v114, Francesco Pellegrini fixed a whole mess of bugs, added set-mark command, and added some tests to cover bug reports we couldn't reproduce. I added compiling css and cljs in Github Actions, to catch basic compiler errors.

Continue reading →

Full Parhelion implementation on jinteki.net

I have just released Null Signal Games' newest set Parhelion on jinteki.net. (Release notes here.)

My life has been a mess the last year and it pains me that I don't have the time or availability to put 20+ hours of work into jnet anymore, as it desperately needs it, so please accept my humble apologies for the long delay between releases. Congrats to the whole jnet team for their hard work and tireless efforts in implementing 120 new cards in the span of a couple weeks in preparation for this day.


immortality x cohost

Screenshot of iPhone version of video game Immortality. A redheaded woman wearing a black dress faces the camera smirking, and there are two masks on thin pedestals with eggbug superimposed over to her left and right.

:eggbug: 😏 :eggbug:



Copyright © 2026 Noah Bogart
Website credits