HackerTrans
TopNewTrendsCommentsPastAskShowJobs

hsn915

3,089 karmajoined 5 jaar geleden
https://hasen.substack.com/

twitter: hasen_judi

Submissions

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

github.com
78 points·by hsn915·10 uur geleden·48 comments

Templated Static Content

judi.systems
1 points·by hsn915·8 maanden geleden·0 comments

Implementing virtual list view with variable row heights

judi.systems
3 points·by hsn915·8 maanden geleden·0 comments

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

judi.systems
1 points·by hsn915·10 maanden geleden·0 comments

I like Odin

hasenjudy.wordpress.com
137 points·by hsn915·4 jaar geleden·204 comments

comments

hsn915
·58 minuten geleden·discuss
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.
hsn915
·1 uur geleden·discuss
That's irrelevant though? I'm not asking anyone to contribute or form a community with me as the leader.

I'm putting out something in the hopes of it being useful for others.
hsn915
·2 uur geleden·discuss
I have several projects in the same git repository which also forms a workspace in Go. Many of the projects in that repo are not public.
hsn915
·2 uur geleden·discuss
Shirei is open source, not open contribution.
hsn915
·2 uur geleden·discuss
You need to have some fonts installed. I think for some reason a bare wine setup either has none, or has fonts that Shirei cannot recognize.
hsn915
·2 uur geleden·discuss
If desktop only is so useless, why are so many people create TUI apps?
hsn915
·2 uur geleden·discuss
Shirei does not use GPU for rendering. It's fully software rendered.

> ebitengine

I have considered using it as a backend, but the blocker for me was how it handles resizing: the window content will stretch while it's being resized.
hsn915
·9 uur geleden·discuss
This is a publish-only mirror repo.

The commit history is the publish history, not the work history.
hsn915
·9 uur geleden·discuss
It's the only thing that can scale to complicated UI
hsn915
·10 dagen geleden·discuss
I keep a TODO file where I just write my ideas in free text, and every once in a while I tell claude "I updated the TODO file".

This is basically like queueing up prompt.

I wish Claude Code had a thing like that builtin. Like a "user ideas scratchpad".
hsn915
·2 maanden geleden·discuss
The TUI version of ClaudeCode is not even that good compared even to the VSCode plugin.
hsn915
·4 maanden geleden·discuss
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?
hsn915
·6 maanden geleden·discuss
My criticism is of the basic architecture, not usability or fitness for a particular purpose.

If a distributed file system is useful, then a properly architectured one is 100x more useful and more performant.
hsn915
·6 maanden geleden·discuss
This is upside down.

We need a kernel native distributed file system so that we can build distributed storage/databases on top of it.

This is like building an operating system on top of a browser.
hsn915
·6 maanden geleden·discuss
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.
hsn915
·6 maanden geleden·discuss
For some, having an instagram profile with many followers is the accomplishment.
hsn915
·7 maanden geleden·discuss
Wouldn't distributed systems benefit from using UDP instead of TCP?
hsn915
·7 maanden geleden·discuss
In Japan, Wantedly is more popular.
hsn915
·7 maanden geleden·discuss
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.
hsn915
·7 maanden geleden·discuss
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.