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/

326 Followers  |  65 Following  |  144 Posts  |  Joined: 03.08.2023  |  1.9467

Latest posts by bitspittle.bsky.social on Bluesky

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 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 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 โ€” ๐Ÿ‘ 410    ๐Ÿ” 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

Thanks for highlighting this talk. It was a fun watch!

22.07.2025 03:37 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I think turning negative comments into content can be great -- it's like a reverse uno card. But definitely don't let them get to you (calling them "weirdo" or highlighting you pressed the thumbs down button on them). That means they won. Bad comments are a joke and should be treated as such!

21.07.2025 20:16 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Just collect your stickers Avery. Collect your stickers, say "Thank you Miyamoto", and don't even think about making any eye contact or asking any questions.

21.07.2025 03:25 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
If Bob Ross used A.I.
YouTube video by Wizards with Guns If Bob Ross used A.I.

www.youtube.com/watch?v=W_4T...

Bob Ross in the age of AI.

There are no mistakes, only hฬดฬ”ฬฏaฬธฬ…ฬฑpฬตอ ฬ˜pฬทอ’ฬœyฬดฬฬ™ aฬถฬŒอ‹ฬปฬฅฬฑcฬถอ„อŽฬฒฬผอ…cฬธฬ‹ฬ€ฬˆฬŠฬŒฬพฬ‘อ‰อŽฬขอ“อ™ฬณiฬตอ—ฬ’ฬกฬขฬคฬžอ‡dฬถอ˜ฬŽฬƒฬƒอ‹ฬƒฬฉฬฃอšฬคฬจฬžอ‰eฬดอƒฬŒฬผอ‡อ”ฬณฬจnฬถอƒอ‚อ–อ–ฬบฬงอฬ–อœฬฆtฬธฬฝอ‘ฬ˜sฬดฬ…ฬƒฬ›อฬšฬ‡ฬจฬฏฬ˜ฬฒอ“ฬผ

21.07.2025 03:08 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@bitspittle is following 20 prominent accounts