HN user

bmuon

792 karma
Posts3
Comments178
View on HN
My First CSS 5 years ago

This makes me very happy.

As a frontend engineer who started 15 years ago, learning the box model required a lot of knowledge of the internals of the browser. The times of having to know things like quirks mode, abusing overflow hidden [1], how to break the behavior of float, etc are long gone. This is great both for us having to struggle less, and for the newer generations to be able to tackle harder problems than just layout and build cooler stuff.

[1] https://css-tricks.com/clearfix-a-lesson-in-web-development-...

I am convinced that if react really wanted to, they could make optimizations to make it really close to svelte

Facebook has been working for a while on Ahead-Of-Time compilation for React. Interestingly, it looks like they thought the problem was too complicated and they gave up:

To address this challenge we initially experimented with one approach to ahead-of-time (AOT) optimization — Prepack — but ultimately that direction did not pan out. Specifically, we realized that many AOT optimizations don’t work because they either don’t have enough global knowledge or they have too little. For example, a component might be static in practice because it always receive a constant string from its parent, but the compiler can’t see that far and thinks the component is dynamic. Even when we could make optimizations work, we found that they were unpredictable to the developer. Without predictability it was hard for developers to rely on them.

Instead they're now experimenting with moving the virtual DOM resolution to the server and avoiding sending all the "templating" code to the client, which achieves a similar result. See https://reactjs.org/blog/2020/12/21/data-fetching-with-react....

Yes and no.

Browser differences are mostly disappearing, they have gained some very good APIs are CSS has gained significant layout capabilities with grids and flex. So the need for libraries like jQuery for dealing with DOM differences is disappearing. New standard libraries like Intl and now Temporal make libraries like Moment obsolete.

The web is also gaining a component model with Web Components that will help you get some level of sanity when building some mildly complex reusable stuff. This is probably very good for content heavy sites, which make the majority of the web.

The other part of the web is applications running on top of the Web platform. Those still heavily benefit from frameworks. Having some amount of sanity when managing state is very much welcome. And functional programming models have proven that a declarative way of approaching UIs is much better than dealing with browser APIs imperatively.

So for some years frameworks will still be useful for certain use cases. For the others, we should be embracing Web technologies. Maybe with some light libraries like Stencil and Catalyst.

You don't need a zoned date. You can invert the question and ask if a zoned datetime falls within a plain date.

Temporal is very well designed thanks to building on years of prior art. Give it a try and you'll realize that it leads you to ask those questions the right way.

Highly debatable. In fact, trying to classify it as a dark pattern may derail the very valid discussion that the FTC is trying to have. There are significantly worse patterns out there. See [1].

What the push notification pattern is, is annoying. And it is specially annoying because of a prevalence of confirmation dialogs all over the Web with GDPR/CCPA, paid subscriptions, etc. But does it cause harm or monetary loss as the sneak into basket pattern? Or the opt-out unnecessary "insurance" that airlines continue to put in the checkout flow?

We do a disservice to ourselves littering the web with these constant asks. But it's not what needs regulation and enforcement.

[1] https://www.darkpatterns.org/types-of-dark-pattern

It's not just about security. It's also about democracy. Who can verify that a voting system is secure? Only software engineers. And to be honest, only a small subset of them. Your own comment hints at that. Paper ballots allow anyone to verify the results of an election. It's supposed to be a universal process that everyone can be a part of.

The parent-child problem you mention can be addressed with names. Children can say "grid-name: footer". This is just a hint for the parent to decide where to place it in the grid. Then the parent can use grid-template-areas to arrange its children. You no longer need to change the children if you're adding columns to the layout.

(I agree with you on this simple layout)

I'm surprised there's so many comments here about demographic data while that's only a really basic view into current ad tech. Since the late 2000s ad networks have invested heavily in retargeting [1]. It's quite common that people end up in a vendor, add something to the cart and never finish the transaction. Retargeting attempts to catch behaviors like that and adjust to display the items that the user showed interest in. I haven't been in that industry in years, but in the 2020s I can only expect much more nuanced systems based on ML. And everything falls apart without being able to keep a history of what you do and who you are.

[1] https://en.wikipedia.org/wiki/Behavioral_retargeting

While it might be true that the temperatures of rocket fuel burning are enough to create plasma and some reactions that lead to mass turning into energy, I think Jabavu is right in that the energy comes from the chemical reaction, not from E=mc2.

I'm seriously concerned about this. "Self-driving" is not a library that you get from Github and just dump it into your car. Waymo has been doing this for a decade. Do GM's claims mean that Waymo's experience doesn't matter much or is GM actually going to cause real world accidents by moving too fast?

You can't handwave your way through a math exam

This reminds me of a calculus exam a long time ago. One of the problems was "given the ellipsoid define by formula ______ and a certain line, find the point in the line closest to the ellipsoid". The goal for this problem was for us to use Lagrangian multipliers and I hadn't studied that one particular subject. However... They made a mistake writing the exam. The ellipsoid was symmetrical, its intersection with the xy plane was a circle and the line was also in the xy plane. I only needed high school math to successfully handwave it. Lots of facepalms from my TAs.

You seem to be talking about humans, not life in general. Human evolution still happens, but selection is not based on adaptability but on societal rules. And then we're going to start messing with our own genes and things will get more complicated.

You would need to use Service Workers to use that header the way OP wants it, since he wants to have the HTML page decide when the resources of that page need to become stale. Fingerprinting resources with the hash of the content works a lot better for that.