skysight-inc/HackerNews huggingface dataset:
One point this article objects to is the (ab?)use of HTTP status codes for indicating object status (i.e. 404 Your student doesn't exist). HTTP status codes are an extremely loose and flexible standard and I think that semantically most of the "RESTful" uses here are perfectly in line with expectations. Shift your thinking for a moment to consider that instead of `/user/12` linking to a script it's actually just a flat file containing some information about the user - the 404 response when the user doesn't exist is perfectly reasonable. The requestor shouldn't really care whether the request was fulfilled by apache checking file existence or some PHP script. In fact, webservers are just another kind of dynamic responder and it's important not to mystify their internal workings.
The EU (or any government) has a slightly schizophrenic approach to privacy.

"Privacy? Awesome! Wait! Wait! Not from us! Ban it! Ban it!"

I'd focus on the "balance of power" aspect. But that can be achieved by marketing Firefox, you don't have to fork it.
<nauseous choking sounds>

Are you offering an alternative or inviting gratitude by pointing out that things could be much worse?
As a REST enthusiast I was excited to read this and learn a new perspective but this section

> The “benefits” REST is supposed to introduce

Is one of the more egregious straw men I’ve seen in a while. Never once in my twenty years have I heard anyone say it’s nice because “you don’t have to read the docs” or “it works in a browser”

REST helps with lots from thinking through clean data models to helping ensure consistency within an API.
My main beef is that the speed humps should be navigable at the speed limit of the road they’re installed on.

And they are, but only for larger vehicles on my ass for slowing down to go over them in my sedan.
> You mentioned that your emails on Gmail and Outlook initially went to spam, but that you clicked "not spam" on those emails. This action should prevent your emails being flagged as spam for that particular receiver who clicked not spam. Obviously it can't work such that one person clicks "not spam" on an email, and then everything from that sender is whitelisted for everybody. Because then the spammers could just register a single email account, click "not spam" once, and then spam everybody. So my point is, if you test deliverability on email accounts where you have already whitelisted the sender, of course it's going to look like email is delivered.

Obviously I'm aware that me clicking "Not Spam" would not instantly whitelist me in Microsoft's systems, but the hope is that it would influence the spam algorithm somewhat. It doesn't even whitelist me on that account because even after clicking "Not Spam", my emails still went to spam for some time.

> Presumably you and your landlord have already emailed each other in the past, so any anti spam system should allow emails between those addresses to reach their destinations.

Maybe, but my entire university runs on Office365 and I never had any trouble sending to friends and professors there (who have never sent me emails previously).

I'm not really sure what you are trying to say here? Should I have some sort of commercial deliverability monitoring system setup? Do you have insights into what "real email providers" use?
Arab Language Wikipedia in solidarity with Palestinians in war
I'm pretty sure that if we manage to coordinate an existential threat to Amazon, Amazon will respond by finding a way to do it profitably. The problem is that we're not threatening enough because we're uncoordinated.
> we lost the software race and then the mobile race

Was the EU ever really in the race to begin with? They really wanted to be, but you can't actually centrally plan a working software or hardware economy.

> EU leaders will put speedbumps in place

That's the only tool they understand how to use. It's sad that this makes them feel they have to constantly use it.

> knowing the governments have their back regardless.

Yea.. you almost get the feeling these policies are _designed_ to create monopolies and have nothing at all to do with fostering competition.
> While you may not have liked the way it was said, this users reply is actually responding with correct information.

No, they are hand waving and being rude and insulting while delivering misinformation.
https://foundation.mozilla.org/en/privacynotincluded/nissan/

https://foundation.mozilla.org/en/privacynotincluded/kia/
TikTok is making users give their iPhone passwords for unclear reasons
awk is exceptionally useful in one-liner command line pipelines. I use it on a regular basis.

But it's slightly weird, and doesn't always give useful syntax error messages. It's from 1977. Nevertheless, it survives while "replacements" like perl have come and gone. Why is that? Surely some masterful company like Microsoft could make a consistent, intuitive replacement.
I think we're suffering from an excluded middle when it comes to this kind of intellectual property. Naturally, most readers want to pay zero. Naturally, owners of the publication think it is probably worth a couple hundred dollars a year to be this well-informed.

The current arms race got us scrapers, and then paywalls, and then ad-blocking archivers ...

But in reality, I might drop a penny to read a NYT article. Maybe a nickel. There's no reasonable way of performing microtransactions right now. Everything is still in hefty increments, so nobody can work out what the market would bear.
Just get an orange pi 5. For 130ish bucks you get a reasonably fast processor with 16gb(32gb out of stock but soon...) that runs 7b and even 13b models with reasonable speeds for reasonable amounts of context.
My point is that they shouldn't be publishing any extensions except those vetted extensions, or they should make it easier for another organization to publish extensions.

Both Google and Mozilla publish unvetted extensions and consequently their extension "stores" are on the whole very sleazy.
It's kinda true if you're thinking purely about submitting requests through `<form>` elements - but even then you can bend browsers to support other verbs.
By no means am I an engineer, but the first thing that comes to mind to me is those little toothpaste keys, and I wonder if you could perhaps just reduce the size of the canister as it empties. I sort of imagine a board with a spring on the top end of the canister that is held compressed under pressure but pushes towards the other end as the fuel is used up. Perhaps the pressure is so great when full that this is very difficult?
The blog post is three years old. The update is more recent.
Ntcpqb: TCP/IP for QBasic (2008)
That's true. But the size difference between alpine and debian:*-slim (for example) is on the order of < 20mb. Datacenter hardware can download this in milliseconds. There may be some rare scenarios where this is a meaningful delay, but usually provisioning time is bottlenecked somewhere else. Heck, it probably takes longer to download the VM image (and if you're optimizing for provisioning speed, you shouldn't be downloading Docker images on boot anyway - you should be baking VM images ahead of time.)
My head-cannon for Dreidel was that it invented by very bored people waiting out a siege during the Maccabean Revolt. That would explain the length of the game.
Apparently it’s not nearly that old.
> without a specific UI for it

None of my browsers seem to have PUT, PATCH, and DELETE baked into the standard UI (or even POST really), so maybe it is true?
This is a huge business challenge. Developers don't communicate well enough, so they spend lots of time ($$$) doing "something", which might need rework.

This is a business challenge because it's hard for the business to see. Devs are working hard, they say they're making progress, but it's slow. The business looks anxious about time/money but they can't see the reasons things take so much time-effort.

Similarly, tech leads fail to, err, lead. They should clearly draw a line between business value and the team's output. Then they should review this connection again and again, e.g. monthly. Devs aren't stupid: if they repeatedly see the same goal and the same road towards the goal, they'll move towards it. The risk is that devs understand _more or less_ the goal and direction, and _more or less_ deliver code that is an approximation of the business goal. Sometimes this is fine, sometimes it needs rework, and occasionally it's a huge waste of time and energy. Code obsolete before it's even completed.
Screenshots look nice and feature list looks impressive, curious to hear anecdotes about real-world practicality
The "Ultra" package barely adds anything that's worth it. The only options worthwhile are drive train but the base model is perfectly fine.
If you follow OTP design principles, you end up with a supervision tree, and a lot of code like...

ok = do_something_that_might_fail()

If it returns ok: great, it worked and you move on. If it doesn't return ok, the process crashes, you get a crash report, and the supervisor restarts it, if that's how the supervisor is configured. Presumably it starts properly and deals with future requests.

There's two issues you might rapidly encounter.

1) if a supervised process restarts too many times in an interval, the supervisor will stop (and presumably restart), and that cascades up to potentially your node stopping. This is by design, and has good reasons, but might not be expected and might not be a good fit for larger nodes running many things.

2) if your process crashes, its message queue (mailbox) is discarded, and if you were sending to a process registered by name or process group (pg), the name is now unregistered. This means a service process crashing will discard several requests; the one in progress which is probably fine (it crashed after all), but also others that could have been serviced. In my experience, you end up wanting to catch errors in service processes, log them, and move on to the next request, so you don't lose unrelated requests. Depending on your application, a restart might be better, or you might run each request in a fresh process for isolation... Lots of ways to manage this.
I agree with some of this - I've never found value in the different PUT/PATCH/etc verbs, and I think the lack of examples of good "pure" REST APIs indicates that pure REST doesn't work easily for most projects.

I do think this throws away some pieces that are really valuable though:

1. URLs for concepts are a good idea

2. Distinguishing between read-only operations (which can be cached) and write operations using GET and POST verbs is useful

Personally I've found myself settling on "REST-ish" JSON APIs:

- Every domain concept has a URL, and a standard consistent JSON representation that's also returned by list endpoints

- GET for read operations, POST for anything that performs a write

- I don't like content negotiation via the Accept header, so instead if I need to support alternative representations I'll do that using file extensions, .json vs .csv for example
Exactly. If you ditch the bikeshedding and no true scot arguments, REST is just a loosely defined naming convention around HTTP verbs, that almost every company I have been apart of agrees on / disagrees on certain minor aspects. That being said, I am thankful that we moved to using some form of "REST" (however you define it) as it was infinitely better than WSDL/SOAP. gRPC is nice in some areas, but these days I find myself doing what the article says more often than not -- just creating business-definition specific resources that utilize GET/POST and JSON.
There are multiple RFCs with lists of HTTP verbs and axios only supports the more limited set, which for my particular legacy project meant I couldn't use any of the creative ones.
The three common types of "REST" I have encountered in enterprise dev are:

1. Ancient XML/SOAP based APIs Frankenstiened to use JSON

2. Poorly implemented RPCs advertised as "JSON REST API", usually the entire thing either relies on POST requests but sometimes GET is used to make stateful changes.

3. Things that should obviously be RPC split into dozens of anemic JSON endpoints that the caller has to re-construct to get anything useful

Incidently, my company's leadership got inspired by Amazon's API culture and made # of APIs a metric that teams must hit. The result is every single endpoint being deployed as a separate API, and teams blocking access to native vendor APIs so each operation can be republished as a new API. :)
My current problem is crypto related, but the main problem is that banks care if you use cash and will ask about it. I find it unreasonable.
From the Renault group the cheapest is the Dacia Spring, which is below 20k I think?
The impression I was left with is that this tool would write things to disk. It would be helpful to know how that data is stored. I wouldn’t want my password manager OCR’d and then sitting in plain text on disk for example.
Well, if we're being truthful, none of us use REST. We're all just cherry-picking the parts of it that work for our organizations... and that's absolutely fine. The programtic discoverability portion of REST always struck me as pretty poorly thought-out anyways.
Thank you! Exactly my thoughts. I stopped using the term REST because in web development circles it’s meaningless. I use Hypermedia API.
There's a difference between a human reading something on the internet and an LLM absorbing something in to its model on a mass scale. Mainly that LLMs are packaged up in to nice commercial products that, in essence, sell other people's ideas for profit (or in aid of hugely inflated stock options) with no recompense to the original author of the idea.
Rest is fine, just a loose standard around using HTTP for rpc calls. Makes communicating between different servers and languages easy.

The real mistake is graphql. Like microservices, so many companies get hamstrung with this. I’ve said my piece.
It has become a taboo to speak of group differences in intelligence, as this article bravely does. Instead it has become more acceptable to assume that deviations from equality are due to power imbalances that arise from practices of oppression. Therefore a group with unequal success is assumed to be a result of the group's acquired characteristics, not their genetic ones. If they came from the same blank slate as the rest of us, how else to explain their success than by anti-social algorithms? And so antisemitism is justified by a seemingly kind taboo.
boooooo this man! booooooooooo!
Quis custodiet ipsos custodes? - Ancient Roman political question

You state that the Bureau [...] should not attack programs of community interest such as the "Breakfast for Children." ... You have obviously missed the point ... - J. Edgar Hoover (US FBI Director)

Once a Cheka, always a Cheka. - Vladimir Putin

Not that I'm familiar with current details, to judge this article's accuracy...but ever-growing and unaccountable secret police/security services - which seem very intent upon (and "competent" at) creepy and sadistic targeting of innocents and dissidents, but near-worthless at safeguarding anyone except themselves - seem to be a near-universal problem for larger human political units, especially in the modern era.

"Top 1%" autocrats seem capable of keeping them under control, but that's about it. (Which is not to say that any autocrat can actually get such organizations to competently perform their jobs - just ask Mr. Putin about the quality of intel that he was getting on Ukraine's willingness to fight, before his invasion. Or any Israeli soldier about his country's massive intel failings pre-7 Oct 2023. Or...)

It would be lovely to imagine that there was a solution to this problem.
I mean, the easy solution is don’t use Python if the container image size is important to you.

Build it in Go and you don’t need to drag in a million weird dependencies. The whole idea you need a 300MB container image to run a simple Python program is a perfect demonstration of everything that’s wrong with software development.
> Tree style tabs enables vertical tabs

It's not just vertical tabs (which MS Edge has an option for), it's tree-structured vertical tabs. If you open a link in a new tab, the new tab will become a child of the original tab, making it easy to identify related groups of tabs. The subtrees can be expanded/collapsed. There are a lot of configurable options (e.g., to automatically collapse a subtree when you open a new one).

More info on the extension's page: https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta...

As someone pointed out in a sibling comment, Sidebery gives you a similar UI. I haven't used it as much, but it seems to work OK too.
Perhaps because the country is on the losing side of a war? Or the country has no economic output anymore (oil wells ran dry, drought has made farming impossible, etc).

Plenty of reasons people might want to leave a country en-mass, and some of them can't be fixed with a new government.
Interesting! Level 0.5 seems to be what twirp[1], which I have used and enjoyed, would also fall under.

[1]: https://github.com/twitchtv/twirp
You use REST every day. HTML is REST. Yes, with HATEOAS.
Retailers to pay for consumers' e-waste recycling from 2026 under UK plans
> But with an object, if I made that data private

Being able to make a field of a record private does have nothing to do with OOP, even in C you can hide a struct's fields.
Them being a charity isn't an automatic license to use anything on the internet?
The solution in this article looks a lot like GraphQL. Commands are mutations, queries are... well, queries.
Not just Finland, Liero was big in Estonia, too! I remember I got Liero on a floppy disk from a friend early 00's and ran it on my Win98. Good ol' days. Terep2 was another great game.
It drives me crazy that every RESTful API I've ever seen in the wild has been running under a full-blown Tomcat or nginx (or some equivalent) web server when only a tiny, tiny subset of the HTTP protocol is actually needed for the API being supported.
Oh my god dude.
If you define the terms exactly the way I want, then I win the argument! It's a very useful technique.
Let's put "REST" to rest because no one can agree on what it means.
That would work. Viagra is a blood-pressure lowering drug (that was its original purpose). If you take it with other BP-lowering drugs like nitroglycerin etc, you could pass out or even die.

So some degree of oversight by a medical professional is warranted.
> Image layers are cached and shared! If you have one image based on Ubuntu in your stack, you may as well base them all on Ubuntu, because you only need to download (and store!) the common base image once.

AIUI that's only helps if everything uses exactly the same base image. Every time the base image gets updated, your images will diverge as they're rebuilt.

> You opted out of the most well-tested and maintained versions of binaries,

Strictly true, though Alpine is pretty widely used and tested these days.

> and forced all software in your image to link with musl instead of glibc.

Well... Yeah, that's how that works.

> Congratulations on creating an ongoing headache for yourself. You've increased maintenance costs

I keep hearing this, but in years of shipping Alpine based images into prod the problems never materialized.

> and probably even decreased security by preferring a less-audited codebase.

Or, since we're handwaving, you've increased security because musl is better hardened and an attacker's binaries are less likely to work on it.
A tool best used to communicate SQL queries to the server (yes, I've seen it in production).
My bad. I failed to catch the assumptions that were in my head.

Theoretically a painter can make art after having seen nothing but the real world or unedited photographs. Before people had the means to make and share paintings, they couldn't learn from paintings. They learned from the real world and their art styles. (One way of defining a painter's art style is "the opposite of what the painter can't paint".)

Painters today generally don't learn how to paint by restricting themselves to looking at just the real world and realistic depictions, and the exceptions are not relevant to the question of what is copyright infringement. This is an assumption I didn't realize I was making, and now I am making it explicitly: The painter using Photoshop has seen paintings before (complete or in progress, doesn't matter), and the painter's creations are influenced by those past paintings.

So I retract the following sentences from my previous comment:

>> Whoever's using Photoshop to paint, however, does need to have seen existing artwork.

>> A person using an ML model doesn't need to have seen existing works to ask for a generic output, but does need to have seen existing works to ask for an output similar to an existing work (outside of innocent name coincidences in the prompt like "a painting of a starry night").

And replace them with the following:

In order to use Photoshop to produce a painting similar to an existing one, a painter usually needs to have seen existing paintings. There may be coincidences, such as when the painter's art style produces results similar to another painter's.

In order to make a model produce an output similar to an existing work, the user usually needs to have seen existing works and subsequently give the model prompts referencing an existing work, author, or a characteristic/style strongly associated with a work/author. By strongly associated, I mean that a user who hasn't seen the Salvador Dalí painting "The Persistence of Memory" but has seen unrelated oil paintings might coincidentally give the prompt "oil painting of melting clocks" and get an output similar to that Dalí painting.
That's not a knock against the app, but something you can actually fix - this would use the OSM backend, and adding your parent's address would take all of ten minutes if you care to do so.
People also survived in caves long ago. The fact that humans have survived various uncomfortable situations doesn't make them stop wanting to be more comfortable.

Nope. People go test drive them, and realize it's nicer to have more space. There are cars in every shape and size in the US. I went to buy a midsized SUV and ended up with a full SUV after test driving. It's much more comfortable. More space is valued by humans in houses, cars, airline seats, hotel rooms and various other places.
VW was a great scape goat because of all the evidence but they were far from the only one.
They mean you can’t interact with a raw API from the browser. Unless you are just doing vanilla gets.

You might use a REST client instead or what some services do is offer a playground coded in JS to play with the end point but such a playground needs to deal with CORS.
Wegovy and Other New Weight Loss Drugs Work–So What's Next?
There is no such thing as a perfect ecosystem because we live in an imperfect universe, this is if you look at any significant timescale. Eventually you're going to get hit by an asteroid or a gamma ray burst, or some mega volcano is going to pop and cause world wide levels of destruction. And generally we see some reestablishment species is going to dominate for some time.
Baking the VM images trades a lot of flexibility for some latency, and it doesn't apply to container-as-a-service infrastructure where you don't control the VM. My point is you can get most of the way there with slim/distroless without making the tradeoffs of Alpine, and that's probably enough for most use cases.
Whatever you say REST is, Roy T. Fielding will come around to tell you that it isn't that.
But that's not what occupation means. Consider that the US has military bases in the UK too, but nobody could say with a straight face that the US is occupying the UK.
I definitely remember there being a significant something missing. It may have been the cursor control thing from your memory that caused full redraws to be needed more than otherwise.

> The bigger problem was that very few users would have had ANSI.SYS loaded

This is true. I had it loaded on a couple of my configs, but not my primary one.