HN user

hsn915

3,101 karma

https://hasen.substack.com/

twitter: hasen_judi

Posts32
Comments837
View on HN
judi.systems 20h ago

Show HN: Shirei v0.6 adds iOS/Android support for cross-platform GUI development

hsn915
1pts0
github.com 10d ago

Show HN: Shirei, cross-platform GUI framework in native Go

hsn915
89pts57
judi.systems 8mo ago

Templated Static Content

hsn915
1pts0
judi.systems 8mo ago

Implementing virtual list view with variable row heights

hsn915
3pts0
judi.systems 9mo ago

Show HN: Desktop app to self-host static sites on a VPS without sysadmin skills

hsn915
1pts0
judi.systems 10mo ago

Sprouts: Self hosting without sysadmin knowledge

hsn915
3pts2
judi.systems 1y ago

Show HN: Hotcore – Reverse proxy configured with command, not config files

hsn915
8pts0
hasen.substack.com 1y ago

Avoid Scrum

hsn915
5pts0
hasen.substack.com 2y ago

Straight Forward Programming

hsn915
1pts0
hasen.substack.com 2y ago

React forms without callbacks or hooks

hsn915
3pts0
hasen.substack.com 2y ago

How to create a React app from scratch

hsn915
2pts0
twitter.com 3y ago

Usage of `auto foo = val;` was causing multithreaded code to end up serializing

hsn915
6pts1
hasen.substack.com 3y ago

Starting a GPU-GUI Project in Odin with Metal

hsn915
1pts0
hasen.substack.com 3y ago

GPU 2D drawing: rectangles, rounded corners, masking, rotations, line segments

hsn915
2pts0
hasen.substack.com 3y ago

Signed Distance Function (Field): Drawing 2D Shapes on the GPU

hsn915
2pts0
hasen.substack.com 3y ago

The Tyranny of the Fake Problems Equation

hsn915
3pts1
hasen.substack.com 3y ago

The Stupid Programmer Manifesto

hsn915
206pts226
www.rfleury.com 3y ago

The Codepath Combinatoric Explosion

hsn915
7pts0
hasen.substack.com 3y ago

Local First Development

hsn915
2pts0
hasen.substack.com 3y ago

I Quit My Job, not to pursue wealth, but to participate in creating the future

hsn915
2pts0
hasen.substack.com 3y ago

Imgui rendering bidirectional text with multiple fonts

hsn915
2pts0
wazero.io 3y ago

Wazero: The zero dependency WebAssembly runtime for Go developers

hsn915
2pts0
hasen.substack.com 3y ago

Systems Programming and Memory Safety

hsn915
7pts1
hasenjudy.wordpress.com 3y ago

I like Odin

hsn915
137pts204
hasen.substack.com 4y ago

On the lack of simple and reliable software to self-host a website

hsn915
1pts5
tiffzhang.com 4y ago

Startup Generator

hsn915
2pts0
www.transparenttextures.com 4y ago

Transparent Textures

hsn915
2pts0
github.com 4y ago

Hygenic Macros in Jai

hsn915
1pts0
www.youtube.com 4y ago

Casey Muratori's refterm lecture series (5 videos) (October 2021)

hsn915
4pts0
samoburja.com 4y ago

Live versus Dead Players (2018)

hsn915
1pts0

I only read up to the "Petals around the Rose" exercise. I found it pretty easy to deduce (induce?) but the author is right, there's no general algorithmic method to do it .. except for intelligence.

So, the solution is "AI", and even then it's only a "probably".

Grok Build with Grok 4.5 is the best coding AI agent I have ever had the pleasure of using. Stopped using Fable after it.

I think AIs generally "like" the API surface exposed by Shirei. They seem to understand it pretty well and are able to "vibe code" any kind of UI you ask of them using this framework.

To your general point though, yes, there's a lot of uncertainty about what things it makes sense to build in the AI era. I don't have good answers for what would make sense for 10 years down the road, but at this point of time, I think a project like this actually makes perfect sense.

Now that AI can write the code for us, we need better frameworks and libraries, because a lot of what we have now is quite honestly slop.

You could say that you could get AI to maintain 3 separate codebases of the same application UI, each one targeted to a different platform, and the AI will maintain the feature parity and you won't have to worry about it.

For now, AI can take care of coding, but it does not relieve you of having to pay attention to things. If you create 2 or 3 code bases for the different platforms you target, the maintenance burden still falls on you.

But I don't know for how long the situation will remain like this.

Last year I did not think I'd be using AI for coding. I dug up a few tweets I posted last year saying that LLMs have hit a plateau and will stop improving, and that AI coding is a scam being promoted by charlatans.

Most open source projects are abandoned because the author never finds enough time to work on it or can't muster the focus and attention needed.

It is not true that there is "lack" of human investment in the creation of this. If anything, I spent the last two weeks glued to the screen most of the time, to a degree I have never experienced before, building out all the different areas that lead to this release.

I will not mention the monetary investment because it's not the type that matters here.

Attention, which is arguably the most scarce form of investment, was invested in ample amounts.

Does "immediate mode" mean the UI refreshes at a constant 60fps rate like a video game, redrawing everything all the time?

No.

It means that you build the UI by describing what it should look like now, based on the data / state you own, without referencing any existing "widget" object or trying to manipulate it.

Scale is not about the number of buttons, but the structure of the data.

You have a list of objects, within each objects you have several fields, some of them lists, some of them maps. within some of those sub-items you have other lists and maps, nested arbitrarily.

This would be hell to manage for a retained mode UI. You have to mirror the application data into a widget tree and keep all the elements in sync, all the way down to the arbitrary depths of it.

You'd be writing thousands of lines of code that do nothing but keep your data in sync with widget states. You'd have many one off bugs where one sub field fails to sync in some scenarios. Your only options is to be more defensive: more events, more full-resync. As a result, the codebase is complicated and the application feels slow/heavy, because updating widget states is costly.

In immediate mode, none of that matters. You don't have a parallel widget tree.

Why TUIs are back 3 months ago

The TUI version of ClaudeCode is not even that good compared even to the VSCode plugin.

You have to stop thinking about it as a computer and think about it as a human.

If, in the context of cooperating together, you say "should I go ahead?" and they just say "no" with nothing else, most people would not interpret that as "don't go ahead". They would interpret that as an unusual break in the rhythm of work.

If you wanted them to not do it, you would say something more like "no no, wait, don't do it yet, I want to do this other thing first".

A plain "no" is not one of the expected answers, so when you encounter it, you're more likely to try to read between the lines rather than take it at face value. It might read more like sarcasm.

Now, if you encountered an LLM that did not understand sarcasm, would you see that as a bug or a feature?

I had a similar feeling expressed in the title regarding ChatGPT 5.2

I haven't tried it for coding. I'm just talking about regular chatting.

It's doing something different from prior models. It seems like it can maintain structural coherence even for very long chats.

Where as prior models felt like System 1 thinking, ChatGPT5.2 appears like it exhibits System 2 thinking.

Non-native English speaker here.

I would not understand the last two sentences. Sidle? Tromp? I don't think I've seen these words enough times for them to register in my mind.

"Strode", I would probably understand after a few seconds of squeezing my brain. I mean, I sort of know "stride", but not as an action someone would take. Rather as the number of bytes a row of pixels takes in a pixel buffer. I would have to extrapolate what the original "daily English" equivalent must have been.

There are two issues:

- Hosting a website is not so easy for the average person, even the tech savvy person, specially if you try to learn it now using the way large websites are developed.

- Static site blogs lack interactivity: people can't comment on your blog. You have to post a link to Twitter or HN (here!) and interact with people over there.

- Static site blogs also don't usually let people "subscribe" by email or whatnot, so unless people bookmark your website or follow you on Twitter, they are not going to find your content.

P.S. this is a problem area I'm trying to work on, at least on the technical front.

Nice story but the places I've seen that make use of services, there's never a "1 server -> 1 team". It's more like 20 services distributed among 3 teams, and some services are "shared" by all teams

I think it was around 2015 when everything was basically AWS and Kubernetes

The turning point might have been Heroku? Prior to Heroku, I think people just assumed you deploy to a VPS. Heroku taught people to stop thinking about the production environment so much.

I think people were so inspired by it and wanted to mimic it for other languages. It got more people curios about AWS.

Ironically, while the point of Heroku was to make deployment easy and done with a single command, the modern deployment story on cloud infrastructure is so complicated most teams need to hold a one hour meeting with several developers "hands on deck" and going through a very manual process.

So it might seem counter intuitive to suggest that the trend was started by Heroku, because the result is the exact opposite of the inspiration.