HackerTrans
TopNewTrendsCommentsPastAskShowJobs

stillkicking

no profile record

comments

stillkicking
·vor 3 Jahren·discuss
It's not a caricature if it's taught at supposedly elite institutions of education, into which admission is contingent on a declaration of adherence to said ways of thinking.
stillkicking
·vor 3 Jahren·discuss
Even if that were true, I'd still not put any faith in the empathy skills of people who use e.g. "incel" as a slur, who claim "it's okay to be white" is hate speech and who call arson, vandalism and looting "mostly peaceful protests" because the in-group did it.
stillkicking
·vor 3 Jahren·discuss
Spanish-speaking non-binary people are hopefully not so stupid as to conflate a lack of appetite to rewrite the entirety of Spanish grammar with a refusal to acknowledge someone's existence.
stillkicking
·vor 3 Jahren·discuss
The issue I have with WASM is that its threading model is basically the web-worker model: each thread has to have its own module and can only communicate through pure data via shared memory.

TS/JS can do a lot these days, but threading is its achilles heel. Mechanisms like green threads and fast n-way dispatch for parallelization are basically still out of reach.

You can emulate some of this with WASM and worker pools, but it seems like you'd need a fair amount of boilerplate to actually make that work properly. And if you want to interface with native web APIs, you're stuck with the same limitations.

e.g. You can share memory with a web worker, but if you want to pass handles to resources around, you are extremely limited and it requires a custom approach for each particular API.
stillkicking
·vor 3 Jahren·discuss
Twitter hired tons of employees since 2020 so the apparent massive layoffs simply weren't. And there is a lot of dead weight at tech companies regardless.

Political pundits had a direct interest in sabotaging the perception of Twitter as an authoritative source of new information, and the coordinated attempts to get advertisers to pull out early on also point in this direction.

The reason they aren't talking about it anymore is because, by and large, this plan failed, and those predictions weren't predictions but wishes. Some groups slinked off to Mastodon, which works for niche communities, but doesn't work for the site at large.
stillkicking
·vor 3 Jahren·discuss
>React doesn't provide a systematic answer for handling state in apps if data is flowing up, down and sideways

So let's first back up and recognize that this earlier statement was flat out wrong. React does provide a systematic answer for this.

Second, not only does it have a systematic answer, but it memoizes quite well because React will not re-render children if the `children` prop is identical to the previous render, even if you don't use `memo()`. This means it is quite cheap to have context providers update, even if you nest 2 or 3 of them.

The big issue with React in my experience is just that developers are lazy af and will stubbornly refuse to read even the tersest of docs even if they are encountering a new paradigm, like declarative and reactive UI. The result is a giant spaghetti mess of their own creation, which they then blame the framework for.

You can make React fast and you can keep it clean, all you have to do is topologically sort your data by the frequency of how quickly it changes. That's it. That's the trick.
stillkicking
·vor 4 Jahren·discuss
One thing I find funny is the problem of data loss. On macOS, it's been the norm for years that applications retain their state when quit and re-opened, including unsaved documents.

While weird when introduced, in hindsight this is exactly the right behavior, because it is the most user-friendly and it makes e.g. software updates a non-issue. Even apps like iTerm can be updated and restarted in-place, retaining all the sessions.

It's a testament to how bad Linux UX still is that this sort of idea is not only utterly alien, but instead some developers thought it was acceptable to kill running apps outright.
stillkicking
·vor 4 Jahren·discuss
This injected CSS will remove the popup:

    body article.newsletter-post.post .subscribe-dialog,
    body article.newsletter-post.post .subscribe-dialog-scroll-modal-scroll-capture { display: none !important; }
Isn't it sad how phones have normalized the idea that you no longer have control over the webpages you read? It's not like this was even necessary, it's the exact same browser, just with a dumber front-end.
stillkicking
·vor 4 Jahren·discuss
I don't really care about Elon Musk as a philanthropist or not. He's like a one-man Apple in that way.

But.

- The environmental problem with electric cars is undoubtedly due to the batteries, both the manufacturing and the fact that the cars are much heavier as a result. But the idea that without electric cars more people would choose for alternative modes of transport is a bit dumb. The cars are inherently luxury vehicles, and in many places, the infrastructure isn't there for a low-car/car-free lifestyle.

- You don't need hyperloop to derail high-speed rail investments and projects. Simple bureaucratic ineptitude and red tape will do that. Like that story of how SNCF pulled out of California and went and built trains in Morocco instead, which was cheaper and more efficient.

- What's a huge technical liability is a bloated govt space agency that takes decades to deliver projects at 100x the cost of what a commercial vendor can do, while all the people who originally built the tech are retired or about to. And all that cost isn't just money, it represents an enormous amount of time and resources spent. Chastizing SpaceX for rejuvenating the space industry seems pretty ridiculous.

It seems like you're just taking Musk as a convenient target to blame, because he should spend his resources more "wisely", but each of the examples you cite is actually due to an enormous systemic ineptitude elsewhere.
stillkicking
·vor 4 Jahren·discuss
Hello. I am rational developer. I am very clever and very rational. Devoid of emotion. Oh what is this? Someone implies that there are objective standards of quality in a field I know little about? Someone who has used something for decades to do deep work, and has built up deep experience, implies they know better than Joe R. Random, or the people who are currently maintaining it? What is this bubbling feeling in me? Insecurity? No way. I am rational. Therefor these opinions must be objectively stupid and purely based in taste and emotional and wrong. I can tell because the author used a swear word, and swear words mean they are angry and thus incorrect.

Two can play at this game.

Just from a visual balance point of view, the new settings panel doesn't remotely match the intent of Aqua UI. The fact that they are then putting scrollable panels in the _middle_ of a _side_ of a window, with a sticky part both on top and at the bottom, shows you they don't particularly know where shit should go.

Making changes for the sake of making changes is by itself pointless busywork. But ignoring the established practices of desktop UIs to make them more in-line with touch UIs is destructive.
stillkicking
·vor 4 Jahren·discuss
This is why you should never finalize specs until you've written the documentation for it.

If it sounds stupid when you say it out loud, it _is_ stupid.
stillkicking
·vor 4 Jahren·discuss
A node.js back-end.
stillkicking
·vor 4 Jahren·discuss
This is a detail, but it's imo illustrative of how refined Apple UI is and how easy it is to get it wrong.

The design of how the Dock scales and animates follows a very simple principle: if the mouse is outside the dock, and you move towards an icon vertically, entering the dock does not shift that icon around. Because that would make it feel "jello" and uneasy, like this imitation.
stillkicking
·vor 4 Jahren·discuss
Scrollbars are actually a real pain to implement.

- you first need to lay out the scrollable content normally, without a scrollbar

- then you need to detect whether it spills over, and whether a scrollbar is needed

- if so, you need to lay out all the content again, in a slightly smaller area

- if the content ever shrinks, you need to detect this too

- and if the content only _just_ fits, then it is possible that without a scrollbar, it doesn't need a scrollbar, but if there is a scrollbar, it needs to be scrollable. Chicken and egg.

This is actually pretty nasty to get right. Now factor in layout models like flex box, which also require part of the content to have a "pre layout" pass done in order to estimate "natural size", and it can get quite gnarly. And if you want to mix vertical and horizontal layouts... oof.

I got an equivalent of HTML/CSS box+flex working in Use.GPU but it took plenty of iteration.

I think the lesson here is that UI is always more complicated than you think. There are countless little tricks and mechanisms that you would only ever notice it if they didn't work. When they do, it is so "obviously" right you literally can't tell.

(As an aside, whoda thunk that a generation raised on participation trophies would be easily triggered???)

(Yes this is an alt)
stillkicking
·vor 4 Jahren·discuss
stillkicking
·vor 4 Jahren·discuss
- Make vague generalizations about white people, men

- Blur the distinction between non-credible fringe groups and some of the most credentialed institutions around so you can play the underdog

- Ascribe all actions taken in name of minorities as the express wishes of those minorities, even if they are ineffective or destructive

- Frame it as redress for hundred years of "history" (read: the specific grievances of North American colonialism)

- Wrap it all up in a blue=good red=bad American apple pie with a Trump bow while simultaneously deriding others for being too set in their ways

There are colleges that are demanding _diversity and inclusion loyalty pledges_ with adherence to a _specific socio-political agenda_, and you think "science is political" is just stalling from people who have lost perspective?

The American left is insane and delusional.
stillkicking
·vor 4 Jahren·discuss
stillkicking
·vor 4 Jahren·discuss
It's only a spectator sport if you're not downstream from those changes though.

I also think ageism is only part of the problem, it's stubbornness in general. Even if you're younger, it's difficult to translate hard-earned experience into respect because many engineers are infatuated with their own designs and algorithms. I've had people reject my advice even though I literally worked 2 years on app dedicated to solving that specific problem we were having. Of course they had egg on their face at the first demo. And they're still using that broken code.
stillkicking
·vor 4 Jahren·discuss
*is a game developer with a particular focus on "RETVRN TO TRADITION" where anything that isn't super lean-and-mean is bloated and inefficient and ridiculous, and only exists because web developers are misguided, miseducated, etc. WebRTC could do what he wants, but then he'd have to build a WebRTC->pure UDP gateway.

I can sympathize, but, even in the original discussion on Twitter it's clear he is ill-informed of the relevant security fiascos that made all these complicated protocols necessary, or the messy legacy constraints they must operate under. Infrastructure is not magic, and tying together e.g. application-level concepts with DNS-level concepts would be a recipe for misery IRL.

I also find it funny he considers the string/text-based parts of HTTPS to be unworthy of a secure protocol, when in fact, the whole reason that approach is considered so dangerous is because of programmers with his attitude who underestimated the difficulty of secure parsing. The niche of "LangSec" is all about solving this problem properly by treating input processing as a formal parsing problem with formal grammars.
stillkicking
·vor 4 Jahren·discuss
Thesis:

>The application event loop coalesces these damage rectangles and initiates an optimized operation: it only redraws views whose bounds intersect the damaged region, and also passes the rectangle(s) to the drawRect:: method. (That's why it's called drawRect::).

So, according to this, you need an explicit run-time mechanism to optimize the interaction of parents with children, with some form of coalescing.

Antithesis:

>This is another reason why it's advantageous to have a stable hierarchy of stateful objects representing your UI. If you need more context, you just ask around. Ask your parent, ask your siblings, ask your children, they are all present. Again, no special magic needed.

...except here, where OP says you don't need any special magic to deal with parent/child relationships: just reach up/down/left/right and do your thing!

Synthesis:

The reason one-way data flow became so popular is exactly because the second view is a trap, or at least, a local maximum. If you are really doing complicated orchestration in your hierarchy, then you will end up reinventing the first wheel, to avoid expensive/inefficient parent/child/parent thrashing cascades.

React does in fact have a good solution for this, in the form of contexts. These also allow you to reach up and go talk to parents, in a controlled yet composable way. The way I describe them is "singletons but with scope". An underappreciated benefit is that you can extend a parent context and pass it down, replicating some of the benefits of inheritance, without the messyness of subclasses.

Where React falls short is that parents can't respond to children without re-rendering themselves, which ironically makes implementing e.g. nested tree widgets hard, even though the result is all tree-shaped.

Functional effect systems which can re-join after forking, and gather yielded values, do not have this issue, and I wish React would explore this avenue instead of the all the React 18 stuff they've been doing lately... it feels too much like they are leaning into the same Facebook "dumb read-only UI" style that the article correctly laments. They are straying away from React's original appeal, which was that it was "just the V in MVC", and instead becoming very opinionated on how server side and client side should be combined. Meanwhile the challenges of how to replicate complex legacy desktop UIs remain mostly unaddressed, with the official advice about event handlers, state and effects falling short by a mile.