HN user

ahelwer

9,125 karma

TLA⁺ core developer

ahelwer.ca

Posts71
Comments1,611
View on HN
ahelwer.ca 1y ago

TLA⁺ is more than a DSL for breadth-first search

ahelwer
9pts2
ahelwer.ca 2y ago

TLA⁺ Unicode support: Learning to work with others in open source

ahelwer
3pts0
ahelwer.ca 2y ago

Wrangling Monotonic Systems in TLA+

ahelwer
67pts7
ahelwer.ca 3y ago

FOSS I Love: Local game streaming with Sunshine and Moonlight

ahelwer
7pts1
www.eurogamer.net 3y ago

Nintendo hacker Gary Bowser will be in debt to the company for rest of his life

ahelwer
7pts1
ahelwer.ca 3y ago

Inlining SVGs for Dark Mode

ahelwer
51pts16
ahelwer.ca 3y ago

Using TLA+ at Work: Designing a Snapshot Coordination System

ahelwer
11pts0
ahelwer.ca 3y ago

Pseudocode Showdown: Python vs. PlusCal and TLA+

ahelwer
5pts0
ahelwer.ca 3y ago

Google Groups has been left to die

ahelwer
507pts294
grist.org 3y ago

How Big Tech rewrote the nation’s first cell phone repair law

ahelwer
2pts0
ahelwer.ca 3y ago

Can sanitizers find the two bugs I wrote in C++?

ahelwer
4pts0
ahelwer.ca 3y ago

Two C++ bugs I found

ahelwer
3pts2
ahelwer.ca 3y ago

Writing a TLA⁺ tree-sitter grammar: my foray into free software

ahelwer
131pts3
ahelwer.ca 3y ago

What's the difference between a computer and a rock?

ahelwer
1pts0
www.youtube.com 3y ago

Formal Methods at Microsoft – Nikolaj Bjørner

ahelwer
2pts0
ahelwer.ca 3y ago

The Missing Prelude to the Little Typer's Trickiest Chapter

ahelwer
2pts0
www.microsoft.com 4y ago

Microsoft Quantum team reports observation of a 30 μEV topological gap

ahelwer
3pts0
news.ycombinator.com 4y ago

Ask HN: Why have chorded keyboards not become popular among software engineers?

ahelwer
17pts11
emptysqua.re 4y ago

Multi-Paxos in Python, Tested with Jepsen

ahelwer
3pts0
en.wikipedia.org 4y ago

Russian Stove

ahelwer
3pts1
apnews.com 4y ago

Biden splitting frozen funds for Afghan relief, 9/11 victims

ahelwer
1pts0
www.nature.com 4y ago

What’s Next for Psychology’s Embattled Field of Social Priming (2019)

ahelwer
1pts0
news.ycombinator.com 4y ago

Tell HN: Twitter is growing increasingly unusable without an account

ahelwer
313pts242
ahelwer.ca 4y ago

Regexes in the Z3 Theorem Prover: Analyzing Teleport RBAC

ahelwer
2pts0
kenliu.name 4y ago

A Man Who Ended History: A Documentary [pdf]

ahelwer
2pts0
johanneslink.net 4y ago

Model-Based Testing

ahelwer
26pts2
blog.adamant-lang.org 5y ago

Operator precedence: we can do better

ahelwer
1pts0
durangoherald.com 5y ago

Rockfall destroys pipeline to USA's oldest operating hydroelectric power plant

ahelwer
2pts0
www.linkedin.com 5y ago

Edmund M. Clarke, recipient of 2007 Turing Award, passes away from Covid-19

ahelwer
19pts2
ahelwer.ca 5y ago

Two Pictures of Quantum Computation

ahelwer
1pts0

There is a strong Jevons Paradox effect at play here though, people generally have a set amount of wall-clock time (1 minute, 10 minutes, etc.) they budget to check their model and then find the largest model that fits within that wall-clock time. So really this just increases the size of the state space people will explore, which might be the difference between checking, say, 3 vs. 5 nodes in a distributed system.

That's very neat! I will look at Truffle. The TLA+ interpreter is definitely "weird" in that it does this double duty of both evaluating a predicate while also using that same predicate to extract hints about possible next states. I wonder how well this highly unusual side-effectful pattern can be captured in Truffle.

Edit: okay the more I look into GraalVM the more impressed I am. I will have to sit down and really go through their docs. Oracle was actually cooking here.

There are some proposals floating around to evolve PlusCal. Probably the most prominent is Distributed PlusCal[0]. There's a programming language lab at UBC which is also doing a lot of experimentation with transpiling PlusCal to Golang[1]. They presented a paper at the latest community event.

The PlusCal-to-TLA+ transpiler is considered part of the core TLA+ tools and will definitely keep being maintained.

[0] https://conf.tlapl.us/2020/03-Heba_AlKayed-An_Extension_of_P...

[1] https://distcompiler.github.io/

There has definitely been a focus on improving developer onboarding in the past few years! If someone's PR is rejected now that can be considered a failure of the process, something to be fixed. I think when TLA+ was mostly a product of MSR this sort of thing could kind of fly (still unfortunate) but now that we're out in the wild with a foundation it's really a survival thing to not bounce willing contributors.

Hillel Wayne wrote a post[0] about this issue recently, but on a practical level I think I want to address it by writing a "how-to" on trace validation & model-based testing. There are a lot of projects out there that have tried this, where you either get your formal model to generate events that push your system around the state space or you collect traces from your system and validate that they're a correct behavior of your specification. Unfortunately, there isn't a good guide out there on how to do this; everybody kind of rolls their own, presents the conference talk, rinse repeat.

But yeah, that's basically the answer to the conformance problem for these sort of lightweight formal methods. Trace validation or model-based testing.

[0] https://buttondown.com/hillelwayne/archive/requirements-chan...)

I think it is good that people put in a lot of effort to collect this in one place. The report opens with a very strong perspective:

The case against Stallman is clear, and yet the free software community has failed to act, in particular at the level of institutions and leadership but also in the form of grassroots support for Stallman. Many defenses of Stallman rely on a comfortable ignorance: ignorance of the scope and depth of Stallman’s political campaign against women and victims of sexual violence, or a comfortable belief that Stallman ceased his problematic behavior following his 2021 re-instatement in the Free Software Foundation. Some believe that Stallman’s speech has not caused material harm, or that his fringe views are not taken seriously; we provide evidence to dismiss all of these arguments in this report.

One thing I have consistently encountered when discussing contentious topics with people is that intentional ignorance is a tactic. One cannot be held responsible for acting one way or another on an issue if they do not know anything about it. Women I know in industry report this as by far the most common reaction of male coworkers to one of their colleagues facing allegations of sexual harassment. They don't know anything about it, it seems complicated, they haven't followed it closely, they don't want to get involved, etc. It is very frustrating and I am glad the report has identified this phenomenon and is pointing out this has been going on for long enough that it cannot be reasonably deployed by anybody.

This series of books has always been aimed at people who want to implement the underlying systems. If you’re more interested in the application side of dependent types you might like the book Functional Programming in Lean by the same author, which is freely available online!

Good way to describe it. I tend to see it occur on lists alongside The Art of War and The Prince, which have this weird reputation as titanic, dense tomes read by Serious Men but in reality are more like pamphlets that you can go through in about half an hour. The first time I saw a copy of The Art of War in person I actually laughed out loud.

This is a great passage but in a society taking climate change seriously carbon farming will unironically become a thing. Planting certain crops or using certain forms of composting to sequester as much carbon as possible on large areas of land that are not used to produce food or other cash crops.

Go ahead and buy the land & oil rights to a large oil reservoir if you want to cash in on this hypothetical program.

Paying off the oil companies in this way means the end of the oil companies. They get a one-time cash infusion but that's it, no recurring revenue. Then no more oil companies to lobby against climate change. It's the only non-revolutionary route left, probably. Oil companies aren't just going to stop pumping oil and stop throwing the government around.

If you're still committed to technocratic market-driven solutions to climate change there's the interesting idea of Carbon Quantitative Easing, essentially directly paying people to not emit carbon (read: pay oil companies to not pump out the oil they're going to pump out) or to sequester carbon with various methods. It's thought of as a carrot along with the stick of carbon taxes adding a cost to emissions.

First learned about this in the excellent sci-fi novel The Ministry for the Future.

https://en.wikipedia.org/wiki/Carbon_quantitative_easing

It is be interesting to think of how a checker would work that detects monotonicity & deploys this theorem to check liveness properties. Maybe I'm just describing the TLA+ proof language! Also something to bring up at the next monthly TLA+ meeting.

The shortest possible answer is that qubit states are modeled as two-dimensional vectors on the complex unit sphere. We arbitrarily designate two orthonormal vectors on this sphere as corresponding to classical states 0 and 1. If the qubit vector isn't in the 0 or 1 state, it's in some linear combination of them. This is called superposition. Since most people don't know what linear combination means, superposition is explained as "sort of both at the same time". Upon measurement the qubits are collapsed to 0 or 1 with some probability proportional to how close they are to the 0 and 1 states. The precise probabilities are given by something called the Born rule. I gave a longer talk aimed at computer scientists if you're interested beyond this explanation: https://youtu.be/F_Riqjdh2oM

Using math to model a system instead of learning math qua math does wonders for ease of understanding. Derivates and integrals become easy if you're using them to model the relationship between position/velocity/acceleration. I don't think I really got linear algebra until using it to learn quantum computing.

(am also on the spectrum)

neuro-typicals mistake my intent and refuse to believe me

This is an idea I had to unlearn. We struggle as much understanding ourselves as understanding other people. When people react negatively to our behavior often times we immediately jump to extending unlimited benefit of the doubt to our own intentions. In reality, our perception of our own intentions are often post-hoc fabrications to preserve our self-image as a nice person. Letting go of this assumption was helpful to a better understanding of interpersonal interaction.

Incredible to post this in a year with record numbers of forest fires. When trees burn they release all their sequestered carbon. Climate change makes forest fires more common.

Regardless planting trees is still a good thing and I don't actually know of any liberals who are against it, very strange thing to believe of them.

These things are interlinked. Developing addiction or mental health issues makes you less able to keep an income. If housing is more expensive it's then that much easier to not be able to make rent. And if you're homeless then it's quite easy to develop drug addictions or mental health issues. Housing prices are a single dial that turns up the heat on the whole system.

Honestly we don't have to intellectualize this very much. A child can understand this. If housing is more expensive it will be harder for people to afford it! And people who can't afford housing become homeless!

The author cites the BNEF energy transition investment trends report a few times, and I encourage everybody to flip through it. It contains many interesting facts, and you certainly have to take an extremely skewed view to arrive at the same conclusions as the author: https://about.bnef.com/energy-transition-investment/

Notably, the banner fact that 2022 was the first year - ever - where global investment in renewables equalled investment in fossil fuels[1]. This was primarily championed by China, which produced one of the most astonishing graphs I've seen in recent times[2]. It entirely upended how I view leadership on this issue and what countries are taking it remotely seriously. Canada isn't even in the top 10!

Anyway, given that - again - this is the first time ever that investment in renewables has matched investment in fossil fuels, it is not surprising that fossil fuel usage has continued to grow.

[1] https://imgur.com/B2QBY6u

[2] https://imgur.com/OlMAKVd