HNHacker News
TopNewBestAskShowJobs

simplotek

1,581 karma · joined October 22, 2022

submissionscomments
simplotek··on JavaScript import maps are now supported cross-browser
> (...) but languages with a better standard library seem less affected by dependency hell.

Let's ignore the hand-waving over what "better standard library" means.

Dependency hell has zero to do with standard libraries, and is exclusively related to modularity. If your language supports third party modules that can depend on third party modules, you have dependency management. Managing dependencies so far is hell, no matter how you go about it.

simplotek··on Scaling up the Prime Video audio/video monitoring service and reducing costs
> The post literally says that they could hit only 5% of the expected workload with their server less architecture, so IMO it is still quite negative.

Emphasis on "their server less architecture". Sometimes good tools are used poorly.

For example they describe a high throughout workload, and each workload spread through a bunch of lambdas that handled bite size bits of the workflow. Also, they managed the workflow with step functions. Just imagine the number of network calls involved to run a single job, let alone all the work pulling data to/from a data store like S3 into/out of a lambda. I'd guess the bulk of their wall time was IO to setup the computation.

Of course you get far better performance if you get rid of all these interfaces.

simplotek··on Scaling up the Prime Video audio/video monitoring service and reducing costs
> I'd be surprised if this doesn't get taken down as it casts AWS lambda in an unfavorable light (and rightly so).

The article mostly lays the blame on step functions. Also, lambdas are portrayed as event handlers that don't run relatively often. This means long running tasks that are ran occasionally, or events that don't fire that often. Once throughout needs go up or your invocation frequency comes closer to the millisecond then the rule of thumb is that you are already requiring a dedicated service.

simplotek··on JavaScript import maps are now supported cross-browser
> This is JS. Dependency hell is par for the course.

Is there any programming language that does not suffer from dependency hell?

simplotek··on How to Design Programs 2nd Edition
> In this case, nothing particularly meaningful or useful

You're either playing dumb or weren't able to understand what was in the code. IHelloWorldString is an abstraction over the way the string was implemented, IPrintStrategy is a strategy pattern that abstracts away how the abstract hello world string is supposed to be printed, and finally IStatusCode is an abstraction over how a status code is implemented.

> they mostly just shrink wrap the underlying (single) implementation's details and re-expose them as-is for the caller to cope with.

No, not really. Their purpose is to abstract away implementations. Just because there's a single implementation that does not mean this wasn't abstracted away.

simplotek··on Microsoft broke a Chrome feature to promote Edge
> Why not give the user the option?

The users affected by this case were at the tip of a very long tail of unsupported user agents. Those who want to circumvent the issue can either upgrade or resort to tricks like faking user agents. The key take here is that we could not possibly support all browsers or the old version, so for the very rare cases we kept the lights on in a very old and unmaintained version of the app. In my company there was no sneaky ulterior motive, it was just that we couldn't afford maintaining obscure platforms that, even if we really wanted to, we couldn't possibly test.

simplotek··on Microsoft broke a Chrome feature to promote Edge
It sounds like it's plain old tracking, but pushed and owned by Google through it's control over Chrome.
simplotek··on Microsoft broke a Chrome feature to promote Edge
> Honest question, why is the privacy sandbox user hostile?

From the horse's mouth, "privacy sandbox" is explicitly designed "to build thriving digital businesses."

https://privacysandbox.com/intl/en_us/

At face value they claim it's designed to eliminate tracking techniques like fingerprinting, it's actually a system explicitly designed to collect the users' private information. From the horse's mouth.

"To provide this free resource without relying on intrusive tracking, publishers and developers need privacy-preserving alternatives for their key business needs, including serving relevant content and ads."

simplotek··on Microsoft broke a Chrome feature to promote Edge
> The fix? as simple as changing the browser's user agent to look like Android/Chrome.

I'm not defending Google here, but once I worked for a company whose web support strategy consisted of explicitly supporting a specific subset of browsers, and have a user-agent allowlist to pick if a request loaded the current version of the page or a legacy, feature incomplete but broadly supported version. The guiding principle was that we would have to draw the line in the sand regarding which browsers we'd cover in our test matrix, and instead of risking subjecting users who used unsupported browser to broken experiences then it was preferable that we assured they would experience an old but bulletproof version of it.

We started off by showing a "this browser is not supported, please upgrade" page, until some other department in our company complained up and down the org tree because they used thin clients with outdated browsers. Thus instead of showing a "please upgrade" page we fed the old version, and everyone was happy.

I see how this looks like intentionally feeding a degraded experience to subsets of users, but having been in a decision-making process that led to the same outcome, let me assure you there are real-world scenarios where this outcome does not originate in malice or any ulterior motive.

simplotek··on How to Design Programs 2nd Edition
> it's merely adding a bunch of public methods (and interfaces)

What do the interfaces represent?

simplotek··on How to Design Programs 2nd Edition
> How is gold plating the same as YAGNI? They're opposites, no?

No, gold plating and YAGNI are two faces of the same abstraction coin.

simplotek··on How to Design Programs 2nd Edition
> I think ORMs fit that bill. For some reason they were (are?) incredibly popular, but I don't think they stood the test of time.

I don't think there is any truth at all to this personal belief. In some domains it's unthinkable to use anything other than the standard ORM. In C# you'd need to be nuts to roll SQL by hand instead of using Entity Framework, and Django speaks for itself.

The only drawback of ORMs is that their promise is that developers don't need to learn the intricacies of SQL and SQL-related design patterns, but in practice developers need to learn the intricacies of SQL, the ORM framework, and the SQL generated by the ORM. Naive developers might believe they are better off reinventing the wheel with ad-hoc SQL stuff, but that's another problem.

simplotek··on How to Design Programs 2nd Edition
> The wrong abstractions can lead to coupling and complexity.

This comes to the old quote:

* "Make everything as simple as possible, but not simpler.” Albert Einstein.

Abstractions undoubtedly add complexity that quickly becomes unmanageable. By now everyone is already aware of the horror that's the enterprise version of Hello World, and YAGNI/gold plating are renowned antipatterns. Many codebases have already succumbed to the perils of premature generalization, where the good old rule of 3 of refactoring serves as a shield against it.

But still some developers succumb to the siren song of abstracting away things.

simplotek··on Implementing remote procedure calls – Birrel and Nelson (1981) [pdf]
Related discussion

* Writing a RPC from scratch (2021) https://news.ycombinator.com/item?id=35782902

simplotek··on Design a keyboard with Ergogen v4
Thanks for mentioning the Fnatic Rush G1 keyboard. It sounds interesting, but it doesn't seem to be featured in their site anymore.

https://fnatic.com/collections/keyboards

From the looks of their product page, I'm not sure what to think about their keyboards.

simplotek··on Writing an RPC from Scratch (2021)
By "covers" you mean "glances over". It means nothing if you just add a footnote mentioning the existence of failure modes.
simplotek··on Design a keyboard with Ergogen v4
> I've been too afraid of asking on Reddit. I'd love a split keyboard with an integrated trackball (...)

I'd already be happy if there were mechanical keyboards out there that offered USB passthrough to connect things like yubikeys, a trackpad or headphones. So far the only one I'm aware that has those is the Royal Kludge rk84, but I doesn't seem to be a popular choice.

simplotek··on New York to ban natural gas, including stoves, in new buildings
> The above is correct. Additionally, they even mention natural gas as a viable alternative in the abstract:

It isn't, and you clearly failed to read the paper because you're oblivious to its context. The "alternative" was open-flame coal and wood stoves, as well as querosene stoves, which cause extreme levels of indoor pollution and health hazard and are in widespread use in underdeveloped nations.

Natural gas stoves pollute less than open-flame coal and wood stoves, yes, and are therefore a preferable alternative. However, unlike your clueless claim, this does not mean that gas stoves do not lose a health hazard, or that electrical stoves are not far preferable. The WHO report refutes the bullshit claim that gas stoves don't present a health hazard due to the type and levels of indoor air pollution they create.

simplotek··on New York to ban natural gas, including stoves, in new buildings
> Not once have I ever felt ill or victimized because I had to cook on gas.

Your comment reads like someone swearing smoking has no health impact because they never felt ill or victimized for smoking.

Meanwhile, even the World Health Organization produces reports on health risks of household air pollution, where stoves are the primary pollution source.

https://www.who.int/news-room/fact-sheets/detail/household-a...

simplotek··on New York to ban natural gas, including stoves, in new buildings
> Your logic makes no sense. Make laws requiring landlords to properly vent gas stoves, not ban them altogether.

Read the article. Health concerns are an issue, buy they are not the reason why New York is banning natural gas in new constructions.

simplotek··on New York to ban natural gas, including stoves, in new buildings
> What's the purpose of an outright ban then? Why not just ban it from rental properties?

Read the newspiece before posting questions that you would have the answer to if you had read the first paragraph.

simplotek··on New York to ban natural gas, including stoves, in new buildings
> First, obviously regulation is a conspiracy. It will is a coordinated activity by multiple individuals.

Your comment goes way beyond being wrong. You clearly do not know a) what a conspiracy is, b) how standards and regulations are specified and adopted. You clearly are trying to comment on subjects you're entirely oblivious about.

> Second, none of this is an argument to ban natural gas appliances.

Except it does. Again, you seem completely oblivious to what regulations and standards accomplish. You're trying to reject well established concepts and mechanisms that you know nothing about, and filling in your ignorance with conspiratorial make-believe.

For your information, builders are also forced to comply with regulation on thermal insulation in particular and climate confort in general. Why? For the very same reason NY banned natural gas in new buildings: mitigate the environmental and economic impact of climatizing ineficcient, sub-standard homes.

> what is the harm? Is the harm acceptable?

I invite you to read the regulation. You are clearly commenting on stuff out of ignorance.

simplotek··on JavaScript private class fields considered harmful
> Of course it has, that’s what editions are.

They really aren't. Editions are just a mechanism to allow Rust developers to push backwards-incompatible changes as opt-in features. I repeat, Rust hasn't even went through its first iteration, and it shows a fundamental lack of understanding and insight to argue otherwise.

simplotek··on New York to ban natural gas, including stoves, in new buildings
> If you buy a home and want it to have a gas stove, why is it the state government's place to say that you can't do so, for your own health?

This is the wrong question to be made. You should ask what should be the safety standards you need to adhere to ensure health risks are mitigated.

The reason why this sort of thing must at all times be regulated, without any exception, is that the personal interest of a corporation investing in real estate by selling it off right away are not aligned with the interests of those who actually have to be exposed to the health risks created by said corporation.

To put it more broadly, just because you are ok with your home causing health problems to its occupants, that doesn't grant you the right to subject everyone around you to them, or even whoever will live in that house after you live.

To make it clear, let's consider doors. You might feel you have no use for a wide corridor and you're ok with custom narrow, submarine like doorways. Except that a wheelchair or a stretcher can't go through. Therefore thanks to your shortsighted and ignorant "why should the government tell me how to be safe" point of view, you needlessly screw over your future self and/or everyone that may possibly live there.

Regulation is not a conspiracy. Regulation reflects hard lessons learned with pain and suffering, and ensures that easily avoidable problems can be avoided easily. We learned lessons from fires and mobility constraints, and thus we have regulation ensuring each and every utility in your home is safe. Instead of having to reinvent the wheel each time anyone needs to build something, we only need to check what's the regulation and what are the constraints.

Air quality is starting to be noticed as a major health problem, specially with higher occupation densities, and thus we have safety lessons that need to be learned to avoid these issues. And no clueless naive spur of the moment bootstrappy individual has a clue about them. Hence the need to impose regulation, because these arrogant morons think they know best when they know nothing. I mean, does it make sense to risk our health just because an amateur didn't even wanted to bother doing his homework?

simplotek··on JavaScript private class fields considered harmful
> Honestly, in the last 13 years, many mainstream languages have gone through similar churn. JavaScript has gone through more than most, to be sure, but nobody complains about Rust or C# nearly so much.

Rust appeared 7 years ago. Rust did not went through any churn. Arguably, the first iteration hasn't even ended yet.

simplotek··on JavaScript private class fields considered harmful
> I agree. Private class fields seem totally unnecessary when you can simply "hide" functions and variables in a local scope and not export/expose it.

This is not true. Private members are a part of a class interface, while local/internal function/variables are not. They both serve totally different purposes. If you're using private members as a substitution to local/internal members, you're doing it in ways that are fundamentally wrong.

simplotek··on JavaScript private class fields considered harmful
> Really, what good reason is there to have data and behavior bound to the same object?

Behavior is the interface/messages supported by the object, and data is an implementation detail that should not leak.

What's wrong with that?

And why are you pinning the blame on a whole paradigm from a problem caused by how a feature was implemented in a language renowned for being fundamentally broken ?

simplotek··on Is Gmail killing independent email?
> They do: the test emails were never rejected, but never arrived in the test gmail account either. Not in spam, not in all mail, not in the inbox.

And that's fine because that's exactly what SPF/DKIM were designed to do. The spam folder is not a dump of true positives. It's the bucket where you train the filter by evaluating somewhat likely false positives.

simplotek··on 4chan and other web sewers scraped up into Google's mega-library for training ML
> No where else can you "get away with" saying something that you couldn't elsewhere, and suffer absolutely 0 consequences for voicing actually controversial opinions.

I'm not sure you fully understand the issue. 4chan is nothing special, let alone remarkable, with regards to "getting away with" saying something. It's just a popular spot and the only one you know. I assure you that there are a myriad of forums and chatrooms all around the web that have the same sort of contents and even worse, being exchanged. The key difference is that 4chan is the mainstream, generalist forum, and a huge one at that with millions of unique monthly visitors.

Claiming that 4chan is unique in it's content reads like claiming that Pepsi is a small unknown soda brand that is almost secret.

simplotek··on Is Gmail killing independent email?
> I've had to set up someone's mail server last year. All mails sent to gmail were silently dropped until we set up all the current buzzwords for the domain/email server. (...) Possibly we were lucky that "just" setting up SPF DKIM etc fixed it.

SPF and DKIM are nowadays the very basic methods used to verify if your emails are spoofed or not. Not having them in place is as good as setting up a spam farm.

← PreviousPage 2 of 26Next →