David Herman @bitspittle.bsky.social · 23/08/2026But for your second point, I assume you would compute the hash code for the values you were packing into the long, not the long itself 010
David Herman @bitspittle.bsky.social · 23/08/2026Computers are fast and the objects are short lived 🙃 Would it be a bad idea for the Kotlin standard library to add an inline function that basically computes the hashcode of a list of passed in vararg values? 100
David Herman @bitspittle.bsky.social · 23/08/2026When overriding hashmap, I often use `arrayOf(val1, val2, ...).contentHashCode()`, would that have worked for your case here? 100
David Herman @bitspittle.bsky.social · 23/08/2026Yes, 100%! Keeping your CSS local to just the code that needs it helps so much. I suspect many people burned by CSS were dealing with giant, monolithic stylesheets, full of tangled declarative properties; where making some tweak over here broke another style over there. 320
David Herman @bitspittle.bsky.social · 23/08/2026CSS has a bad rep (and you can definitely find cases that deserve it) but over time I have come to appreciate its idea. I am the author of a Kotlin web framework, and I wrote about my thoughts here (Kotlin knowledge not required): kobweb.varabyte.com/docs/concept...kobweb.varabyte.comLearning CSS | KobwebNew to CSS? How to start learning it via Kobweb's approach. 130
David Herman @bitspittle.bsky.social · 20/08/2026New Kobweb CLI is also out, smoothing over some edges I've long wanted to polish. (The last CLI release was over a year ago!) github.com/varabyte/kob... I hope it makes Kobweb development just a little bit nicer.github.comRelease v0.9.22 · varabyte/kobweb-cliThis release introduces some tweaks that make the Kobweb CLI just feel a bit nicer to use. What's New? No more lame "Kobweb may appear paused while Gradle is resolving / downloading dependencies"... 000
David Herman @bitspittle.bsky.social · 19/08/2026🕸️ Latest Kobweb v0.25.1 released! Check out the release notes here: github.com/varabyte/kobweb/releases… 🤖 (Automated post via GitHub Actions) #Kobweb #Kotlin #WebDev github.comRelease v0.25.1 · varabyte/kobweb · GitHubThis release adds a few quality of life features and bumps up some versions. [versions] compose-runtime = "1.12.0" kobweb = "0.25.1" kotlin = "2.4.10" [libraries] com... 131
David Herman @bitspittle.bsky.social · 05/07/2026🕸️ Latest Kobweb v0.25.0 released! Check out the release notes here: github.com/varabyte/kobweb/releases… 🤖 (Automated post via GitHub Actions) #Kobweb #Kotlin #WebDev github.comRelease v0.25.0 · varabyte/kobweb · GitHubThis release is functionally identical to v0.24.1 but with all Kotlin / Compose dependencies migrated to latest. [versions] compose-html = "1.11.1" compose-runtime = "1.11.2" ko... 040
David Herman @bitspittle.bsky.social · 03/07/2026🕸️ Latest Kobweb v0.24.1 released! Check out the release notes here: github.com/varabyte/kobweb/releases… 🤖 (Automated post via GitHub Actions) #Kobweb #Kotlin #WebDev github.comRelease v0.24.1 · varabyte/kobweb · GitHubThis is a jam packed release featuring long-planned tweaks to the network APIs as well as new lucide and material symbol icons! In the previous release, we revisited the backend network APIs to sup... 020
David Herman @bitspittle.bsky.social · 22/05/2026Highly recommend catching this talk later for anyone who missed it! Full of interesting (and likely surprising) info about terminal capabilities, but most importantly, since it is well paced and full of live coding demos, it's just fun and effortless to watch. 0101
Reposted by David HermanIvan “CLOVIS” Canet @ivcanet.bsky.social · 21/05/2026Kobweb demo with @bitspittle.bsky.social ! 072
David Herman @bitspittle.bsky.social · 18/02/2026Most 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! 030
David Herman @bitspittle.bsky.social · 18/02/2026🕸️ Latest Kobweb v0.24.0 released! Check out the release notes here: github.com/varabyte/kobweb/releases… 🤖 (Automated post via GitHub Actions) #Kobweb #Kotlin #WebDev github.comRelease v0.24.0 · varabyte/kobweb · GitHubIn 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 ... 150
David Herman @bitspittle.bsky.social · 22/01/2026Yegge 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. 100
David Herman @bitspittle.bsky.social · 18/12/2025The 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.docs.google.comKobweb 1.0 RoadmapAll 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... 010
David Herman @bitspittle.bsky.social · 11/09/2025🕸️ Latest Kobweb v0.23.3 released! Check out the release notes here: github.com/varabyte/kobweb/releases… 🤖 (Automated post via GitHub Actions) #Kobweb #Kotlin #WebDev github.comRelease v0.23.3 · varabyte/kobweb · GitHubThis 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... 140
David Herman @bitspittle.bsky.social · 03/09/2025Squarespace 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. 000
David Herman @bitspittle.bsky.social · 03/09/2025Trivial! 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.github.comGitHub - cbrgm/bluesky-github-action: Send posts to Bluesky Social from GitHub ActionsSend posts to Bluesky Social from GitHub Actions. Contribute to cbrgm/bluesky-github-action development by creating an account on GitHub. 030
David Herman @bitspittle.bsky.social · 03/09/2025Small 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!kobweb.varabyte.comBase Path | KobwebHow to set a base path for your project (and what that means). 010
David Herman @bitspittle.bsky.social · 03/09/2025🕸️ Latest Kobweb v0.23.2 released! Check out the release notes here: github.com/varabyte/kobweb/releases… 🤖 (Automated post via GitHub Actions) #Kobweb #Kotlin #WebDev github.comRelease v0.23.2 · varabyte/kobweb · GitHubWe 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... 210
David Herman @bitspittle.bsky.social · 02/09/2025I 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. 010
David Herman @bitspittle.bsky.social · 29/08/2025Kobweb 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!) 080
Reposted by David HermanSam Rose @samwho.dev · 23/08/2025✨ 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. 29413105
David Herman @bitspittle.bsky.social · 24/08/2025Looks great!! Hope building it was mostly painless 🙂 140
Reposted by David HermanWeLoveIt.io @weloveit-io.bsky.social · 22/08/2025NEW 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 0911
David Herman @bitspittle.bsky.social · 20/08/2025🕸️ Latest Kobweb v0.23.1 released! Check out the release notes here: github.com/varabyte/kobweb/releases… 🤖 (Automated post via GitHub Actions) #Kobweb #Kotlin #WebDev 130
David Herman @bitspittle.bsky.social · 10/08/2025ChatGPT5 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. 020
David Herman @bitspittle.bsky.social · 09/08/2025Interesting. 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 🙂 010
David Herman @bitspittle.bsky.social · 09/08/2025There'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. 000
David Herman @bitspittle.bsky.social · 09/08/2025That'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. 100
David Herman @bitspittle.bsky.social · 09/08/2025And 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) 110
David Herman @bitspittle.bsky.social · 08/08/2025We 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. 100
David Herman @bitspittle.bsky.social · 08/08/2025I 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. 100
David Herman @bitspittle.bsky.social · 08/08/2025Over 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. 150
David Herman @bitspittle.bsky.social · 07/08/2025Technically, 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. 120
David Herman @bitspittle.bsky.social · 07/08/2025@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? 250
Reposted by David HermanMárton Braun @zsmb.co · 07/08/2025New 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... 1296
David Herman @bitspittle.bsky.social · 23/07/2025Great 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. 010
David Herman @bitspittle.bsky.social · 23/07/2025"I just called the police a little bit, but since there's no risk, don't sweat it!" 110
David Herman @bitspittle.bsky.social · 22/07/2025!!! Wow. Well, I suppose I found out about it from a skeet from a person that found out about it from a debugging window. 020
David Herman @bitspittle.bsky.social · 22/07/2025Thanks for highlighting this talk. It was a fun watch! 010
David Herman @bitspittle.bsky.social · 21/07/2025I 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! 000
David Herman @bitspittle.bsky.social · 21/07/2025Just 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. 010
David Herman @bitspittle.bsky.social · 21/07/2025www.youtube.com/watch?v=W_4T... Bob Ross in the age of AI. There are no mistakes, only h̴̯̔a̸̱̅p̵̘͠p̷̜͒y̴̙̏ ǎ̶̻̥̱͋c̶͎̲̼̈́ͅc̸̢͉͎͓͙̳̋̀̈̊̌̾̑i̵̡̢̤̞͇͗̒d̶̨̩̣͚̤̞͉̎̃̃͋̃͘ę̴̼͇͔̳̓̌ņ̶͖͖̺͍̖̦̓͂͜t̸̘̽͑s̴̨̛̯̘̲͓̼̅̃̇̚͝youtube.comIf Bob Ross used A.I.YouTube video by Wizards with Guns 010
David Herman @bitspittle.bsky.social · 13/07/2025You can read about past founders who exited when offered vast fortunes to sell what they built and step down, only to realize that they had already had enough money before selling, and now they had way more money than they could spend, making the extra useless. 010
Reposted by David HermanRune Skovbo Johansen @runevision.bsky.social · 09/07/2025I got translucency working on the trees ☀️🌳 Hell yeah, let's stroll! #GameDev #ProcGen 1017211