HN Simulatornew | past | comments | lists | submit | rudedogg's commentslogin

Almost every GUI toolkit does this, it’s nothing React specific. And with the browser you have to know all sorts of complexities to know what it’s actually doing (is this change going to cause a full layout, full paint, etc.)

Personally I think most of the abstractions we’ve tried around GUIs don’t work, and old school frameworks like AppKit are better. They just need some DX love since programming has evolved so much.


> not having such a governing body leads to either divergence or stagnation

Or you do the BDFL model like Python, D, Zig, Odin, etc.

I think it works better. A language that reflects the vision of an individual deeply thinking about the interactions of language features, and being able to say "no" to anyone/everyone has many benefits.

Committees make me think of the Web, C++, Swift, etc., and they have a lot of "odd" decisions that have had a heavy cost. Swift has https://www.swift.org/swift-evolution/, but a lot of ideas with minority support were pushed through by Apple (for SwiftUI mainly), against overwhelming community feedback.

And the Web has had a lot of "duds" when you think of WebGPU, WASM (not saying it's bad, but people clearly want to stop writing TS/JS and they haven't made that a reality yet, at least in a way I'd call "successful"), etc.. Oh and DRM in the browser sucks. I forget the details but I was goofing around with FreeBSD Desktop and couldn't get various things to work due to some browser DRM bullshit. https://en.wikipedia.org/wiki/Widevine if curious.


The Python 2/Python 3 things was pretty startlingly horrifying. Not sure I would hold Python up as an exemplar.

It's early days for WebGPU. Safari only enabled it in version 26, so for most of the web it's only a year old. Give it time.

How many C++ implementations are there?

How many Python, D, Zig, Odin, etc. implementations are there?

And considering the number of users, only Python has an even measurable fraction of the number of C++ users.


BDFL neither scales nor perseveres. People have multiple things competing for their time and attention. They get old. They probably want to retire eventually. Eventually they die. If you want something to last more than a decade or two, BDFL is a poor choice.

Linus stopped scaling sometime in the late 90s - 00s. That's when lieutenants took over more authority, and a more or less informal line of succession formed. BDFLs can promote their own replacements from trusted collaborators who share the vision.

For that matter, Python gave up on BDFL something like 8 years ago.

> BDFL neither scales nor perseveres. People have multiple things competing for their time and attention. They get old. They probably want to retire eventually. Eventually they die. If you want something to last more than a decade or two, BDFL is a poor choice.

Well I mean you're just wrong, you can look at any of those languages (or https://en.wikipedia.org/wiki/Benevolent_dictator_for_life). Python is over 30 years old and it's going fine. You don't see people ragging on Guido everywhere. But everyone pokes fun at the C++ committee and the wacky shit they cook up.

Design by committee just sucks. Coordinating and working with people is expensive, and a drag. If you have to, you have to, but for many projects you don't and shouldn't. An individual's design is always going to be more cohesive, and we can see it clearly looking at PL history IMO.


> Python is over 30 years old and it's going fine. You don't see people ragging on Guido everywhere.

Guido stepped down from that role 8 years ago. It now has a 5-member steering council along with the core developers as the primary maintainers and decision makers.


Also, Guido stepping down had a lot to do with people starting to rag on him everywhere, which in turn related to him endorsing a language feature (https://peps.python.org/pep-0572/) that he'd previously rejected (https://peps.python.org/pep-3099/).

That said, I'd agree with GP that design by committee does suck and I'm not impressed with several of the decisions the SC has made since.


> Or you do the BDFL model like Python, D, Zig, Odin, etc.

Python doesn't have a BDFL[1] and the others are toys.

1: Guido stepped down in 2018 and stopped involvement entirely in 2020 after an extended conflict with the community at large over PEP 572


When people talk about "toy" languages they usually mean something that it meant to be played with or learned from. D, Zig, Odin etc. may not be as mainstream or used in industry to the extent Python and C++ are, but they are nonetheless serious programming language projects.

> Python doesn't have a BDFL

Thanks, I relinquish that point and accept it as a success story for BDFL succession instead.


Is using Codex through Pi allowed? I've been a Claude user, but a lot of the things mentioned bother me as well. I see it constantly make mistakes due to (simple) shell aliases, etc..

Not sure I'll actually switch but I'm curious. I've thought about trying to build my own harness and use Codex usage to work through it without spending a fortune on credits.


Yes, you can use your Codex subscription with Pi without any limitations. It supports Codex out of the box. You may need to install extensions for things like tracking usage and limit resets though. Pi only provides basic Codex integration.

Anthropic's subscription is the one that has historically been tough to use with other harnesses, where they have (had?) technical safeguards to ensure your subscription usage was limited to Claude Code CLI, with third party harnesses often implementing workarounds or faking it to use your Claude.ai subscription. Nowadays Jetbrains Air does officially allow using your Claude.ai subscription.

But OpenAI's subscription has seemingly always been available to use in other harnesses without trouble.


Yes. You can and it's easy to test. I'd also encourage you to try local models with it as well.

Pi/opencode apparently make 10% already of all traffic already:

https://manifest.build/blog/chatgpt-plus-tokens-third-party-...


This, IMO, is one big selling point of Codex for me. The are much more accepting of usage outside of the Codex harness, and make it trivial to set up.

There is no stick unlike Anthropic (along with insisting on signing commits and "don't abuse the robot" the reason I started to use OpenAI instead of Anthropic --- not that I am under the illusion they are any less evil overall) but I think now there is starting to be a carrot towards Codex usage since there sessions are "cached forever". I assume if you use Pi you get 12 hours of cache instead.

Yes and no. Any harness can use the subscription but must go through `claude -p` mode, which is more limited.

Why do you need to use claude to use a codex subscription with pi?

He assumed the original commenter meant claude, because Anthropic's the only provider that imposes the strict limitations on subscription use.

Using your subscription in 3rd party tools is explicitly allowed for Codex, and disallowed but not really enforced for Claude. There are extensions for Pi that allow you to log in with your Claude credentials, Codex is iirc even built-in.

Yes, it is allowed and supported normally by pi and others.

It really annoys me the rust library is named “GPUI”. That’s the name of this method that’s been used for eternity by games.

It’d be like naming my http library HTTP.

And it’s why Dear IMGUI isn’t just named “IMGUI”.


Yeah fuck that. If they fail, they fail.

> Yeah fuck that. If they fail, they fail.

Yes. Personally I'd prefer the US government get its stake from a bankruptcy court for pennies on the dollar.


> because it wasn't actually running PHP

Yea and no, I mean it was an even worse setup than typical, probably because the person setting it up didn’t have php experience or used an LLM that misinterpreted “route requests from nginx to php” or something too literally and set up a hacky solution.

But my impression isn’t that they set it up in some cheeky way to avoid exploits, it looks like they just asked for nginx to be in front.

And is “hacked in two hours” fair if they had to make it easy for people because their noob setup ended up not being exploitable?

Let me know if my read of what happened is wrong.



The problem with doing apps on the web is the DOM. It’s wild how much complication browsers will add instead of just adding a new UI rendering method/substrate that doesn’t inherit 30+ years of legacy (remember web apps didn’t even exist for like 15 of those).

The DOM is a slow annoying pile when you want to make actual applications.


Those who do not learn the DOM are doomed to reinvent it, just worse.


Look at GUI toolkits going back to the 90’s. The DOM and web development were an accident of history


The G in DOM stands for Graphics.

Which GUI toolkits over internet do you refer to?


> Which GUI toolkits over internet do you refer to?

My point is there is no GUI toolkit for the browser and there should be. They should stop trying to morph the document object model into a platform for delivering applications, let it do documents, and give us something else/new. It'd also be the proper path to the new thing having accessibility support. Instead people raw-dog the GPU for UI and you get no screenreader support.

What they're doing here is a half-assed attempt: letting people draw but using the DOM for accessibility. The worst of both worlds I guess?

Our only hope is for AI to supplant screen readers, and then we can just ship WebGPU apps.


Remember when looking up a restaurant online loaded a full screen flash movie with an outdated menu and loud music you could not stop? The reason why we abolished everything else apart from the DOM was that as soon as we had anything else it just marginalized the open web by not being flexible and adaptable. Active X controls, Silverlight, Flash and Java applets all did more or less what you are requesting while not being fit for mobile.


I don't see how Canvas or WebGPU is any different. People want a way to write high-performance UIs without all the complexity/legacy of the DOM. It makes everything more difficult, and because it makes things easier for browser developers isn't a valid justification to make the user experience worse. The users should drive the technology. I'm sorry this architecture you built almost 30 years ago isn't adaptive enough to meet the needs of your users. Instead they should create a new one for this use case (GUIs/applications) and keep it focused on documents.

> isn't adaptive enough to meet the needs of your users

I imagine if this conversation continues this will be quoted and argued against. My point is that it's not working well. People find workarounds to do amazing things with the browser, but they shouldn't have to. Give developers what they've wanted for 15 years. The various committees and working groups keep missing the mark, by a lot. See WASM, WebGPU shader language, etc., etc.. I'm sure it's more complicated than I realize, but if all you do is fail and disappoint, maybe your governance model and the people involved need some adjustment. Is anyone happy with WebGPU? Is anyone happy with Web Components?

/rant


> The DOM is a slow annoying pile when you want to make actual applications.

Can you be more specific? Because to me the DOM is one of the simplest conceptual representations of UI one could imagine, a tree of nodes.


Also, the language just isn’t suited well to making games. Can anyone point me to a successful Rust game? Bevy game?


The Gnorp Apologue (https://www.reddit.com/r/rust/comments/18ul125/writing_a_gam...) has done pretty well.



Successful as in they completed building the game, or successful as in lots of copies sold?


I've been playing around with RealityKit (https://developer.apple.com/documentation/realitykit) lately, it's their SceneKit replacement (they deprecated it this year).

On tvOS if a frame takes too long it just starts skipping frames and runs at 20 FPS. It won't recover after it happens. ThermalState is .nominal, so it's not that. There's also no way to just say "render as fast as possible" so you can measure performance, instead every device does throttling/pacing and it's completely opaque.

Anyway, I've had a developer account for 10+ years, and run into stuff like this constantly where you just can't get things to work properly. The framework isn't used much, so it's probably just broken.

I ported the game to SDL3/Zig and wouldn't you know it I can run continuously at 60 fps.. It's disappointing because I'm on board with targeting a single platform if I can utilize the hardware more effectively and make something special with it. But instead it's constantly an uphill battle of dealing with the opaqueness/brokenness of the platform. If I open a feedback request I'll probably just get told it's a bug, and maybe they fix it next WWDC.


You can most certainly render “as fast possible”. You are probably using a CAMetal layer render target with a delegate that is vsync’d to device refresh. You have to roll your own delegate or render target instead. Apple has a sample project in the Metal framework on how to do this.


Also, the threat to privacy. If I turn on iCloud Private Relay I get bombarded with CloudFlare captchas. It’s so annoying I sometimes turn it off just for that reason.

Having some all knowing entity running the internet has a lot of downsides.


This is something the owners of the website can configure. Private relay actually uses Cloudflare exit nodes, but if the website owner decides to configure their site with maximum protection, captchas is what you’ll get.


There are two caveats though:

1) users gave to configure this and not all will 2) you have to trust Cloudflare


They are using Apple private relay; they are already trusting Cloudflare.


And that's the other thing - how can you be sure which parties you have to trust to use a service? We, tech people can sometimes figure it out. The normal consumer doesn't really have a chance.


I run iCloud private relay and I get very few of their captchas. Actually, I think they are concentrated on just a couple of sites.


Yeah, it’s practically every website for me, and sometimes even on my bare IP.


Guidelines | FAQ | Lists | API | Security | DMCA | Apply to YC | Contact

Search: