David Herman's Avatar

David Herman

@bitspittle.bsky.social

Working on Kobweb, a Kotlin web framework: https://github.com/varabyte/kobweb Also, Kotter, for writing CLIs: https://github.com/varabyte/kotter And Truthish, for asserts: https://github.com/varabyte/truthish https://www.linkedin.com/in/hermandave/

332 Followers  |  65 Following  |  148 Posts  |  Joined: 03.08.2023  |  2.0544

Latest posts by bitspittle.bsky.social on Bluesky


Most notable features in this release:

โ€ข Multipart requests / responses
โ€ข Markdown support improvements
โ€ข Annotated code to work with Kotlin's new unused return value checker

Plus more.

This one took a while, less due to code and more due to life stuff. Thanks to all users for their patience!

18.02.2026 05:42 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Release v0.24.0 ยท varabyte/kobweb ยท GitHub In this update, we took some time to focus on the backend API, adding support for multipart requests. We also revisited the associated frontend APIs (and deprecated a bunch of them) paving the way ...

๐Ÿ•ธ๏ธ Latest Kobweb v0.24.0 released!

Check out the release notes here:
https://github.com/varabyte/kobweb/releases/tag/v0.24.0

๐Ÿค– (Automated post via GitHub Actions)

#Kobweb #Kotlin #WebDev

18.02.2026 05:11 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Yegge mentioned in a recent gas town related post that he envisioned the 1000x and 10000x engineer, bolstered by AI. So I started imagining 10,000 engineers with only one CEO to manage all of them. And before I knew it, I was curled up under a desk crying for some reason.

22.01.2026 18:27 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Kobweb 1.0 Roadmap All readers should feel welcome to make suggestions! But you may have come here from a read-only link, which is provided as a way to prevent accidental edits, since they are common. Feel free to sw...

The only roadmap I have is docs.google.com/document/d/1...

It includes goals but it's a bit high level. I do hope to hit 1.0 this year, and I'm going to spend the beginning of 2026 rethinking my approach to components because I really want to speed that up.

18.12.2025 21:28 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Release v0.23.3 ยท varabyte/kobweb ยท GitHub This release raises the version of kotlin to 2.2.20. [versions] kobweb = "0.23.3" kotlin = "2.2.20" ImportantPlanning to upgrade? Review instructions in the README. Full Chang...

๐Ÿ•ธ๏ธ Latest Kobweb v0.23.3 released!

Check out the release notes here:
https://github.com/varabyte/kobweb/releases/tag/v0.23.3

๐Ÿค– (Automated post via GitHub Actions)

#Kobweb #Kotlin #WebDev

11.09.2025 20:42 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Squarespace used obviously AI-generated text to respond to a ticket of mine, using the sort of generic, patronizing platitudes that only an AI could muster, all to indicate "they understood how frustrating the situation must have been." No response would have been better.

I'm an ex-customer now.

03.09.2025 20:18 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
GitHub - cbrgm/bluesky-github-action: Send posts to Bluesky Social from GitHub Actions Send posts to Bluesky Social from GitHub Actions. Contribute to cbrgm/bluesky-github-action development by creating an account on GitHub.

Trivial!

I used github.com/cbrgm/bluesk...

as seen here: github.com/varabyte/kob...

You need to set two GitHub secrets and you're good to go.

03.09.2025 20:11 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Base Path | Kobweb How to set a base path for your project (and what that means).

Small release. Handful of fixes included, but released early because v0.23.1 broke anyone using the base path feature (kobweb.varabyte.com/docs/concept...). Sorry about that!

03.09.2025 19:57 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Release v0.23.2 ยท varabyte/kobweb ยท GitHub We just learned our last release broke base paths, which is an important feature for anyone using GHP to host their Kobweb sites, so we're pushing this release out a little early. ImportantPlan...

๐Ÿ•ธ๏ธ Latest Kobweb v0.23.2 released!

Check out the release notes here:
https://github.com/varabyte/kobweb/releases/tag/v0.23.2

๐Ÿค– (Automated post via GitHub Actions)

#Kobweb #Kotlin #WebDev

03.09.2025 18:41 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

I asked my friend if I should make a social media site called "vouch" where if you invite people into it who get reported and suspended, you get suspended too.

He said soon the whole network would be suspended.

So yeah that sounds amazing, I think I might be onto something.

02.09.2025 01:27 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Kobweb hit 2000 โญs on GitHub. ๐Ÿ˜ณ

I just wanted to say thank you to everyone who has supported Kobweb, in any way.

I shared more expanded thoughts on LinkedIn: www.linkedin.com/feed/update/...

(in case you'd like to read at least one post on that site which was written without any AI help!)

29.08.2025 21:35 โ€” ๐Ÿ‘ 8    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Video thumbnail

โœจ Big O โœจ

Let me take you on a visual introduction to what big O notation is in my new blog post: samwho.dev/big-o.

With big O notation you can better understand how algorithms will perform in practice, finding orders of magnitude improvements often with very simple changes to your code.

23.08.2025 14:35 โ€” ๐Ÿ‘ 419    ๐Ÿ” 105    ๐Ÿ’ฌ 29    ๐Ÿ“Œ 21

Looks great!! Hope building it was mostly painless ๐Ÿ™‚

24.08.2025 05:33 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

NEW DEVELOPER INTERVIEW: @voxraygames.bsky.socialโ€™s Wouter van Oortmerssen (@wvo.bsky.social) explains why he built Skyrim with guns instead of Minecraft 2.

๐ŸŽฎ Read โ†’ www.weloveeverygame....

#IndieDev #Minecraft #Openworld #GameDev

22.08.2025 16:30 โ€” ๐Ÿ‘ 9    ๐Ÿ” 11    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

๐Ÿ•ธ๏ธ Latest Kobweb v0.23.1 released!

Check out the release notes here:
https://github.com/varabyte/kobweb/releases/tag/v0.23.1

๐Ÿค– (Automated post via GitHub Actions)

#Kobweb #Kotlin #WebDev

20.08.2025 18:57 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

ChatGPT5 is the "Sure" update. It keeps asking questions to continue the conversation, where saying "Sure" will keep it going.

(NOTE: I even added custom instructions telling it not to do this.)

OpenAI must be really incentivized to keep users stuck on longer conversations.

10.08.2025 19:21 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Interesting. I've DMed him before, it was a good interaction. When we find one of his replies for a question we are searching for, it's always a good answer.

But anyway, even more pressure for the Gradle technical writer -- make Vampire obsolete! I'm sure he wouldn't mind the break ๐Ÿ™‚

09.08.2025 04:29 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

There's a guy in the community, with the handle Vampire, who is so prevalent that I am almost certain you know who I'm talking about. He has done more to help us understand idiomatic Gradle than any other source. It should have been the official docs that hammered home this stuff though.

09.08.2025 02:12 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

That's good to hear! I'll keep an eye out. I haven't reviewed the docs for a fair bit now.

I'm not really sure I can think of a specific request. I'm more imagining a full rewrite of the docs. A guide that is simultaneously informative and concrete in its examples.

09.08.2025 02:12 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

And I'd love way better official Gradle docs and tightened up APId so writing such a blog post would be totally unnecessary ๐Ÿ˜› (I actually appreciate they're at least working on the second part)

08.08.2025 23:18 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

We now communicate between tasks when necessary by serializing into / deserializing out of a file (not sure why gradle doesn't support this as a first class concept). We hit snags with plugins that were not configuration cache friendly but that's better now. We updated to lazy APIs everywhere.

08.08.2025 22:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I was lucky in that I had a peer who did a lot of the migration. A lot of it was trashing my using `dependsOn` everywhere, pushing harder into chaining properties lazily with map and flatMap, and really understanding inputs and outputs.

08.08.2025 22:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Over the last four years of Kobweb development, the biggest performance jump we got BY FAR was improving our Gradle plugin to be configuration cache friendly.

Learning how to play nice with Gradle pays dividends.

08.08.2025 22:24 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Technically, we should avoid testing this stuff. That's Oracle's job. I might suggest injecting custom logic via the strategy pattern, and/or assert on some other aspect of the state.

Otherwise, maybe create a utility method that blocks until its own allocated weak reference is cleared.

07.08.2025 22:24 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

github.com/JetBrains/in...

07.08.2025 20:29 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Official prompt used by Kineto for creating a web page (emphasis mine): 

"Make an html5 page of how JetBrains IDE could look like in the year 2030. *Make no mistakes.* Return single html/js/css code block."

Official prompt used by Kineto for creating a web page (emphasis mine): "Make an html5 page of how JetBrains IDE could look like in the year 2030. *Make no mistakes.* Return single html/js/css code block."

@jetbrains.com I mean, I love you guys, I'm building a whole open source web framework on top of your stuff because I am a fan of how aligned you are with developers. So...

Kineto, a no-code approach to building a website? Really? With prompts in your demo like this?

What are we even doing here?

07.08.2025 19:11 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Post image

New Kotlin video! Context-sensitive resolution is one of those features that will kind of quietly blend into the background while making a lot of code much nicer. And you can already try it in Kotlin 2.2 as an experimental feature!

Check out the details:
www.youtube.com/watc...

07.08.2025 06:29 โ€” ๐Ÿ‘ 29    ๐Ÿ” 6    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 2

Great question. Someone like @gergely.pragmaticengineer.com might be in a better position to know, although this might be too small fish to attract much attention unless it's part of a bigger pattern.

23.07.2025 15:42 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

"I just called the police a little bit, but since there's no risk, don't sweat it!"

23.07.2025 14:36 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

!!! Wow. Well, I suppose I found out about it from a skeet from a person that found out about it from a debugging window.

22.07.2025 19:35 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@bitspittle is following 20 prominent accounts