skysight-inc/HackerNews huggingface dataset:
> There is no difference between OpenAPI and REST, it's a strange distinction.

That threw me off too. What the article calls REST, I understand to be closer to HATEOAS.

> I've open sourced a Go library for generating your clients and servers from OpenAPI specs

As a maintainer of a couple pretty substantial APIs with internal and external clients, I'm really struggling to understand the workflow that starts with generating code from OpenAPI specs. Once you've filled in all those generated stubs, how can you then iterate on the API spec? The tooling will just give you more stubs that you have to manually merge in, and it'll get harder and harder to find the relevant updates as the API grows.

This is why I created an abomination that uses go/ast and friends to generate the OpenAPI spec from the code. It's not perfect, but it's a 95% solution that works with both Echo and Gin. So when we need to stand up a new endpoint and allow the front end to start coding against it ASAP, the workflow looks like this:

1. In a feature branch, define the request and response structs, and write an empty handler that parses parameters and returns an empty response.

2. Generate the docs and send them to the front end dev.

Now, most devs never have to think about how to express their API in OpenAPI. And the docs will always be perfectly in sync with the code.
> the "API specification" given to clients, in a truly RESTful system, should only be the initial entry point URI/URL

I don't know that I fully agree? The configuration, perhaps, but I think the API specification will be far more than just a URL. It'll need to detail whatever media types the system the API is for uses. (I.e., you'll need to spend a lot of words on the HTTP request/response bodies, essentially.)

From your link:

> A REST API should spend almost all of its descriptive effort in defining the media type(s) used for representing resources and driving application state

That. I.e., you're not just returning `application/json` to your application, you're returning `<something specific>+json`. (Unless you truly are working with JSON generically, but I don't think most are; the JSON is holding business specific data that the application needs to understand & work with.)

That is, "and [the] set of standardized media types that are appropriate for the intended audience" is also crucial.

(And I think this point gets lost in the popular discourse: it focuses on that initial entry URL, but the "describe the media types", as Fielding says, should be the bulk of the work — sort of the "rest of the owl" of the spec. There's a lot of work there, and I think sometimes people hearing "all you need is one URL" are right to wonder "but where's the rest of the specification?")
You could have an LLM analyze pictures of each card to extract the attributes you want, eg. to json, then ask it to write code that will input it to your library.

The intermediate step of json gives a chance to check and clean the data before upload.
Python, TypeScript, Java, Go.

I've done some stuff for a compiler in Java, backend web services in Python/Go/TS, frontend w/ React/TS.

I was a huge skeptic of this stuff at first but started using it about a year ago. I could definitely live without it, but it also saves me a significant amount of time.

I've been working on a feature in Python. With Copilot edits I just needed to find files the implemented the pattern, add it to the chat context. and write something like "implement feature x following the same pattern". It never gets it right the first time, but you can just keep the conversation going and have it iterate.

Afterwards I can just write /tests and Copilot generates reasonable tests. If it missed cases I can ask it to write cover those tests. Often times I can also just write literally "cover edge cases" and it handles all reasonable scenarios.
> I suspect many of the pro/anti-Tailwind arguments are no longer relevant

I feel there are two issues with Tailwind for me as a designer / design engineer.

* First, JavaScript/Tailwind engineers have hijacked the conversation on design. Instead of "utility-first," "dead code elimination," and "type-safe CSS" I focus more on desing systems. Whether to use Perfect Fifth or Perfect Fourth in typography for example.

* Second, Tailwind makes it impossible for me to participate in the actual craft. Design decisions get buried in React components with cryptic expressions like `flex items-center shadow-lg p-6 hover:bg-gray-50 dark:bg-gray-800 py-[calc(theme(spacing[2.5])-1px)]`. This might make sense for JavaScript engineers, but blocks/makes it hard for systematic design. Instead of expressing precise mathematical relationships through CSS, we're essentially writing inline styles with better ergonomics.
> That might be what you meant by devilishly hard to write.

No, that's a separate problem. I agree that we don't always know what we need our code to do very precisely - although I think we could still increase the number of known invariants/properties in many situations - but even when you do, a proof is often hard to write.

Proofs also typically have the problem that they're not refactoring-proof: if you change the implementation of function f (but it still does the same thing), tests won't have to change, but a proof would have to be rewritten (the type would stay the same though).
Nassim Taleb – The Truth About Employment [video]
https://web.archive.org/web/20171215205344/http://courses.cs...
ANN search is usually memory bandwidth limited from a search speed prospective, so it doesn’t surprise me that the CPU has a few extra cycles to decompress without losing much latency
Music changed so much from tech like better mics, recording, and inventions from Les Paul (reverb, echo, delay, and more). It took a while for the musicians to catch up with it, but when they did, that new tech led to decades of new genres.
IMO the problem with gRPC isn't the protocol or the protobufs, but the terrible tooling - at least on the Java end. It generates shit code with awful developer ergonomics.

When you run the protobuf builder...

* The client stub is a concrete final class. It can't be mocked in tests.

* When implementing a server, you have to extend a concrete class (not an interface).

* The server method has an async method signature. Screws up AOP-oriented behavior like `@Transactional`

* No support for exceptions.

* Immutable value classes yes, but you have to construct them with builders.

The net result is that if you want to use gRPC in your SOA, you have to write a lot of plumbing to hide the gRPC noise and get clean, testable code.

There's no reason it has to be this way, but it is that way, and I don't want to write my own protobuf compiler.

Thrift's rpc compiler has many of the same problems, plus some others. Sigh.
And only needed when the product is good and company's size scaled.
The food prep portion of the work can be done ahead of time, so that the cooking can be made shorter and less of the bottleneck during rush hour.

You cannot pre-deliver, so there's no solution.
I have the R&D BOM in a link below [1]

https://docs.google.com/spreadsheets/d/17arbJvPqW6koqEJwAzne...

Thanks.
Incredible work
Jenkins has almost the opposite problem: they give you the freedom to do everything, but point the gun right at your foot in the process of doing so
> Pardoning 1500 people that participated in a (luckily failed) insurrection that caused 5 deaths and 100+ injured, is an extremely bad precedent, and sends a very bad signal.

Because you’re political view of it is indeed that they were having an insurrection. To the right they were just having a protest that got violent but not anymore violent than any of the others throughout the country that year.

> Pardoning people convicted of marijuana possession (like Biden did)

You mean he pardoned a bunch of drug dealers who will now go back selling drugs to children?

Do you see the issue here? The justice system is to try to cut through the bias and selectively choosing which part of the justice outcomes to ignore is going to be extremely political.

Anything clearly obvious is usually resolved by higher courts so the pardons are completely for when the president just decides “fuck the law in this particular way”.
I was actually thinking that if I make it to 70 I'll do a few psychoactive drugs like mushrooms and acid. And if I make it to 60 I should certainly do cannabis. And really I should have gotten drunk the night of the election.
What happened to mastodon? We don’t just want to move from one walled garden to another.
> Trump won with 49% of the popular vote vs Harris' 48%, with one of the smallest margins of victory ever

Irrelevant, we don't elect presidents by popular vote.

> That is not an overwhelming mandate, nor does it represent a majority of the country.

He won the Senate as well. Increased the majority in the House. Increased his votes in NY, CA. And among blacks and hispanic voters.

All while almost being assassinated (twice!) and having the mass media peddling lies against him for the last 8 years (Russiagate!). He wasn't like Obama who had the media backing him.

It absolutely is a mandate. It's a clear mandate because his Party has both houses and the Presidency!
I was thinking the same thing, not to mention that when Google Fiber was first announced, I was happy to be all in on Google for services but now, I’d be hesitant to use them for anything more than I’m already tied to.
Public libraries. "Product I'm happy to be a customer of" is not the first way I'd describe the luxury of public libraries, but no other product I can think of makes me happier. I absolutely love the feeling of potential, and the anticipation of exploring a book.
One of the best uses of our tax money, towards public luxury & private sufficiency.
Edge = Microsoft Edge, a browser
There is an obvious coordination - all those requests come from different IP ranges, but rarely hit the same pages.

The intentionality is not as clear, but I think "willful bypassing of protection site owner put up" counts for something? If a local store has "a free gift per household" ad, and someone is trying to get multiple free gifts by presenting fake addresses, this would be at least fraud. Similarly, if a scraping service rotates IP addresses and user agents to prevent blocks, it should be fraud as well, and maybe "unintentional cyber-attack" if server has trouble or falls over.
Merkles work probably more important. And progenitor papers on representation of branch streams implementing reversible editors
okay, i think i understand where the winner gets to control supply chains

i have to say the ascii, feet, and knots were a bit confusing though. these do not seem to be the same kinds of "wins" as what we're expecting to see with this race though. utf8 is mostly the default around the world and airbus is a serious competitor in international markets.
Accurate, if said sometime in the future rather than today.
Related. Others?

The Therac-25 Incident - https://news.ycombinator.com/item?id=38458448 - Nov 2023 (10 comments)

Therac-25 - https://news.ycombinator.com/item?id=37480795 - Sept 2023 (15 comments)

An Investigation of the Therac-25 Accidents (1993) [pdf] - https://news.ycombinator.com/item?id=34636130 - Feb 2023 (1 comment)

The Therac-25 Incident - https://news.ycombinator.com/item?id=26142432 - Feb 2021 (77 comments)

A Brief History Of: The Therac-25 (Short Documentary) - https://news.ycombinator.com/item?id=24388735 - Sept 2020 (1 comment)

The Worst Computer Bugs in History: Race conditions in Therac-25 - https://news.ycombinator.com/item?id=23200759 - May 2020 (1 comment)

The programmer behind the Therac-25 fiasco was never found - https://news.ycombinator.com/item?id=21679287 - Dec 2019 (121 comments)

Worst Computer Bugs in History: Therac-25 (2017) - https://news.ycombinator.com/item?id=17740292 - Aug 2018 (110 comments)

Killed by a Machine: The Therac-25 - https://news.ycombinator.com/item?id=12201147 - Aug 2016 (40 comments)

Medical Devices: The Therac-25 (1995) - https://news.ycombinator.com/item?id=9643054 - June 2015 (18 comments)

An Investigation of the Therac-25 Accidents (1993) [pdf] - https://news.ycombinator.com/item?id=8755469 - Dec 2014 (1 comment)

Therac-25 - https://news.ycombinator.com/item?id=7257005 - Feb 2014 (77 comments)

Therac-25: When software reliability really does matter - https://news.ycombinator.com/item?id=1143776 - Feb 2010 (18 comments)

An Investigation of the Therac-25 Accidents (1993) - https://news.ycombinator.com/item?id=202940 - May 2008 (2 comments)
Maybe Tailwind is useful for bigger projects, but I tend to prefer component based class instead. The biggest DX for CSS is using the web inspector and directly modifying the DOM, then copying the adjusted values to the text editor. For a much serious project, I go with the balsamiq -> figma route to create an actual design system.
Considering it was a similar subset which in the US was largely responsible for the US revolution, I can't say that interpretation is persuasive.
Nice work!

I was actually doing something similar on my own, so I might recommend some papers

- RSA: A Method for Obtaining Digital Signatures and Public-Key Cryptosystems (1978)

- PageRank: The PageRank Citation Ranking: Bringing Order to the Web (1999)

- MapReduce: MapReduce: simplified data processing on large clusters (2008)

- Bitcoin: Bitcoin: A Peer-to-Peer Electronic Cash System (2008)

- BackProp: Learning representations by back-propagating errors (1986)

- Hoare Logic: An Axiomatic Basis for Computer Programming (1969)
Thank you! For anyone else looking for the top line number, it's $4,673.81. Really nice work. I wish you much success in life.
> because of this mistaken belief drones won't be economically viable for the foreseeable future.

i dont think it's mistaken.

A crashed drone is a capital loss for the delivery app company. A crashed driver is not.
Use it and learn how to write a README
We shouldn't really have to retrain models for them to be able to work with new versions of libraries or frameworks. That seems like a flaw in the LLM (only?) setup. One should probably be using RAG at a minimum to pull in the correct documentation and references. Something like Kapa, but not limited to a single project https://www.kapa.ai/
Not everything. Selectively. Win95 was a marvel of tech at its time. Ubuntu and other linux desktop attempts are in a sorry and shameful state.
Louis Pouzin's work underpins/predates much of Cerf/Kahn.

I think the also ran list should be in the main list.
CRX Viewer is handy for peeking without installing:

https://robwu.nl/crxviewer/?crx=https%3A%2F%2Fchromewebstore...
Wrong on your first point - Privacy right is not based on the 4th amendment but rather on the 9th amendment (unenumerated rights are persevered to the people).

Correct on your second point - Dobbs didn't take any rights away, it merely delegated to the States, where historically, such rights such rights are granted.
Not sure if much serious research has been put into it. I would be suspicious of it deterring them because a lot of initial smoking happens in social situations where friends pass out individual cigarettes.

By the time someone buys their own pack they are probably hooked.

I suspect the obscene taxes blocking out young folks is one of the most effective strategies
hate this kind of web hatred.
I also worked on embedded software, backend, infra stuff. I personally needed more high level of engineering work in the webdev.
Please don't do this
> but I feel like we aren't allowed to be honest anymore that LLMs aren't going to replace programmers or moderate our expectations.

But literally every single programmer I know has this opinion.
It’s not collecting data for advertising reasons; it’s a CCP operated malware vector.
Gross. I should run Ethernet in my house.
That is a very hazardous slope to go down. We are already seeing user-agent discrimination and this is no different than using Bing from a browser that isn't Edge.
really? a man was kidnapped.
I've long been disappointed that we've never really gotten standard laptops, in the way that there are ATX standard desktops.

The laptop form factor hasn't really changed in decades. It's a rectangle with a screen in the lid and a keyboard in the base. Below the keyboard is a battery and a system board. The battery has to be replaced when it wears out and the system board when it becomes obsolete, but then why aren't they both fungible parts? If you take any arbitrary ATX PC from many years ago, you can replace the system board/CPU/memory/storage with modern ones and carry on using the same chassis, screen, power supply and keyboard provided they meet the required specs for the new parts (and they often do).

So why can't I do this with the average laptop, instead of having to replace $200-$300 worth of perfectly good parts or more each time I want an upgrade?
I guess there's hope for the tens of thousands that decided to sit out this time too.
It's Fleet.

https://www.jetbrains.com/fleet/
Entirely online.
With the odometer I have a time limit to factor the number (around one minute on the highway, up to four on surface streets). I usually have no problem factoring a four digit number (time in 24-hour format) within the minute given, especially since the worst case scenario would be 22:09=47×47. When factoring, it’s less about recognizing the primes as the key composites once you get down to four digits or less, which usually happens surprisingly quickly.
There is a distinction between (proper) REST and what this blog calls "OpenAPI". But the thing is, almost no one builds a true, proper REST API. In practice, everyone uses the OpenAPI approach.

The way that REST was defined by Roy Fielding in his 2000 Ph.D dissertation ("Architectural Styles and the Design of Network-based Software Architectures") it was supposed to allow a web-like exploring of all available resources. You would GET the root URL, and the 200 OK Response would provide a set of links that would allow you to traverse all available resources provided by the API (it was allowed to be hierarchical- but everything had to be accessible somewhere in the link tree). This was supposed to allow discoverability.

In practice, everywhere I've ever worked over the past two decades has just used POST resource_name/resource_id/sub_resource/sub_resource_id/mutatation_type- or PUT resource_name/resource_id/sub_resource/sub_resource_id depending on how that company handled the idempotency issues that PUT creates- with all of those being magic URL's assembled by the client with knowledge of the structure (often defined in something like Swagger/OpenAPI), lacking the link-traversal from root that was a hallmark of Fielding's original work.

Pedants (which let's face it, most of us are) will often describe what is done in practice as "RESTful" rather than "REST" just to acknowledge that they are not implementing Fielding's definition of REST.
didn’t open the video, but you can also set double or triple tap on back of your iphone shortcut for this. i have a red filter set up for late night doom scrolling
> Worker-owned companies

what or how would such a company form in the first place?

The initial capital would essentially be from the workers themselves. Then, what about the newly hired workers - do they have to pay to get in? or do they get a share of the equity once they're hired?

What about the initial workers who have paid capital - do they get it back if they choose to leave? or do they now own equity, regardless of being an employee there?
Why would that be true? Every approach I've seen needs to jump around in memory to find indices and then the coordinates. It's the polar opposite of being bound by memory bandwidth.
Was it really necessary to break all existing apps using `npx @tailwindcss`?

It's an easy enough change to `npx @tailwindcss/cli` but we now have to go back and update all Apps and templates and since it uses v4 we now have to test every App to see if anything's broken with a v4 major release.

Given its massive install base, surprised they wouldn't maintain backward compatibility with v3 and have an explicit opt-in upgrade path to v4.

Edit:

v4 did actually break all our Tailwind Apps which doesn't support `@import "tailwindcss"`, likely because we use `npx tailwindcss` without any local npm dependencies. Trying to use the existing v3 `@tailwind components` renders a useless app.css. Only solution atm is to explicitly use v3 and change all our build scripts to use `npx tailwindcss@v3`.
Modern twist

1. No such crisis exists

2. Why would you believe such a thing?

3. It's too early to draw any conclusions before the full investigation

4. Look over there, a new scandal
Computer vision and deep learning conferences have been overwhelmed with Chinese authors since many years ago. No surprises. However the quality of the work skyrocketed recently
Probably the papers about VLIW design
Can't let the basilisk find metadata indicating you were slacking
The plan was never for 170km of The Line to be finished by 2030. The original plan was for 5km. And yes, recent reports are that they've scaled back their ambitions to half that by 2030.

However: 1. That has no bearing on how much they actually spend, which is what was being discussed and 2. Neom is much more than just The Line. As you can see from the YouTube link I posted, Sindalah seems to be on track to open this year, which is part of Neom.

So while Neom overall might be behind schedule (and The Line or other components may never open), it is clearly not an "imaginary" project given that parts of it will open soon.
There's the Stargate money I guess
Ask HN: What percentage of Twitter/X's traffic comes from Reddit?
I'm curious. Can we do the math?

What percentage of Twitter traffic comes from reddit?

What percentage of reddit subs (weigted by membership?) have banned that type of link?

The question being, will this reddit ban of that other social media site make even a small dent in their traffic?
I didn’t say Zuck isn’t responsible for the ills of his platform. I said DPR is no more responsible than Zuck or Spiegel. That is, that there’s a distinction between facilitating a drug deal and dealing drugs, just as there is a distinction from managing a communication platform that promotes hate speech and violence.

That distinction wasn’t recognized, and I called attention to it. And also to the fact that Eva Spiegel very strangely isn’t catching any shit whatsoever for knowingly running the nation’s most prolific child porn brokerage platform, with a product tailor-made to do so.
We probably disagree what ultra rare means. They're significantly less common than rhododendrons. They're more common than Wollemi pines.

It's headline hyperbole. They aren't common, any more than hothouse structures capable of growing them are. Same with giant lilypads (for instance).

Fruit bearing Banana plants and Cocoa pods are rare enough in Britain that Kew and Edinburgh Botanical gardens used to have little movable arrows on sticks to show you the fruit if you walked around the hothouse. Same with giant bamboo to show you how fast it grew in a day: if you came morning and afternoon same day you could see the growth.
Your problems has more to do with some implementations than the grpc/protobuf specs themselves.

The modern .NET and C# experience with gRPC is so good that Microsoft has sunset its legacy RPC tech like WCF and gone all in on gRPC.
> Stay within the cloud provider's ecosystem as much as possible, including for domain registration and DNS

Alas, if you follow this advice to mitigate this particular risk, you're completely hosed if your cloud account gets taken down or compromised. Which is why the standard advice is to do exactly the opposite and make sure your domains and DNS are separate from your cloud provider.
If these AI efforts are funded by the Chinese government, it makes perfect sense as a strategy. The more successful they are, the more risky it becomes to invest in US AI companies, leading to fewer investments (and less know-how in the long term), and China getting even more ahead.

(I am not in AI, so please correct me if this is inaccurate.)