skysight-inc/HackerNews huggingface dataset:
Have you ever disclosed a vulnerability? Ever had one to disclose?
>> Fast SAT solvers power a lot of the interesting software out there.

Can you give examples? I can't think of anything I use regularly that would use that, with possible exceptions of Make and maybe a compiler (for optimisation)
I'm sure I'm not the only one who makes unique usernames across social media
The Biggest Cloud Native Strategy Mistake
> But there was literally no hook for me to hold onto

Ahm, from the text: "Boolean satisfiability, or SAT is a decision problem where an input is a boolean formula like [...]"
I think you might want to correct ChatGPT to just GPT. As far as I know, there is no public API access point for the ChatGPT. OpenAI davinci model that you're likely using is based on InstructGPT ( a different GPT based beast ). Also, I would be somewhat worried about this thing racking up massive bills for the larger files.

EDIT: okay, according to replies there is more than meets the eye
Did y’all go to Northeastern? I had a classmate named Pete at the time who did the same. He landed at google, smart guy.
> - First job is to write a few abstractions that represent a row in each the tables in your db. It handles deserialising/serialising from the database types to you languages types, plus a few of your custom types.

> - You find yourself duplicating code for simple select/update/insert/delete quires so you build another layer of abstraction so you have only one generic implementation of these that your table row abstractions use.

> - You start writing more complex queries based on user input, it starts to get a little complex with all the string concatenation. You write a query builder for one area of you application, but soon find yourself longing to use it elsewhere. So you generalise it to be usable on other tables.

I think most of your problems seem like they would be solvable within SQL. SQL goes far deeper than INSERT/UPDATE/SELECT/DELETE.

Most DBMSes have functions and views that can provide shared functionality that removes the need for abstraction. They were designed to be able to deal with business logic, not just be dumb a model-store. Now obviously that means you have to write non-trivial amounts of SQL code, which can be a bit of a pain, but it will in most cases perform a lot better and end up a lot cleaner than wrangling the data as though it was a bunch of objects.
For the same reason you should stand up to the police when you know your rights, because if you don't, what's the outcome then?
There is a difference between just maintaining the wall of lava lamps and maintaining the lava lamps and the entirety of LavaRand. Maintaining the lava lamps is much easier and doesn't have any long lasting maintanence concerns or security concerns compared to the rest of the infrastructure and services for making sure that randomness makes its way into every cloudflare server.
I didn't mean racial purity, rather how specific German culture and the German language with all of its dialects is to Germany.
Its not very globalized like American culture.
Heat pumps use hot water tanks to store heat, since you need hot water all year anyway
Why is SQL bad?

I'll take SQL over almost any language used to write the "application layer" any day...

Also, why do you think that databases solved problems with disks? Do you mean disks as in block devices? If so, none of the popular databases ever touches that level, most popular SQL databases work with filesystem.
That’s exactly what it is except they have base “minimum essential coverage” laws that these ministries don’t abide by.

“HCSMs are not regulated by the ACA. The coverage you get will vary from one HCSM to another, but they are not required to cover pre-existing conditions, cap out-of-pocket costs, or cover essential health benefits. And they can still have annual and lifetime benefit caps.”

Since they’re not regulated entities, there’s no enforcement mechanism if you get sick and they decide not to pay out or delay your reimbursement.
Thanks. A helpful response, instead of the just pointing out that paywalls are allowed!
I understand, but what I am saying that he is a respected scientist and is doing a lot of work in this area and is using Zoe to further this work, it might be a bit experimental at this point but it’s certainly not ‘snake oil’.

Tim’s papers can be found here: https://scholar.google.com/citations?user=FIK--DEAAAAJ
Well thank you all for the suggestions, I think I mostly agree it’s not a good idea. From power cost/consumption, to lack of modern CUDA, PyTorch support as well as the complexity with parallel compute really put a dent in the perceived value.

I may have to just save up and get a more capable card with more VRAM. I still want to learn how to do parallel compute but I realize I could just do that at any other time and doesn’t have to be hardware that I necessarily own (rent out a cloud server) even though that would be really nice.
good idea. a tool that can do it locally without the need for a dependency might be better.
it's not working even right now, don't know why
Nah,

I think decades old NATO being tested for the first time, with the exact reason for it's existence, is a good enough reason.
Is this answer generated?
Let’s hope the regulators recent attention to Browser engine restrictions will allow Node.js and Electron to run on IOS and Android.

Would be fantastic especially for smaller software development companies that cannot afford to fund 3 dev teams.
would Skynet have more to your liking?
Hah, I’m surprised you zoomed in on that part. All you have to do for the protocol is blurt out “HTTP/1.1 200 OK\n\nssh-rsa AAAAf00fcafe…=“ on port 443 instead of “SSH-2.0-OpenSSH_xyz EtcEtc” on port 22. I wouldn’t (and didn’t) suggest you include code to respond with the contents of files, nor should you even bother parsing the request*.

The harder part is what is the client going to do? How will you implement TLS at each end? Your ssh client will want to link against an HTTP library that integrates with the client OS’s x509 PKI. That will be the axiom upon which your trust of the server is founded. OpenSSH’s client might trust their ssh host key because it was served in a connection signed by Let’s Encrypt, and the local copy of libcurl used libssl which found Let’s Encrypt in /etc/ssl/cacerts.pem etc etc.

The hardest part is adding a TLS implementation to the OpenSSH daemon and the crazy part is having it support ACME so it can fetch its own certificates**. There is precedent for this though — caddy includes support for negotiating issuance and renewal of SSL certificates via ACME:

https://caddyserver.com/

Adding a new feature like this comes with the responsibility of supporting it in production and fixing bugs (in this case, dealing with weird missing features) for the remaining lifetime of the product. It’s not something to be done as lightly as an HN comment, by any means. There are a lot of sensible reasons to use DNS to bootstrap trust but as others have pointed out it is a little naive to think that DNSSEC has anything like the level of deployment that HTTPS has achieved since ACME and Lets Encrypt showed up. I contend that it’s that aspect which makes my solution indeed a more practical method — pragmatic, even — of bootstrapping trust over The Internet in 2023.

* Yes, this will mean you cannot support clients that demand their content be encoded with xzip in ylang with zspace. We’re not writing a real httpd here, remember.

** If it’s using ACME HTTP then that makes the simplistic httpd a bit more complicated, of course. Now you have to blurt two responses instead of one.
Yes, it's been around for ages. I actually used a Pi when learning linear algebra to generate problem sets.
"I know there's meant to be a fourth leg on this thing damnit!!"
Why not after?
How is it not more cost effective and better performing AND nore flexible than an Nvidia shield or similar? Im not talking about Chromecasts here.
Single Page App in 80ms
The return of Flat Earth, the grandfather of conspiracy theories
If you’re just getting into the field, by far the easiest thing will be to start out with free Google Colab notebooks until you hit their free tier limits. Kaggle also has free GPUs to play with. When you’re starting out your bottleneck will likely not be your hardware but the learning curve of the content.

After that, use a managed service with GPUs. They will keep all of the hardware working, you just pay a monthly fee. I have no interest in diverting mental energy from learning ML to how to build a computer so that’s what I do. I use Paperspace but it has some very annoying issues so I can’t fully endorse it.
You want simple CRUD and highest performance (cause 2ms vs 4ms is 2 times faster!), you go with a micro-ORM.
You start adding associations two days later, 3 weeks later you finished coding an abstract layer to handle simple associations, you start wanting to have an aggregate root, 2 months later, you get a simple and basic ones...
Now you want to handle cascading features because they are also nice to have for your use case.
Congratulation, you have implemented something 100 worse and slower than a full-scale ORM without any benefits.
Articles need to be aimed properly at the audience. Is it beginners or experts?

It ir is not for beginners, then why start explaining Big O notation and SAT with some pseudocode?

In my opinion, the article should explain what sat stands for because it is aimed at relative beginners.

On a note: my take on the community here is that in general nobidy here wants to be spoon-fed or be insulted if they ask what an abbreviation stands for. What they want is properly written articles so that they can investigate further, and a discussion with the community.

There are so many specialists reading HN and I am amazed at the level of knowledge and experience in the replies sometimes. They don't talk with snobbery about that users should read text books and not bother because they are not part of the select inner circle. Instead, they help out and educate.

That is what makes HN great.
> This may sound harsh to some people, but all insurance policies have exemptions which (at least for accident policies) more or less boil down to "if you are behaving irresponsibly and get yourself hurt through taking undue risks, we are not paying for the consequences of your foolish behavior" -- only, you know, in legalese that is defensible in court if necessary.

Some accident policies may have those features, but zero health insurance ones do.
I think it's less about the intent of people having fun, but other people's reception of that fun.
The Power of Wisdom That Never Expires
There must be a thermal gradient, i.e. it doesn't work if everything is at the same temperature.
But these are actually for different purposes and requirements. KISS and DRY are respected.
The R101 (but not the R100) had a smoking room: https://www.airshipsonline.com/airships/interior/R101Interio...

"A unique example of design. The R101 was fitted with a smoking room on the lower deck able to seat 24 people. The floor and ceiling were made of light asbestos with a thin sheet of metal on the floor. The walls were the same construction as the rest of the ship, being made of cloth. The smoking room was not considered a hazard to the ship as all precautions had been taken with materials in construction. This is where you could retire after dinner and enjoy a cigar and postprandial drink."
While we're on the subject of ORM's I really like the https://github.com/cornucopia-rs/cornucopia way of doing things.

Basically write SQL in a file and code generate a function that runs the SQL for you and puts it into a struct (this one is for rust)

I think there's a library to do the same thing with typescript.

For me, the best way to talk to the database is with SQL and I don't have to learn an ORMs way of doing it.
Your book looks really interesting. Do you think it would be appropriate for a complete math/geometry beginner to read?
Yes, of course (too late to edit that out now though), thanks
Package manager, Static Analysis, Model Checking (like TLA+), probably scheduling software.

I'd concur that these are interesting but maybe seldom used pieces of software, except for package management.
Dilbert comic strip dropped by US media over creator's racist tirade
What does any of this have to do with Ukraine?
I still drink the good stuff outside the house, I just don’t mess about with it myself at home.
More examples on the AudioLM page. Some are pretty impressive (assuming they are cherry picked).

https://google-research.github.io/seanet/audiolm/examples/
France's baby bust
It is definitely in line with US foreign policy to lessen their dependence on Russia.
Some very small computers can talk VT100 over RS232.
Welcome to the world of today's tech gurus. These guys are busy sharing what's wrong and what's right on Twitter all day. The number of people who talk about real world applications is almost non-existent.
Tiny11builder
I don't really share your opinion here (and, likely, the supporting ones about how to use ORMs). But simply disagreeing here would waste both of our time, so I thought I'd ask you about specifics instead.

Can you give me some short links to examples demonstrating the upsides you see there? Which off-the-shelve ORMs are good ones in your opinion?

Since my take is likely based on my biases: I really haven't made good experiences with a couple of off-the-shelf ORMs, especially Hibernate and Entity Framework, both in green-field and "entrenched before I joined the project" scenarios. Both models I've seen (generate a DB schema from code annotations and generating code from some magic tool you run against your DB schema) seem really ill-advised to me (from an architectural standpoint) if the respective code is supposed to form the core of an architectural model. And if it doesn't, I can't really see the benefit in avoiding code duplication unless supporting a wide range of database vendors is a requirement.

That said, I also never worked on CRUD style applications and all projects I worked on didn't need to work with multiple database vendors. And I've certainly seen the "oops, you wrote an ORM!" effect, but the thing that irks me there was that it wasn't necessary (at least in my opinion).

I'd also readily agree on schema migrations, but there are good non-ORM solutions for that problem, too. So, what I've seen there, as problems go, is mostly a lack of care, structure and proper process akin to every occurrence of "bad code". I'm not sure that this problem is easily solved by any solely technical solution.

Do you think any of that is what made the difference in our experiences?
SAT, what? Standardized Aptitude Tests?
Thank you. I also saw Colab and Paperspace recommended elsewhere.
good idea, this should be a chrome extension that shows you what its found on every user you interact with. maybe a badge to show how many networks its found them on, and an interface to view what those networks are, instead of an extension that modifies the DOM

all powered by Enola!
Read this article for a primer on why PDO is a vastly better choice: https://phpdelusions.net/pdo#why

And the fact that it’s 2023 and we’re somehow ok with the biggest web application there is not using parametrised queries in its core completely stumps me. Time and time again, SQL injection attacks in Wordpress or it’s plugins pop up. PDO with parametrised queries simply eliminates this issue.
Thanks for the load-test, HN! Time to improve the public feed (and the sketch engine) :-)
I'm wondering how difficult it is to clean the signal once the relevant noise portion can be extracted, and then introduce a fake noise to manipulate the date?

I'd wager it's not too difficult to produce something that can fool a layman just using some dating software...
If there was a simple "pay 10c to read" button, I'd click that.
If there was a subscription that I could have that would give me ad-free access to all the random news articles that get shared with me, I'd buy that (at a reasonable price, that is).

But there isn't.
Subscribing to 283894 newspapers isn't an option.
Dear Newspapers, please accept the new reality. The days of people subscribing to exactly one newspaper died with the paper editions.
Stop blaming your failure to offer a reasonable product on "Internet freeloaders".
Yeah currently it’s mostly my hobby and interests, not directly for my work…
>it's only unambiguously correct in vacuum with no social context
No it's not, lol. There is quite literally no social context where objecting to someone's given race is the correct moral choice.
DistributedDataParallel (potentially) does both model and data parallelism. Data parallelism is also absolutely used when training large models, it has its downsides, but I don't think there's any way around it if you're training with a large amount of gpus.
There's a name collision with a very important fluorescent protein! mRuby3!

https://www.fpbase.org/protein/mruby3/
They play a big role in hardware design and verification as well. All in all, SAT solvers became very good, so the solution to many NP-hard problems is to encode them in SAT and solve them this way.
It's pretty damn clear if you have any idea what SAT and complexity theory is (which I don't), the DO eventually get around to mentioning in passing that SAT (the word in the headline, mind you) is short satisfiability, but look where..

I can't comment on the contents of the article itself, I know nothing about the subject, I only mentioned my frustration that, as someone who dares explore links on the Internet, even if they can't extrapolate the subject from the headline (the audacity, I know), it's impossible from the first paragraphs of that text to even find out what kind of subject we're talking about here.. And the SAT word, well, for me, that's what tripped me..

Look at this random article for comparison http://www.cs.toronto.edu/~lalla/373s16/notes/CSAT2SAT.pdf

They explain it in the third sentence, and they told what SAT meant _BEFORE_ they used it for the first time, not half a dense page further down in passing.

Sure, this is putting my ignorance on display, but I'm not going to apologize for not knowing about every subject in the corpus of human knowledge..
All insurance policies have limits on what they will pay. Those limits come in various forms, such as:

1. What you pay out of pocket before insurance coverage kicks in.

2. No coverage for out-of-network providers.

3. Caps on how much they will cover.

Insurance is a numbers game. Rest assured, all insurance policies and all insurance providers find ways to limit how much they pay out.

You may find some means to limit payments more distasteful than others, but they all do this. It's the only way they can possibly stay in business.
> I got really frustrated with Hugo yesterday when I couldn't add a page with just a list of all my posts on it.

I know you weren't asking for solutions but I'm surprised to hear this. That should not only be trivial but is something that ships by default when you init your site. For example this should be enough on your list page:

<ul>
{{ range .Pages }}
<li>
<a href="{{ .Permalink }}">{{ .Title }}</a>
</li>
{{ end }}
</ul>
I wanted to avoid (in some cases) a separate initialization phase and unify resource allocation with rendering (because requirements may change and require reallocation). Take GameOfLife example (https://github.com/google/swissgl/blob/main/demo/GameOfLife....). It only has 'frame()' function which transparently resizes textures when needed.
the better hunter you are (which would be tied to running longer distances)

Not always the case. Some were smarter, made better tools, worked better as a team, etc. It's not all just running longest distance. It depends on the location, weather, and surroundings too. And there's research that shows our ancestors primarily ate plants/fruits.
>Btw, Rasmussen should ask more victims of atrocities ambiguous, "It's okay to be a German prison camp guard.

That might make sense if the original poll prompt was “It’s okay to be a white supremacist.”

It wasn’t, though.
Plastic might be a cleaner, quieter, ready-made alternative to asphalt
Think of it in terms of weird graph problems and algorithms.

It is now easier and faster to encode most graph problems and have a SAT solver go at it, compared to carefully designing and tuning your custom graph algorithm for performance in the kinds of graphs you care about.

As for examples, there isn't much retail software that really needs SAT. But you might have indirectly used firewall/configuration management, home automation, flight/factory scheduling, route planning, etc.
Where I see this happen a lot: testing.

Initially test automation people think about tests as stateless, and so don't design the framework to have any persistence at all. Eventually, life proves that to be wrong, and test start needing some persistence between sessions... well, it usually starts between different cases, and that's where AQA start building ad hoc "databases".

Unfortunately, it almost never downs on them that what they needed all along was a database, so the tests grow a weird slow and buggy persistence layer.
If you write a post for experienced Linux users about using Linux, do you generally write "first, install package xyz with Advanced Package Tool (APT)", or "switch to a Terminal TYpewriter (TTY)" or "Run the following Bourne Again SHell (BASH) script"? "Extract this Tape ARchive (TAR) ball"?

Some abbreviations are so well known in certain fields that spelling them out in a text written for people experienced with that field isn't that necessary. For people who have any familiarity with this field at all, SAT (and NP in NP-complete, for that matter) are such abbreviations. I'm not against the idea of explaining what SAT stands for either, but your rule clearly doesn't hold up.

EDIT: one point I will agree with though is that the Hacker News title should have been written for a more general audience; something like "Why SAT (boolean satisfiability) is hard". But that's a complaint about the submitter, not the author.
Working with both RDF and Cypher queries, graphs could definitely do with some improvements in the language area for more complex queries.
Unless you access the database only and don't have the reports accessed through an end-user application, you usually have some language involved to call your SQL queries, normalize input, abstract them away, etc.

You do have to learn an additional API, but as a programmer, that's something I have to do every day anyway.
He’s also looking at the keyboard, so maybe he’s unfamiliar with it. Perhaps when shooting the video they thought, hey, we need that cool clicky sound, and had him use a mechanical keyboard.

But in all, he types fast enough to write Linux.

Typing speed is important for typists. For programmers, I’d say that even a 50-80 wpm rate is adequate for getting your thoughts down on the file and off to the compiler.
At work we almost exclusively use backend validation and return a json object with the fields that failed validation + what rules were failed.
> These days we program and interact with devices using a powerful machine like a laptop.

These days? :)

Using a powerful machine to program a weak machine has been a thing for decades. NES games were often developed on comparatively powerful, 32-bit machines like an HP 9000 connected to an in-circuit emulator which served as the game cartridge for purposes of testing.

But being able to talk directly with a running system, even send it new definitions as you write them, is still profoundly powerful, even if you're doing the writing on your Ryzen-powered beast of a laptop. And part of the point of Forth is, you need far, far less machine than you think you do in order to have a suitably powerful, interactive programming environment.
The good examples are _always_ cherry picked.
Spoken like a dev, not a user. Try using older hardware if you really want to understand the other side.
Good point. Some things you will learn by necessity, but if you dont know about say regexes you probably wont think of searching specifically for such a tool.