skysight-inc/HackerNews huggingface dataset:
It's good for temporal errors, like ordering or concurrency. Those are often the hardest bugs to track down with inspection or testing. Model-checkers such as TLA+ can find them fast.

Formal specifications themselves have a few benefits. The first is they force you to make everything explicit that's usually a hidden assumption. From there, they might check the consistency of your system. From there, you might analyze them or generate code from the specs. Spotting hidden or ambiguous assumptions plus detecting interface errors were main benefits in industrial projects going back decades.

However, you can get a taste of the benefits by combining Design-by-Contract with contract/property/spec-based testing and runtime checks. Design-by-Contract is a lot like asserts. Should be easy to learn with more obvious value. I'll also note that tools such as Frama-C and SPARK Ada used with code proving are adding or did add the ability to turn all the specs/contracts into runtime checks. So, that's already available in open source or commercial form. And anything you can't spec, just write tests for. :)

https://www.win.tue.nl/~wstomv/edu/2ip30/references/design-b...

https://hillelwayne.com/post/contracts/

https://hillelwayne.com/post/pbt-contracts/
Evan Hadfield did an episode of Rare Earth on these.

https://www.youtube.com/watch?v=gSEpkalRgvU
And reading it once again, I'm still sympathetic to Anton's argument and frustrated by your response. Although reading the exchange between the two of you at the bottom, I do see why you might have difficulty looking afresh at his argument. But in the hope of moving the discussion ahead at least a little, could you perhaps respond here to forthy's comment from the last thread? https://news.ycombinator.com/item?id=11226391. In particular, why does the C standard seem to prefer undefined behavior over the easier to reason about implementation defined behavior?
Great writeup. Thanks for sharing.

For the particular SBIR I applied for 15 years ago, I recall having to accept a perpetual licensing outcome that capped the license profit margins to 10%-20% actual costs. Maybe that's changed.

It seemed like a fair deal. The gov funds the R&D, they of course want returns.
The Making of “Peace for Triple Piano” [video]
Hilarious. How could they get that wrong? A simple Google Image search show this representation is non typical.
Notes on Running Production Code
>Being on an empty stomach also seems to help

There might be microbes (bacteria) in your gut (intestines, etc) that produce toxins that dull your thinking when they have food.
Manipulating people's emotions to elicit a short term positive response is not necessarily "a force for good."

Journalism has historically prided itself on telling the truth. The truth is not always a feel-good experience.

All good news, all the time is potentially a dystopian scenario where the truth is forbidden because it isn't profitable enough.
I'm the other way. If I'm hungry, I'm thinking about food all the time.

A key for me is to keep snacks on hand that aren't too bad for my health.
I was viewing in the context of web development.
I agree, yet still I use one. It's the convenience factor. For the small fees they pay, they implement the ETF strategy I would otherwise use. When I'm adding money, there's zero work or thinking.

Now, if I had $250k or more I might change my mind- there's a certain point where yes, it's worth my time to do this myself. But I'm not there yet.
On the other hand, when I receive a valid credit/debit card, it's a plain envelope and the sender name is not there. There is a return address, but no name. But when I receive a pre-selected offer to apply offer with a fake card, always a name.
You were making a value judgment about optimal utility. That's not a fact. They're just Internet Points, comrade.

> I suppose, to manufacture outrage.

You're the one who seems outraged =^)
Solid write-up of the issue. Videogames (among others) are a prime offender with this. Every game has to invent a whole slew of overly designed and difficult to decipher icons, but a game is often something you move on from quickly and on to the next one. Forcing users to learn a whole new language so your art directors can feel special is terrible.
Speaking as someone who's graduating this year, I wasn't exposed to it at all in my undergrad. I might be covered in one or two upper levels, but I hadn't heard of it until taking a graduate course where we talked about verification.
"Note that both Learn TLA+ and Practical TLA+ don't teach much of TLA+, but rather a language called PlusCal that compiles to TLA+. Some programmers may find it easier to start with because, unlike TLA+, PlusCal resembles a programming language"

Most evidence indicates using familiar concepts aids learning. That makes me hypothesize the best recommendation is the more mathematical ones for folks strong in math and the programmer-centric ones for those strong in that. That also implies that, for each of these formal topics, we need one version for each audience to draw more people in.
Sweat. The comment above was about kidneys only.

Try this: weight yourself before and after sleep.
There's no reason to write OS components in a language that will inherently give you a performance hit before you do any real work.
they trusted kraft: http://www.kraftcanada.com/recipes/layered-nanaimo-bar-chees...
It's O(1) in the sense that git works. Git uses "commit hashes". If these collide, something would break, on par with the universe stopping working, I presume. But I'm sure, since this never actually happens in practice.
> Encrypt the bloody backup keys with a key derived from a passphrase selected by a user.

Actually the system they have is better than that. You generate a random Curve25519 private key and the public part is stored. This allows your client to upload backups of session keys without needing to constantly ask the user for their recovery password.

You can then set a password which will be used to encrypt the private key and upload it to the homeserver (but you can just save the private key yourself).

So, not only do they have a system like you proposed, it's better than your proposal.

> It was an Equifax level fuckup that was totally preventable.

I agree with you that their opsec was awful on several levels, but you're not arguing about that -- you're arguing that their protocol doesnt fit their design constraints (by which you mean that they clear keys on forced logout without prompting to enable backups if you don't have them enabled yet -- as I mentioned there is an open bug about that but that's basically a UI bug).

All of that said, it's ridiculous that they don't have all their internal services on an internal network which you need a VPN to access.
Redox OS? Written in Rust.
This article links to a story about someone almost falling for the scam involving a fake AirBnb site:

> Then we noticed that the URL of the listing was a little bit off. It showed “www.airbnb.com-request-booking.space/booking/…”. We were a bit confused by this, but as the URL started with “www.airbnb.com” I figured there was no way it could be a SPAM site.

https://www.goatsontheroad.com/airbnb-scam/

This high level description fails to identify the server name part of the url and they don’t get to it later on in the article. It should be internet 101, but apparently it isn’t. If they understood the server name part of the url they’d know exactly why that url isn’t on airbnb.com and AirBnb has no control over it.

On the positive side, if they miss this, they are likely not getting scammed because they’re desperate. I’m sure that’s why some get scammed but certainly not all of them. I don’t think wishing for something that’s too good to be true is the biggest reason people get scammed.
I've written specifications of Ruby and Python codebases before, and worked with people who wrote Java, C, and Haskell code. It's pretty versatile!
History seems to suggest that it will eventually get bogged down with too much junk but its too hard to rewrite and keep compatibility so eventually some fresh project without the legacy will be able to become the technically superior product and everyone will move over to that.
Amazon & Google itself(login) uses old squiggly-text captchas. Try wrong password 2-3 times to be greeted by one.
Windows 10 with WSL has enough Ubuntu features built in now that there's really no reason to use a Mac, since the "it has a Unix shell" comment doesn't work anymore. Your choices for applications are much larger on Windows.
Interesting article. But even more interesting than the article, it makes me wonder at how our memories work.

The article mentions Albania, which is forever etched in my memory from a skit on the old tv show 'Cheers'. I probably hadn't seen the show for 25 years, but I can still remember every word of this short ditty about Albania:

https://www.youtube.com/watch?v=-F_tT-q8EF0

The power of music!
> He accused Assange of repeatedly interfering in the internal affairs of other states, referencing WikiLeaks’ publication of Vatican documents in January 2019 as a recent example. “It is unfortunate that there are individuals dedicated to violating the privacy of people,” Moreno said.

Why even offer asylum then? This is literally what WikiLeaks does.
TLC is the model checker that operates on TLA+ specs. TLAPS is a proof system. So, TLA+ has both.
When you lose your freedom and become a political pawn, you should act the part. You don't see Snowden shitting on Russia do you?
I think Linux and Postgres are much more exception than norm programming. They’re both relatively low level, critical infrastructure code worked on by domain experts with low level expertise —- not at all what most software looks like, and exactly the sort of people who would override defaults anyway.
Reddit.com/r/bodyweightfitness

They have a whole wiki section for handstands
Ask HN: Advice on Us Business Partner?
I set up a company through stripe Atlas and I'm not a US resident or citizen but I'm interested in accessing sbir and other government solicitations because I think that kind of non VC funding would be a good fit for the type of products that I want to build. in order to do that I would need a 50% us co-founder or partner. has anyone taken a similar route and what was your experience? or what advice do you have?
I imagine 10 seconds of quiet reflection would work better.
Problem is hardly anyone knows how a url and domain name work which makes sense because they follow some rules that are simple but not obvious without education. This is made worse by the fact that many companies use 100 different domain names so the legit websites are impossible to tell from scams
guessing, before watching:

1 point intersecting

2 points intersecting

infiniteish points intersecting (does that even count as two circles?)

0 points intersecting (linked as a chain through a different dimension)

oo, also 0 points intersecting (one completely inscribed by the other)

edit: I broke the rules of circles overlapping
In my workshops people usually start being able to apply it to their business problems by about day 3. It's actually pretty simple once you get the hang of it!

After those two, I'd probably recommend the original _Specifying Systems_. It can be a tough read, but it's a comprehensive dive into how TLA+ works mathematically and everything that you can do with it. You can get it for free here: https://lamport.azurewebsites.net/tla/book.html

I'd also recommend practicing by applying it to problems you've already solved in your place of work. That way you can compare it against a real system you know inside and out. I talk more about that here: https://www.hillelwayne.com/post/using-formal-methods/

Does that answer your question?
> "just extend Medicare to everyone" as if 90% of the excessive costs have anything to do with that.
> We need to solve the actual problems, which is going to eliminate a lot of wasteful healthcare-related jobs

Medicare for All virtually eliminates the private insurers, a significant part of waste in providing healtcare.
Your first point is objectively incorrect. The EU copyright laws apply to every website/company, the only difference is small companies/websites have 3 years to bring themselves into compliance.
GodDAMN am I behind on updating this

There's at least a couple more major improvements I want to make. One is fixing all of the small errors, and one is adding c-syntax. They've been stalled out due to Reasons (tm), but I'm hoping on diving back in soon.
You do. [1][2] But you have a point more generally.

[1] https://www.washingtontimes.com/news/2018/oct/19/edward-snow...

[2] https://www.theguardian.com/us-news/2018/jun/29/edward-snowd...
> Models that are used for anything important should be explainable. That is, you should be able to get a definitive answer as to why a particular result was achieved in any particular case. If a model does not have this property, it should not be used for anything critical.

What's the current standard for anything "important"? Most things important decisions are biased and not explained. Judges have biases and are allowed some discretion when sentencing. I'm sure police officers have biases as well. Same is true with just about any person making a judgement. There are laws (for good reason) that prevent certain types of biases, but it's naive to believe that the status quo on important decisions is great.

A model is better in a number of ways. First it is based on actual evidence. Although that can be manipulated, it's a lot easier to observe control than the life experiences of an individual. And you can guarantee that certain factors won't play a direct role at least by excluding them as inputs. It's much harder to tell a person to ignore some factors.

I think algorithmic, objective decision making on important decisions is very much preferable to what we have now.
It can be used to generate JSON using functions, input data, conditional expressions and anything you want.
> To me, it just feels too impersonal.

This is a relatable criticism. I think you're right that we lose some sense of the carefree, unfettered relating when we pause to articulate our codes of conduct. I, too, yearn for such liberated communities, and cherish them when available.

However, I don't think we can, as a society, afford to make assumptions. What's not explicit often exists, as I've tried to illustrate in sibling comments, implicitly and politics—ie the distribution of power amongst individuals—always exist. They're better when they're explicit.

Even between only two people! Every relationship should stand on the basis of explicit boundaries and expectations. It's often said that asking and checking such boundaries "kills the mood," and I think you're making a similar argument. The rebuttal is that relationships are much safer, and therefore deeper and valuable, when boundaries are explicit. They're worth it, every time, from 2 individuals to 7 billion.

Explicating boundaries might even be a fundamental necessity of relating, in an informative, topological sense.
A general rule-of-thumb in TLA+ is "default is worst-case". If you don't explicitly declare your actions are fair, they'll be unfair. If you don't explicitly encode atomicity into your spec, it's not atomic.

Much better to accidentally get a false positive than a false negative.
Going by the article, it just seems to be because the researcher is a darker-skinned woman and the software is mainly trained on lighter-skinned men.

"Darker-skinned women were the most misclassified group, with error rates of up to 34.7%. By contrast, the maximum error rate for lighter-skinned males was less than 1%."
> Any time I've been training something, if I take a break from it, I come back and I have more skill than I had previously.

I’ve experienced this first hand, almost like a tangible thing, while learning a language.

Whenever I came back to it after a break, sometimes after months of no exposure to the language, I was sometimes surprised to find myself being able to understand some new dialogue without looking at subtitles etc.
> Making the hospital "public" doesn't deprive you of the need to raise money to pay for equipment and then pay interest on it

But if the federal government is the one borrowing that money from itself (the Fed), it is much cheaper.
Think of a process by which you start with a vague sketch of a system and end up with a concrete implementation in, say, C++. The latter is the highest level and least detailed. The latter is as detailed as the specification of your system will get. A prose design document of your model might sit somewhere on this spectrum very close to the vague sketch. A TLA+ spec sits somewhere in the middle. It's a refinement of the design doc with more details specified concretely, but not all of them (that's the actual implementation). But this mid-level specification is usually enough to make highly non-trivial assertions that invariants hold (safety properties) and also liveness properties are satisfied too. But keep in mind that the specification of your system is distinct from the model checking of that spec. The latter is like a test, albeit of your system not just some "unit" within your system.
Ways to Learn How to Flirt with a Girl
The article is all about how that saying is not even close to the whole story.
The problem is that this group of programmers are operating on a language that is almost-but-not-quite C. They would very much like to believe that there is a set of flags which make the compiler run in the mode of almost-C that the application engineers thought they were working with all those years ago.

But the fact of the matter is that the ISO C standard is the only contract which has been written down between application authors and compiler authors. No amount of flags are enough to guarantee that a particular individual's expectation of almost-C will be equal to what their compiler is producing.

What the industry needs to move forward are two things. A set of tools that can help identify more cases of almost-C that need to be ported to C. We're getting this, in the form of UBSAN, ASAN, and their kin. The other thing is for the veterans to accept that their particular brand of almost-C doens't actually exist. There's only ISO C. For almost three decades now, that's all we've had. the engineering cost of trying to keep almost-C alive is just too high to keep paying.
Yep, same reason the US paid for various former Soviet states to secure or dispose of their nuclear weapons. https://en.wikipedia.org/wiki/Nunn–Lugar_Cooperative_Threat_...
Yep :) Hence "most" - you can write deductive proofs with TLAPS, but most of the documentation and the community is devoted to model-checking.
"Why even offer asylum then?"

The decision of offering asylum to such a controversial figure is clearly political, and Ecuador's president has changed since then...

From what I read, since his election the current one (Moreno) pretty much has been reversing the legislation passed during the government of the former one (Correa), which is a strong supporter of Assange.

https://www.bbc.com/mundo/noticias-internacional-47902702

(in Spanish, note that in the article Correa says that one of the latest "leaks" involved people close to Moreno)
Regardless, thanks for the informative site.
That's true. However, it might still be worthwhile given it appears to dominate competitions in many categories:

https://web.archive.org/web/20190318010151/http://tptp.cs.mi...

As in, many people might be willing to get a license to get results some other prover weren't getting. It doesn't take a lot of complexity to choke one or explode its resource use.
The Allies made short work of the German bunkers during D-Day.
This is such an interesting topic and I really don't know where to stand on it. On one hand, this is an argument that systems such as laws, lending practices, etc. should be based on repeatable and explainable rules. Rules will end up with some bias, but the bias can be dissected and argued about until we reach some consensus that the bias is acceptable/desiresble. In the case of lending, maybe we consider credit history a fair input metric but zip-code an unfair metric, for example.

On the other hand, systems such as laws and lending, which are inherently about social interaction, do tend to have some unspecified human element. Judges interpret the law and apply it to specific cases, underwriters have latitude to make exceptions under certain vague circumstances, teachers may regrade a paper upon realizing they misspoke in a lecture. This is a feature, not a bug--if our social systems have no room for empathy then there is a big problem.

So now that AI is "unexplainable", how is this worse than the unexplainability of human systems? You can ask a human why they took some action, but their explanation tends to be incomplete, wrong, a lie, or maybe they don't recall. I once was given the opportunity to lease a top-floor apartment in my building because I had a daily chat with the receptionist. All fair housing laws were followed, I just happened to be the first to know because I had such frequent interaction. If you were to ask the receptionist why I got the apartment she probably wouldn't say "zwkrt tells me bad jokes and we share pictures of our pets", but that probably is part of the reason.

I think fundamentally we understand that humans share a way of life and a set of ineffable values, and we believe that computer-generated results do not share these values. Unfortunately I do not have a conclusion, just a formulation of a problem.
eBay has indeed found an amazing niche. I've been gladly forking what one would consider an outrageous fee for auctioning off one's items, simply because the stuff sells so predictably. I regularly list stuff that one would consider junk and make a buck. Just auctioned off a decade old Asus eee PC for $50 (it still works though). Im so okay giving ebay 5 bucks for this ability! I made a few dollars, a working laptop found some home, and i threw less into the trash!
> Original elisp algorithm. While using the original elisp source as a guideline might result in less idiomatic Rust code...

Seems to be a pretty direct translation (without reading the sources of both).

Now, if they took the original source and used it to implement a grammar then based the rust code off said grammar they might have a case -- which, I believe, is what a "clean room" implementation would do, preferably with two different people doing either task.

IMHO this is a clear copyright violation else you could just "reimplement" your way out of any license.
you're literally the mythical unicorn, I don't know a single person that has appreciated using Azure.

I'd personally trade my first born with no second thoughts to use AWS instead.
Isolation is a very bad thing. Seven years is too much. Feeling wronged, with the USA after you, confined to a building for someone used to travelling the world... I can understand a behaviour that I strongly dislike, including all kind of shit suggested by the only people that supported him.

So I'm sorry for him and Snowden, but I wouldn't trust either of them in their current circumstances.
> An exhaust manifold takes the hot exhaust from each cylinder separately and combines them into one big pipe.

Does that have anything to do with “many-fold?”
Having the azure table storage be indexed into azure search with an azure function as the indexer delivers a pretty powerful alternative that isn't exactly batteries included, but close.
The Weird History of the Mojave Phone Booth, Where the Number Lives On
This may be true, but the article is talking about 10 second breaks so it's a little bit different from what you're describing.
Do you feel that they should be held to a different standard to every other media? Television stations are responsible for what is televised, radio stations for what they broadcast, newspapers for what they print - but somehow internet companies are not responsible for what they store and communicate due to the number of messages they must monitor?

OK, that's fine, we'll treat them like common carriers and regulate them.
> responsibilities

possibilities