HN user

qwtel

316 karma

<https://qwtel.com>

<https://hydejack.com>

<https://sqliteviewer.app>

<https://workers.tools>

<https://news.workers.tools>

Posts9
Comments151
View on HN

In my view it's the other way around. If you stick to a state machine for your app logic, you'll end up with an unintentional half built reimplementation of a general purpose programming language.

The fact these state machines aren't the mathematical constructs from CS, but "extended" versions with "context" (this is where all the actual app state goes), should be the giveaway that they aren't a sufficiently capable model for the demands of UI programming. After you add extensions for every possible need, what do you end up with?

I understand the appeal though. UI development is a complicated mess, and people want a formula to make sense of it all. I've went through several iterations of these cookie cutter patterns form MVC to MVVMC++ to flux to redux to redux-saga to immutable.js to Recoil and so on. At best these marginally improve the situation, at worst they end up adding complexity on top of the inherent mess.

At the risk of missing out on the One True Way of doing UI development, I'll pass on this latest installment. I keep open the possibility that state machines "marginally improve the situation" though.

Just awful. 10 years in the making (if you can call endless bikeshedding committee meetings the "making" of anything) and still barely usable.

It offers nothing in way of ensuring that custom elements behave like builtin HTML elements. Half the elements I've come across will break or perform no-ops when you update an attribute or set a propety after it was attached to the DOM. Nevermind detaching and reattaching to the DOM, which will break virtually all of them (including my own sad contributions to this space).

The exception to this are those built using a 3rd party library like lit-element or stenciljs, which fill in the obvious omissions of these specs. Perhaps in another 10 years, a mangled version of half of one of them can be standardized? In the meantime, each component shipping its own frontend library or inlining the same core functions over and over again does nothing in the way of interoperability. You can bundle every popular JS framework and mix their components today. The reason you don't do it then or now is bloat, not the lack of a minimally viable shared component interface.

Besides, if you're going to use a 3rd party library and associated bundler/compiler, you might as well pick a good one such as React, Vue, Svelete, Solid or even jQuery UI. Using any of these, you can design and build an entire app faster than the bikeshedding commissars from goog and aapl can agree on whether "open" or "closed" should be the default for attaching a shadow DOM (at the risk of ruining the joke: there was no agreement; the developer has to provide a value in each instance...)

I've once built a vscode extension. I didn't expect much, but was still suprised at the complete lack of feedback, reviews, etc. despite many downloads. One day I've added a popup asking for reviews. Virtually all my reviews come from the period I've left it up. My takeaway was, letting people know what to do goes a long way.

Routed Gothic Font 4 years ago

I suggest opening the dev console and adding "text-transform: uppercase" to the body element which makes it more obvious that it is in fact the same font as in the 1970s drawing. It also makes it look less ugly, in my opinion.

I've been wondering if non-turning complete languages might be the way to go for many smart contracts, which often resemble vending machines more than what general purpose languages are used for. Those should be captured by pushdown automaton or even a finate state machine and the corresponding languages (but except from regex, I'm not really aware of any..).

My CS knowledge got really rusty, but I think it should be possible to put tight bounds on the computational cost of these, as well as statically guarantee that certain states cannot be reached, both of which would be very valuable in this case.

The Deno Company 5 years ago

There's lots of things going on this this space. It seems every other day I discover another Cloudflare Workers-like implementation (granted, most of them are for testing/development). I'm cataloging them here for anyone who's interested: https://workers.js.org

One can make the argument that Beat Saber is the #1 use for VR right now. It not only tops Oculus' Top-Selling list by a comfortable 3x margin (assuming # of ratings are a good proxy for sales), but also the Most Popular section, ahead of YouTube, Rec Room and VR Chat. These are social (media) apps that are free, while Beat Saber costs $29 + additional in-game purchases. It's crazy how popular this game is within its niche. It's like a paid, single-player game had more downloads than WhatsApp on the App Store.

It's no wonder that Facebook gobbled it up years ago. Any Quest competitor that comes without Beat Saber is going to be though sell, and I assume that it would be strategically missing from any future Apple VR Store...

Something I do sometimes is launch Chrome with

    --disable-web-security --user-data-dir=tmp
This disables almost everything that's annoying during development.

Of course you have to remember not to use this browser for browsing during and after development, which is easier said than done.

More of letting my imagination run wild than real predictions:

* Fixation with tesla bankruptcy morphs into fixation with tesla breakup as it becomes the most valuable company in the world.

* SpaceX is a telecommunications giant, making Elon the richest man alive by a factor of 2.

* More than his wealth, Elon's cult of personality starts to raise eyebrows in washington and beyond.

* Elon is forced to move into politics, as a) he can't defend his businesses otherwise, b) it becomes evident that he can't realise his visions without state power.

* Elon continues the trend of his predecessors (trump and some unknown populist in 2024) to wreck havoc on the American system.

* However, he does succeed in reuniting the US, as his brand of green techno evangelism and cosmic evolution speaks to both rust belt and hyperliberal cities.

* His primary focus then becomes destroying American elites as he rationally and correctly identifies that they are the main obstacles to his vision (the joke goes around that Elon is the AI he warned us about)

* Elon remains the de-facto leader after his 2 terms in office and Shotwell becomes the first female president.

Other notes:

* Elon indirectly commands a private militia of mostly 20 year olds, who found each other and organize via the internet. By 2026, this is not unheard of. They frequently clash with other militias.

* NY and SF have a social credit system (implemented by the same companies that built it in China). Spying on neighbours is commonplace, as is being sent to reeducation at a former collage campus. Anyone who wants a career accepts this as cost of doing business. Many careers are ended by false allegations.

* Events in China will change everything above.

Comic relief:

* Joe Rogan serves in a communication role in the Musk government.

* Alex Jones is the only one who warns early about a Musk dictatorship. He is ridiculed by everyone. It doesn't help that he thinks Musk is a literal alien.

I think about windows 95 at least once a month, wondering why the web apps I work on still can’t match it in terms of performance and usability, never mind resource utilization.

One thing that has been a staple since win95 days is the ability to resize windows, sidebars, columns; almost everything, really. Rarely is this found on the web today, or so poorly implemented that it’s thrashing the UI thread when one or more resize callbacks are triggered. Even without that, layout + painting alone would probably lose the race against 95 UI tech.

Another “legacy” UI that stood out to me is blender. It looks decades old (until it was revamped recently), is probably a hodgepodge of C/C++ but stays smooth as everything can be resized even on dated hardware.

I can’t help but think that the UI engineers of old were a much more professional bunch, and that the field has mostly regressed since then.

I agree that they do look cool. They remind me of euro notes but turned up a notch or two.

But I'm wondering what made you decide to go with the generic greek bust heads? Missed opportunity to depict some cryptography and computer pioneers imo.

fromEntries(), aside from the symmetry with entries() is a really neat feature.

For example `Object.fromEntries(new URLSearchParams(window.location.search))` will parse a query string into a nice JS object. This works because the iterator of the search params class returns tuples.

What is already available today is `new URLSearchParams(Object.entries(params))` for turning a "params" object into a query string.

Nobody cares about freedom of the press because they are well paid and comfortable

that's because freedom of press and similar rights are a uniquely western phenomenon that are --- despite what droves of its proponents will tell you --- derived from christian values that didn't and don't exist anywhere else.

Many in the broader region don't care about freedom of press, while also being poorly paid and uncomfortable. No placation of masses needed.