skysight-inc/HackerNews huggingface dataset:
Seconding the ask to reduce the space dedicated to the previous focus level (left of screen)
I agree with the author, but saying "best practice" in a group discussion is frequently used to make someone's position sound more official. "Industry standard" gets used the same way. Some people think that saying these things is like pressing an "I get what I want" button.

I have to fight the urge to ask for citations whenever I see someone pull out one of these chestnuts. Rather than be contentious, I just think about whether or not their argument needs the extra oomph of authority that they're trying to give it. My hope is that not rewarding disingenuity reduces its power.
I greatly appreciate that very educational link.

I must take exception though, as the American tallgrass prairie looks nothing like that photo. Checking wikipedia, that would be pretty indicative of perhaps the very thin shortgrass prairie from pretty far west (Colorado, Wyoming, New Mexico) where the cowboy lifestyle was prevalent?

Tallgrass prairie is gorgeous and very colorful.
Not even Hurd or seL4, but like... some binary runtime environment small enough to be audited at the machine code level, that could bootstrap something bigger, that could bootstrap a tiny simple C compiler, that could bootstrap GCC, that could then be used to bootstrap the most successful GNU kernel, Linux-libre.
Old news from two weeks ago now, but a good obit read of course, and here's the bulk of the discussion and tribute comments from HNers:

https://news.ycombinator.com/item?id=28554565
It's not difficult for a subset of the population who lack certain ties (or prefer not to keep close ties). Digital Nomading is obviously much harder if you've got kids to put in school, or elderly parents to check in on, or a partner who wants to keep their non-remote job, etc.

When I was in my 20s and put everything in storage and traveled for a while it was great. Now my wife and kid (and the grandparents who want to see the kid), etc would make such a move a lot tougher in a lot of ways.
"Even" here on HN?

Frankly, every time I read the comments on articles about COVID on HN I lose more respect for this community. Been here for years, but I may just leave and never come back.
That's funny, I always thought it was "I repeat myself when I'm distressed"
"Standards" cover what the system does. "Best practices" cover how it's done.

Best practices (generally opinions based on reasoning): language choice, KISS/DRY/YAGNI, linter rules, unit tests, static vs dynamic linking.

Standards (de-facto, at least): ISO, RFCs, PCI, and whatever is relevant for the industry the solution is for.
Covid is killing rural Americans at twice the rate of people in urban areas
Or take the Hololens2 as an example. That device earned Microsoft a $22B contract.

I think people will wear glasses for the experience. Two hand based AR is the future. We just need miniaturization at this point. By the time that happens, the software will be there. The policies probably not so much. VoicesOfVR on Twitter is talking about the ethics and related.
How to Earn Interest on Cryptocurrency
The WHO, CDC, RKI, etc were all telling people not to wear medical masks and the press was happily parroting this information while the Korean and Chinese CDC were recommending the exact opposite. Not only were they doing that, they were also gaslighting those that pointed to e.g. the Chinese wearing masks and additionally made those that had the foresight to buy FFP2+ masks feel guilty for taking away the supplies of medical professionals. Never mind the immense failure of Western governments of outsourcing most of their mask production to China (which promptly banned exports) and not stockpiling PPI.

Some European countries were so stupid, that they donated hundreds of thousands of masks from their own supplies at the beginning of the pandemic and then ran out of masks for their own medical personnel.

The actions of all those organisation advising against masks were evil and stupid. People saw through their excuses and bought all the quality masks anyway. The rest was bought by the Chinese and sent back home, resulting in an almost completely empty market for quality masks last year.

I hope the likes of the CDC are never able to fix their reputation. Nobody ever apologised, nobody lost their jobs over this.
I dont know what the person could have possibly thought smoke testing meant, without realizing that literal smoke used to be involved. What the fuck is happening to "engineering"
Oh, that should not happen. Thanks for the report, I'm gonna look into it.
Thank you so much for this reply. For me personally, as I get older and gain experience, I become less ideological about the world and more pragmatic. It makes sense that both good and bad research can take place in either industry or academia.

Thanks again for your comments in this thread. They were very enjoyable to read and lessened some cynicism I've been mired in lately.
Not if you have white collar standards for "sportsmanlike behavior" it's not.

That said, I agree with you. If I want X pounds per year of venison I'm gonna get it and I see no reasons to spend a few hours sitting in the woods during a particular part of the year to do it.
Doesn’t PG already support inplace version upgrade?

Also PG is one of the few that support schema/DDL statements inside a transaction.
Isn't it because the boxes have in-place documentation and the wires visualize the workflow? Making it easy & fast for the occasional user and let them avoid the pitfalls of unmastered syntax.
> for whatever reason purely functional languages are the only ones that elude me

That's because all of the languages you listed are really similar conceptually. PHP, Ruby, Go, C, and Python (and others you didn't list: Java, C++, C#, Perl, Lua, JavaScript) are far more similar to each other than they are to Haskell - they have different syntax and slightly different semantics, but for the most part they're all in the same language family. It's much easier to pick up Java after learning PHP than it is to learn programming for the first time - or, alternatively, to learn a structured language after having written unstructured BASIC for your whole life.

Lisp users (of which I am one) frequently talk about how all of those languages are "basically the same" - but for all that, Common Lisp is still way more similar to Python than it is to Haskell (which I've also tried and failed to learn).

Also, Haskell isn't just a functional language - it also is a lazy language, which means you have to now learn two new ways of thinking at once.

Erlang is similarly in a different world from the mainstream imperative-OO languages, but I don't think that being functional is the only thing that makes it hard to learn - it also has a fundamentally different model of concurrency (as well as being designed around concurrency) that is difficult to learn if you're just used to pthreads.

Similarly, I think that Prolog (logic programming), Adga (is it a programming language, or a theorem prover?), Rust (maybe; lifetimes), and Forth (stack programming) all present unique challenges to people like us that have only written Python/Ruby/Perl/Go/Lisp...
Except most of that stuff is only visible via Java APIs, NDK userspace is hands-off to such tools

A fact that termux people refuse to accept, hence why it doesn't run on the latest versions, unless they now finally accepted that POSIX isn't part of the official NDK stable APIs and have started calling into JNI.

Plenty of Linux software won't be compilable just with these APIs, unless they are game based,

https://developer.android.com/ndk/guides/stable_apis
It'll be interesting to see if they can ever manage to enforce it. I haven't heard of any cases yet since Microsoft challenged them and won.
I can.

I currently work on a project that has about 1M SLoC in Java. Approximately 95% of the classes that have the @Service annotation are tightly coupled at the time of writing this. Yet, there are no issues with this approach.

Why? Because loose coupling is a nuisance if introduced at the expense of more code, which is how interfaces are currently done in Java, as opposed to them being implicit, based on implemented methods within a class, like Go does it.

In about 5% of the cases, we need more than one implementation and introduce an interface. In all the others, we don't. Now, what would happen if every single service would have an interface in front of it? The codebase would become far larger and it'd become more cumbersome to alter it.

Furthermore, IDE refactoring tools make it a non-issue - just choose which methods you want in your interface and create one, doing so at the point where you are clear about which methods are implementation specific and which aren't. Most smart tools will even offer you to replace your concrete classes with interfaces where possible.
Apple adds support for push events in WebKit
Google's Chrome browser will display links to competitors above your page
Fantastic job. I love that I can easily read breadth-first.
Some of it is GNU being different, but you also have to understand the difference between BSD and AT&T System V UNIX. Many GNU tools are closer to the standard AT&T behavior than BSD. BSD was the original nonstandard userland.
I lived in Austria for a couple of years in the late 2000s. They had an under 25 years of age ticket that was similar to this, but was very inexpensive. I think less than 50 Euros. It may have only been during the summer months though. Either way I traveled all over Austria and it cost me almost nothing. Wish I could be 25 again just for that.
" In 2015 in the United States, a course of three doses could cost over $1,000, while in Europe a course costs around €100."

Wikipedia (https://en.wikipedia.org/wiki/Rabies_vaccine#Cost)
Because hospitals aren’t full of people with rabies.
To me OXO is exactly what the poster is looking for, well-built-to-last utilitarian gadgets that are universally easy to use, and decent looking, though perhaps not fashionable. What's not to like? Is it because they're not produced by a bearded artisanal blacksmith within cycling distance? The article seems to be searching for a problem.
Engineering is the wrong classification. I think the problem is it's new enough that people try to relate it to other disciplines. Coding is just its own thing.
Duplicate -> https://news.ycombinator.com/item?id=28705699
Are you 80? Clearly you don't have a very strong "dont give a fuck" sense
Show HN: SpiceDB – production-ready, open-source Google Zanzibar implementation
Because almost no one gets rabies and the vaccine is effective if it’s administered after exposure.
I liked it. Was a great read. The buried lead up front would have spoiled the fun imho.
>it cracked the Byzantine Generals Problem, a previously unsolved problem in computer science whose brilliant resolution enabled the entire field of blockchain research.

This is delusional.
As an in-the-trenches developer, I've almost never been able to get a productivity initiative such as this into effect.

The obvious answer is, "it's my fault" and that's highly possible.

However, I never really see anybody else accomplishing such things either.
> I agree, following a “best practice” without understanding the “bad practice” that it’s trying to prevent is silly. But just discarding best practices because no one understands the reasons behind is also silly.

I would argue that there is also a lot of value in following team-level best practices even if you do not fully grasp the rationale or understanding "bad practices". For starters, it ensures that the team's work complies with the principle of least surprise and follows a common and standard style, which helps with onboarding and forming a mental model of where and how all things are.
In Germany you can buy a Bahncard 100 for roughly 4k, which allows you to take any Deutsche Bahn train at any time.

Not sure if the cost should scale with size of counrty, but I guess 4x is roughly reasonable between Austria and Germany. Austria probably is more expensive to build railroad in, since it's mostly mountains.
I disagree... "10 brand new things launched/acquired" is not a measurable quantity. You could tally up the employees that worked at these companies pre acquisition... but to total is a lot bigger.

There's also the fact that in software, you have something once you build it. Software is cumulative, so you'd expect it to grow as long as someone is working on it.

There are various points of evidence, but they're all arguable.
K-Mart was eventually killed despite the economies of scale. Then again they were badly run starting in the 80s, and it only took another 30 years
Great points. In particular, that one original source of anti-vax anxiety comes from a study published in a top medical journal. If one thinks that the medical establishment is corrupt or self-censoring, or should not be trusted, etc., then does that also not apply to articles published in The Lancet?
I remember watching my grandfather spit on pipes to find the source of a leak. It was viscous enough that it would bubble up. Taking flame to a gas pipe sounds absolutely terrifying.
Kind of curious how that works, you just show up with a frozen bat in a box at USPS and they accept it?
I think it's the personal essay style that is quite popular at the moment - the mix of topic with the author's experience of that topic. (Personally, I quite like that style, but then I think I read for the experience of reading as much as for the practical takeaways).
There’s only one known survivor ever[1] and it’s a hell of a way to die.

[1] https://www.scientificamerican.com/article/jeanna-giese-rabi...
Start with the basics:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Allow loopback, icmp:

iptables -A INPUT -i lo -m comment --comment "Allow loopback connections" -j ACCEPT
iptables -A INPUT -p icmp -m comment --comment "Allow ICMP packets" -j ACCEPT

Limit ssh connections to 5 per minute, per source ipv4 host:

iptables -A INPUT -i eth0 -p tcp --syn --dport 22 -m connlimit --connlimit-above 5 --connlimit-mask 32 -j REJECT --reject-with tcp-reset

Set maximum number of ssh connections to 100:

iptables -t filter -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 100 -j DROP

Limit to only 5 new connections per second (This is what you probably want, ala Fail2ban):

iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 5 --name SSH --rsource -j DROP

Limit https connections to 150/second, after a burst of 300/second. Beware: once the limit is reached, I don't think it gets reset.

iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state RELATED,ESTABLISHED -m limit --limit 150/second --limit-burst 300 -j ACCEPT

Similar limit, but with hashlimit module:

iptables -A INPUT -i eth0 -p tcp --dport 443 -m hashlimit --hashlimit-name HTTPS --hashlimit-mode srcip --hashlimit 1/s --hashlimit-burst 300 -j ACCEPT

Don't forget to drop everything else:

iptables -A INPUT -i eth0 -j DROP
It certainly isn't much of an improvement in connection latency (the connections are still pretty heavy), but it is a massive improvement in transaction throughput with higher numbers of connections. If you scroll down a bit, there is now higher TPS even at 5000 connections than previously could be had at 100 connections. That fixes a massive amount of pain that previously only could be solved with pgbouncer.
How about, "Torvalds' decisions led to choice #1"?
Fantastic!! Thanks.

Note to self: RTFM.
>> OK, I know. I use GNU software. I use Arch, so I’m kinda forced to use it. That’s part of what makes me angry, though. Why are we vendor locked into GNU? Why are we still pretending that’s good or not as evil as the vendor lock-in measures taken by Google, MS, or Apple? Landmining your userland and C Standard Library with extensions is exactly what MS does. When MS does it is bad, so why is it acceptable or tolerated when GNU does it?

The difference is the license, stupid. You have the source code. It's portable. You can compile/change/run these tools anywhere. It's not vendor lock-in when it's GPL licensed. If you become locked-in because you've really embraced a GNU extension of a "standard" tool, that's probably OK since you can use that same version of tool anywhere.

The GNU tools are effectively standard. But hey, just keep railing against them because you don't like RMS or the GPL or whatever axe it is you have to grind. They really are just tools.
Jesus christ.

Inverting a binary tree is not hard. That people keep using this as a joke is more a testament to the stubbornness of people believing they shouldn't have to do no learnin' no more than it is bad interviewing practices.
The Bahncard 100 doesn't include all public transport though. Austria also invests about twice as much (per capita) into rail infrastructure as Germany.
How Humble Are Reverse Engineers?
The one advantage of uneven walls and non-90° corners is that my DIY fixes to everything fits in nicely and even looks good when done with care. Everything is easier to fix.
A survey of reverse engineers which answers the questions of how humble they are (among other things).
Plenty of people come into such contact in the US, but they get treated before they develop rabies [1]:

> Yet each year, hundreds of thousands of animals need to be placed under observation or be tested for rabies, and between 30,000 to 60,000 people need to receive rabies postexposure prophylaxis.

[1] https://www.cdc.gov/rabies/location/usa/surveillance/human_r...
I'm not sure if they get that kind of historical data of your interests when they're bidding on ads though either.
Good framing on the boring and non-lazy.
as a product designer, I've been with Supabase since its inception. You guys make projects so easy to start prototyping, without me having to think about starting a Postgres droplet or whatever. Thank you so much for making Supabase better every day!!
Seconding page up/down, first thing I tried.

Probably not to everyone's taste but I'd prefer for the active news item to be in the center of the screen and not at the top. I keep scanning down the page with my eyes and then realising I need to press down 20 times to get to where I scanned, I probably wouldn't scan so far ahead if it was vertically centered but also the page up/down would alleviate some of this.

Otherwise very refreshing and looking forward to see it iterated.
We currently use MongoDB and while Postgres is attractive for so many reasons, even with Amazon Aurora's Postgres we still need legacy "database maintenance windows" in order to achieve major version upgrades.

With MongoDB, you're guaranteed single-prior-version replication compatibility within a cluster. This means you spin up an instance with the updated version of MongoDB, it catches up to the cluster. Zero downtime, seamless transition. There may be less than a handful of cancelled queries that are retryable but no loss of writes with their retryable writes and write concern preferences. e.g. MongoDB 3.6 can be upgraded to MongoDB 4.0 without downtime.

Edit: Possibly misinformed but the last deep dive we did indicated there was not a way to use logical replication for seamless upgrades. Will have to research.
for the love of god if you smell gas please don't light a match to check. Real quick way to blow your house up if you do have a gas leak.
Sometimes the economic scarcity is relatively less scarce than in urban areas. For example, at least during the depression those with farms had to ability to grow their own food.

To be fair, sometimes the government would allow urban households to garden in a 1/4 acre or so plot in designated areas as part of a program to help people be more self sufficient. Although my grandfather said not many people took advantage of that.
Unfortunately that didn't make it into 14, there were too many rough edges to file off.
It's more like mathematics. While it's true that everyone can invent their own maths, this is only really done in advanced academia for research. Almost everything in practical use is standarized. No-one is arguing about whether you need integration or what the right notation for differential equations is.

This took time to achieve. You wouldn't be able to read Newton's papers easily, even though a large amount of high school mathematics is based on things he invented/discovered.
Fantastic piece of software.
The only major missing feature that I can think of is
Automatic Incremental Materialized View Updates.
I'm hoping that this good work in progress makes it to v15 -
https://yugonagata-pgsql.blogspot.com/2021/06/implementing-i...
What level of portability do you deem necessary for what you do? I rarely encounter a box that has sh but not bash, but maybe that’s just me.
Have you tried out F# / Fable? https://github.com/fable-compiler/cfworker-hello-world
It's cheap relative to $2/liter fuel, huge taxes and registration fees on vehicles, parking, and so on. It's still scaled to the relative cost of living which can be high in major cities.
I'm planning to move onto a sailing yacht next year. The answer for things like digital nomadism, van life, and that sort very much boils down to "own less stuff". For me if it can't fit in my 40' of boat it's either getting sold or put into storage.
I'm sure I got told to "stop, drop, and roll" dozens of times before I turned 10. I haven't caught on fire yet (mostly because of other fire safety techniques they taught).

Teaching before the knowledge is needed is important
...while ignoring the reasons people headed in that direction in the first place.
Generating personalized website content with GPT-3
An old HN post - https://news.ycombinator.com/item?id=20912718 and its corresponding material - https://cse.buffalo.edu/~rapaport/Papers/phics.pdf looks to address some of that.

Section 3 gets into the "what is computer science". 3.10 through 3.13 get into the engineering aspect. Section 6.5 puts it into historical context.
> worry about mice

Get a cat or two.
Interesting. The "family supplement" feels like it could use some work though. You pay €110 extra, and up to 4 of your children (<15 years old) can travel with you. But your partner isn't included...they would also have to pay the extra if they ever planned on being with the kids, and without you. And the kids have to buy a ticket if traveling alone. It's not expensive per se, but it seems like a narrow set of uses.
TypeCheck: Fast and flexible runtime type-checking for your Elixir projects
"one of the few" is a pretty low bar though, I don't know a DB that doesn't suck at this.
GPT-3 Tools for Developers, Software and DevOps Engineers, and SREs