<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: snorremd</title><link>https://news.ycombinator.com/user?id=snorremd</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 17 Aug 2026 06:20:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=snorremd" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by snorremd in "GPS and the Lost Art of Getting Lost"]]></title><description><![CDATA[
<p>One of my best experiences in Prague back around 2010 was when I had no Google Maps, tried navigating with a hotel pamphlet map, and promptly lost my way towards the student culture house I was trying to find.<p>Ended up asking some locals where I was, and amused they assured me I was way outside the map and had gone east instead of north. I did not want to backtrack so I asked if there was any nice places to get a beer nearby and they pointed me towards a beer garden. Those were some of the nicest Pilsner Urquells and Staropramens I had during my visit. No tourists to be seen, and good vibes all around.<p>Nowadays I mostly navigate with GPS and rarely just happen on random places like that. I guess we lose some of the discovery when you always know where you are going.</p>
]]></description><pubDate>Sun, 16 Aug 2026 19:12:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=49322767</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=49322767</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49322767</guid></item><item><title><![CDATA[New comment by snorremd in "Tracking down the 16-year-old WAL-reset SQLite bug"]]></title><description><![CDATA[
<p>You might already know and used "for some reason" as sarcasm. For those that do not: Zoom did the usual aqui-hire. They needed to show their enterprise customers they were taking e2e encryption seriously, so they bought out the guys who did exactly that kind of encryption with Keybase.<p>A shame really, because Keybase was kind of unique in the way the facilitated social proof of identity tied to cryptographic keys. A shame though that they never found a really sustainable business model. When they turned to crypto currency towards the end of their independent run I knew it probably wouldn't last.</p>
]]></description><pubDate>Wed, 12 Aug 2026 18:52:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=49276938</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=49276938</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49276938</guid></item><item><title><![CDATA[New comment by snorremd in "Removing React.js from the codebase and adapting Htmx for UI interactivity (2023)"]]></title><description><![CDATA[
<p>Indeed. In a publishing (Wordpress) like solution maybe you would use HTMX for the user facing parts and React or something similar for the more interactive admin parts. Then you don't need to bother with server side rendering for the admin bits, which at least I think simplifies React a great deal. It's not that the JS fullstack frameworks doesn't handle server side rendering and routing for you, but they feel very much like black box magic to me. Especially the new fangled React Server Components with the whole serialization and streaming model.<p>Good old server side rendering is simple in Rich Hickey's "Simple Made Easy" way. You can build more complex logic on top of a standard server rendered model, but the base model is mostly dead simple to reason about. I like that. I've built web "apps" in AngularJS, React, Reagent (ClojureScript) and Next. So I'm not coming at this from a grumpy "backender" position. I'm coming at this from having done lots of frontend stuff and finding the frameworks becoming increasingly complex beneath the surface. It feels like they are targeting the "easy" in Rich Hickeys parlance in the sense that you don't have to write a lot of code to make something fancy. But reasoning about the behavior and what actually happens in the framework when something doesn't work is increasingly difficult.<p>Edit: And maybe this is a "skill issue". If you just learn the framework and library well enough you'll get by much better. But I tend to not want to bind myself to any single framework too much. So simple frameworks that don't churn too much is better for me.</p>
]]></description><pubDate>Tue, 28 Jul 2026 09:45:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=49081551</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=49081551</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49081551</guid></item><item><title><![CDATA[New comment by snorremd in "Removing React.js from the codebase and adapting Htmx for UI interactivity (2023)"]]></title><description><![CDATA[
<p>I don't necessarily disagree that there comes a point at which you are working more against HTMX than with it. I think rather than measuring that contention point between HTMX and SPA/MPA in terms of interactivity I'd measure it in the amount of client side state and logic needed. If you need a bunch of client side state and logic, for example a digital audio workstation, then a SPA would definitely be the appropriate pattern.<p>But interactivity in largely content-driven sites doesn't necessarily preclude HTMX. You can do a bunch of fancy interactive stuff with HTMX and some minimal JS. Drag and drop sort is a tiny drop-in JS snippet. Skeleton loaders and spinners are supported out of the box in HTMX as is infinite scroll as others pointed out.<p>I'm not saying Next.js, Solid Start, Remix, Nuxt or some other hybrid server and client rendered model doesn't work for forum software. Or that even client only rendering can be a valid approach if you accept the trade-offs (no curl-ability). People should use whatever they feel productive building with.<p>But if your backend is already a non-JavaScript server rendered framework like Django then HTMX makes a ton of sense to add some interactivity.</p>
]]></description><pubDate>Mon, 27 Jul 2026 16:39:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=49072132</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=49072132</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49072132</guid></item><item><title><![CDATA[New comment by snorremd in "Removing React.js from the codebase and adapting Htmx for UI interactivity (2023)"]]></title><description><![CDATA[
<p>I think HTMX is a great fit for forum software. Forum websites mostly deliver non-interactive content in the form of text and maybe some audio, video, or image content. All of this can be represented as HTML and CSS.<p>With HTMX you can do partial rendering and live updates via server-sent events. This gets you most of the way to the "client side" feel where things load dynamically based on user actions.<p>The only properly dynamic SPA-like feature in a forum I can think of is a WYSIWYG editor, but that you can build as a web component. Maybe a flexible highlight and quote system would be a bit difficult in pure HTMX (think of the comment functionality in Medium posts). So you'd want to build a few things in client side JS. But the main experience could very well be built with HTMX.</p>
]]></description><pubDate>Mon, 27 Jul 2026 13:18:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=49069320</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=49069320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49069320</guid></item><item><title><![CDATA[New comment by snorremd in "Framework downgrades RAM configurations on pre-orders due to price hikes"]]></title><description><![CDATA[
<p>I'm still considering whether to cancel or simply make do with 32GB memory. I initially ordered 64GB as I'd like to not worry about memory usage all that much. But getting the 32GB option for the original price (before price increase) seems like a reasonable solution to me. I can always upgrade later. I feel more sorry for those now bumped down from 32 to 16 GB. The latter is barely usable as an enthusiast dev PC these days.<p>It is unfortunate that Framework has sold priced pre-orders for batches they haven't secured supplier contracts for. Or maybe they did, but the supplier decided to void their contract releasing the same product for twice the amount. Hard to know what goes on inside these companies. In any case the AI bubble is doing a number on consumer market hardware.<p>I want to support Framework's mission, but this is a crappy situation all around. Definitely a mark on Framework's reputation, and also annoying for those who know need to dish out more money or not get the product they were promised at the price-point that was indicated at purchase.</p>
]]></description><pubDate>Thu, 23 Jul 2026 13:59:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49021738</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=49021738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49021738</guid></item><item><title><![CDATA[New comment by snorremd in "A Road to Lisp: Which Lisp"]]></title><description><![CDATA[
<p>As a former Clojure dev (now just using Clojure in my spare time) I love Babashka. Michiel Borkent really nailed it with sci (Small Clojure Interpreter) and Babashka. Running a custom Clojure interpreter in a GraalVM compiled Clojure app is quite clever.<p>Now there are of course limitations to what you can do in terms of not supporting Java reflection or the full Clojure compiler. But I've made some nifty small scripts and convenience helpers with it. And the dev experience of making these scripts is so much nicer than trying to write bash scripts. The Clojure edn syntax is super simple, and the REPL connected editor let me rapidly test parts of the code just like with full Clojure apps.<p>I don't have experience with other lisps, but I can vouch for Clojure being very nice. The community was welcoming and friendly to newcomers when I started learning, I hope it still is. One thing I love about the Clojure ecosystem and community is the effort taken to never break libraries. I've looked at libraries I used some ten years ago, and the API is still compatible with code I wrote back then. There is very little churn. Maybe this is because the language is largely untyped and editors only partially check "types". Having breakages in libraries you consume once every couple of months would get really tiring in Clojure land. I'd imagine the same problems would present themselves in Common Lisp and others.</p>
]]></description><pubDate>Fri, 17 Jul 2026 17:36:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48950019</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=48950019</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48950019</guid></item><item><title><![CDATA[New comment by snorremd in "Bluesky Trademarks ATProto"]]></title><description><![CDATA[
<p>Did they actually create the org yet? I saw the news you are linking that they were going to start the process. But I've seen no follow up news about the organization actually being here and the ownership of the PLC directory having been transferred.</p>
]]></description><pubDate>Fri, 17 Jul 2026 09:00:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48944928</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=48944928</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48944928</guid></item><item><title><![CDATA[New comment by snorremd in "Bluesky Trademarks ATProto"]]></title><description><![CDATA[
<p>The PLC governance not having been moved yet is my one main gripe against ATProto/Atmosphere now. There is so much being built on top of this protocol, and I truly believe it has the chance to make the social web more decentralized while keeping everything connected. The PLC being controlled by one major commercial entity allows them to pull the plug so to speak. Say someone is sanctioned by the US, what stops Bluesky from pulling the plug on their DID thereby blocking and censoring this person from the network all together.<p>Half the point of ATProto is that identities are used across a host of apps, and therein lies a big vulnerability. If identities are not truly independent of centralized infrastructure, then you are vulnerable to losing access to a number of apps at once similar to Google services black hole if your Google account is banned (not to mentioned anywhere you've logged in with SSO).<p>It would be much better if the PLC was somehow decentralized itself. Barring that it should at least be finally spun out as the independent Swiss organization they've talked about for some time now. The organization could form a board with interested parties to set the future of PLC development if needed.<p>As for PDS migration, there are good options if you are migrating away from Bluesky. There are lots of GUI tools that work well now like <a href="https://pdsmoover.com/moover" rel="nofollow">https://pdsmoover.com/moover</a>, Eurosky has <a href="https://move.eurosky.tech/" rel="nofollow">https://move.eurosky.tech/</a>, etc. It would be cool though if Bluesky actually linked to the other big PDS-providers on the Bluesky sign-up page to actually promote decentralization. But I guess it is hard to vouch for other services.<p>I still think the future of ATProto is bright, but there are definitely some obstacles before I'm comfortable with the whole setup. The network needs more decentralization in the PDS-layer, and the PLC needs to spin out in the separate governance organization pronto.</p>
]]></description><pubDate>Thu, 16 Jul 2026 09:59:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48932435</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=48932435</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48932435</guid></item><item><title><![CDATA[New comment by snorremd in "How to build a circular LCD clock"]]></title><description><![CDATA[
<p>Indeed. Don't be dissuaded by Hacker News commenters. All the naysayers here doesn't seem to have published their own blog posts about how they built circular LCD clocks with Arduino ESP32 and low level programming or whatever they fancy as "good enough".<p>Browser based rendering that allows people to easily make new watch faces with JS and SVG is a perfectly reasonable platform for a nifty project like this. I think your watch faces look neat.</p>
]]></description><pubDate>Tue, 14 Jul 2026 10:59:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48904861</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=48904861</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48904861</guid></item><item><title><![CDATA[New comment by snorremd in "Vite+ Beta"]]></title><description><![CDATA[
<p>> I hope these folks manage to get a bunch of money and can fund the continued development for at least the next decade.<p>I believe VoidZero has been acquired by Cloudflare [1], so money should not be an issue. Question is if Cloudflare will be willing to continue letting these people work on Vite and Vite+ features that benefit all cloud platforms, not just Cloudflare.<p>1. <a href="https://blog.cloudflare.com/voidzero-joins-cloudflare/" rel="nofollow">https://blog.cloudflare.com/voidzero-joins-cloudflare/</a></p>
]]></description><pubDate>Thu, 02 Jul 2026 13:12:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48761037</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=48761037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48761037</guid></item><item><title><![CDATA[New comment by snorremd in "Cloudflare launched self-managed OAuth for all"]]></title><description><![CDATA[
<p>WebFinger + self-hosted Oauth provider is indeed nice. Unfortunately not widely available.</p>
]]></description><pubDate>Thu, 25 Jun 2026 12:43:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48672513</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=48672513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48672513</guid></item><item><title><![CDATA[New comment by snorremd in "Calvin and Hobbes and the price of integrity"]]></title><description><![CDATA[
<p>The three volume hard-book bound set is one of my favorite possessions. It has been a little while since I read them, but I must have read them cover to cover twice. The print quality and feeling of the hefty books makes them feel like really high end comics in the material sense. I really respect Watterson in keeping the comic pure in the sense that the characters only exist in that one medium.</p>
]]></description><pubDate>Wed, 17 Jun 2026 10:50:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48568499</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=48568499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48568499</guid></item><item><title><![CDATA[New comment by snorremd in "Let's talk about EU Sovereignty (2025)"]]></title><description><![CDATA[
<p>This. I'm presently running serverless containers, serverless jobs, managed container registry, managed database, virtual private network, IAM policies, DNS, managed Grafana and object storage on Scaleway for a project I'm working on. Doesn't get more cloud than that.<p>Sure, Scaleway still lags behind the big three cloud providers in the US. But the US providers have a lot more money and been around much longer. Scaleway is quickly expanding its feature set though. They've recently introduced managed Clickhouse and OpenSearch among other things.</p>
]]></description><pubDate>Sat, 30 May 2026 20:49:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48340477</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=48340477</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48340477</guid></item><item><title><![CDATA[New comment by snorremd in "Norway's 2 petabytes of Huawei flash storage and LLM training"]]></title><description><![CDATA[
<p>Exactly. Nasjonalbiblioteket (National Library of Norway) has centuries of written material (Bokmål, Nynorsk and some Sami) and decades of audio and video material featuring varied dialects from all over the country. I believe training models that encompass this information can help in preserving both our language, history, and culture for future generations that increasingly turn to AI to get their information.</p>
]]></description><pubDate>Tue, 26 May 2026 11:54:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48278468</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=48278468</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48278468</guid></item><item><title><![CDATA[New comment by snorremd in "David Attenborough's 100th Birthday"]]></title><description><![CDATA[
<p>The sad thing is Attenborough has lived to see the destruction of nature he loved so much. His constant warnings have gone mostly unheard. In some ways I think excellent nature programming like his own Nature is doing a disservice by making it seem like there's lots of wild nature left.<p>I wish humans would come together to re-wild more of the earth. Restoring wild nature and cutting emissions is the only way to really restore natural ecosystems. We're nowhere close to doing that.</p>
]]></description><pubDate>Fri, 08 May 2026 18:20:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48066854</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=48066854</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48066854</guid></item><item><title><![CDATA[New comment by snorremd in "Windows quality update: Progress we've made since March"]]></title><description><![CDATA[
<p>Regularly being presented with a "Set up Windows" after boot forcing you to click "no thanks" on a bunch of Microsoft services is exactly the kind of thing that irritates me. I've politely declined their services about 10 times already, make it stop!<p>When I get tired of Battlefield 6 I'm likely going full Linux. It is simply not worth putting up with Microsoft Windows for gaming. More and more games seem to work either directly on Linux or at least via things like Proton (courtesy Valve Software).</p>
]]></description><pubDate>Sun, 03 May 2026 11:11:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47995750</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=47995750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47995750</guid></item><item><title><![CDATA[New comment by snorremd in "Ghostty is leaving GitHub"]]></title><description><![CDATA[
<p>Interestingly ATProto uses Merkle Search Trees to store data as commits, so in some respects it is similar to git. It even signs each commit (say you post an issue record to your ATProto personal data server) it is inserted into your merkle search tree based on content and id hashing rules, and then the new root node in the tree is signed so you can verify its integrity.<p>Now there is absolutely a benefit to co-locating issues and PRs with your code in the same git repo. In a way it becomes much simpler to move your entire repository and all activity when everything is in the same .git folder.<p>With Tangled your code is stored in your code repository and issues and PRs in your data repository. On the other hand the ATProto stuff is what means your project becomes discoverable and that other users in the network automatically can interact with your repository (likes, issues, etc).</p>
]]></description><pubDate>Wed, 29 Apr 2026 12:31:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47947434</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=47947434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947434</guid></item><item><title><![CDATA[New comment by snorremd in "Ghostty is leaving GitHub"]]></title><description><![CDATA[
<p>I kept a Docker install of GitLab running for many years at my first full time employer out of university back in 2014 to 2020. It was really not too difficult. Every once a while they would release a major version that required a migration or config update, but mostly the updates were a docker compose pull and docker compose up away. At our single company scale with only some 25 developers max (don't remember exactly anymore) a self-hosted instance on a moderate VM was super stable and quite boring. And boring is often good. It might be that hosting GitLab for much bigger organizations is a different beast!<p>I remember that the first instance of their CI solution was a separate server/service that coordinated CI jobs on runners. That was a bit cumbersome. But then they integrated the CI coordination into the main server and you only needed to figure out the CI runner part.<p>Today I would likely have gone for Forgejo with runners for such a small company if I were to self-host. Less moving parts and smaller footprint.</p>
]]></description><pubDate>Wed, 29 Apr 2026 12:25:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47947377</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=47947377</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947377</guid></item><item><title><![CDATA[New comment by snorremd in "End of an era for me: no more self-hosted git"]]></title><description><![CDATA[
<p>I've recently been setting up web servers like Forgejo and Mattermost to service my own and friends' needs. I ended up setting up Crowdsec to parse and analyse access logs from Traefik to block bad actors that way. So when someone produces a bunch of 4XX codes in a short timeframe I assume that IP is malicious and can be banned for a couple of hours. Seems to deter a lot of random scraping. Doesn't stop well behaved crawlers though which should only produce 200-codes.<p>I'm actually not sure how I would go about stopping AI crawlers that are reasonably well behaved considering they apparently don't identify themselves correctly and will ignore robots.txt.</p>
]]></description><pubDate>Wed, 11 Feb 2026 15:06:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=46975860</link><dc:creator>snorremd</dc:creator><comments>https://news.ycombinator.com/item?id=46975860</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46975860</guid></item></channel></rss>