Andrew Boyton

4.1K posts

Andrew Boyton

Andrew Boyton

@boyto_

Christian. Father. Developer. Principal Software Engineer at @theiconicau Previously @kayosports @freelancer. PhD in formal methods.

Sydney Katılım Temmuz 2009
465 Takip Edilen183 Takipçiler
Andrew Boyton
Andrew Boyton@boyto_·
@damekdavis @tribbloid Isabelle/HOL had a method a decade or so ago that would try find counter examples. Wasn’t perfect but sometimes it was VERY helpful. Based on Haskell QuickCheck IIRC.
English
0
0
2
42
Damek
Damek@damekdavis·
'Proved' something new and had codex formalize it lean. It generated 41000 lines. I initially left all cited theorems that I relied on as axioms, but then I started formalizing them. Codex complained about one particular result. Turns out that result was false as stated.
English
11
16
387
36.9K
Andrew Boyton
Andrew Boyton@boyto_·
@AdamRackis We often feel more productive with AI but are actually less. They’re like slot machines. fast.ai/posts/2026-01-… > A study from METR found that when developers used AI tools, they estimated that they were working 20% faster, yet in reality they worked 19% slower.
English
0
0
0
40
Adam Rackis
Adam Rackis@AdamRackis·
99% sure I could have just moved all those files, and adjusted the ~12 import paths faster than the 3 minutes 45 seconds it took my agent to do so. Starting to wonder if we might be overusing this shit just a lil
English
53
6
493
39.3K
Andrew Boyton
Andrew Boyton@boyto_·
@AdamRackis @fardarter You can disable a specific rule showing in VSCode but leave the rest. I’m AFK but I think it’s something like this. { "eslint.rules.customizations": [ { "rule": "no-console", "severity": "off" }, { "rule": "no-debugger", "severity": "off" } ] }
English
1
0
1
31
Adam Rackis
Adam Rackis@AdamRackis·
@fardarter I don’t run ANY lint tools in my editor. I don’t like seeing every console.log / debugger / etc light up red as I’m coding
English
2
0
1
172
Adam Rackis
Adam Rackis@AdamRackis·
Looks like I got a lint error on line 69 👀
Adam Rackis tweet media
English
2
0
8
3K
Andrew Boyton
Andrew Boyton@boyto_·
@kamatsu8 If you train yourself you can hear the “ring” before it feeds back. What you can do if you have a graphic equaliser is find the squeal frequency and remove it, then remove some of the harmonics. Means you can have things louder before it squeals. That or move the mic or speaker.
English
1
0
0
18
Liam O'Connor
Liam O'Connor@kamatsu8·
@boyto_ I think it's mostly the latter. My parish also lately has had problems with feedback loops causing ear-bleeding screeches. It's hard to pin down the exact cause.
English
1
0
0
9
Liam O'Connor
Liam O'Connor@kamatsu8·
It's a highly specific complaint, but I've never seen the microphones/audio system in any cathedral or church work 100% reliably. They seem to require constant maintenance, babying, and expenses. Why is this!? It seems absurd that we can't make this technology reliable.
English
1
0
0
112
Andrew Boyton
Andrew Boyton@boyto_·
@johnzabroski @Leonard41111588 And if all you’re verifying is the C code then the C compiler can decode to produce assembly code that’s no longer constant time. And eventually you’re down to the ISA of a chip no? I left the seL4 project before most of their timing work and that was a long time ago.
English
2
0
0
19
Andrew Boyton
Andrew Boyton@boyto_·
@johnzabroski @Leonard41111588 It’s been a long time since I’ve formally verified any code but I guess I don’t 100% understand what you mean by constant time. There’s “simple” things like not returning early when comparing equality but ist any branch potentially susceptible to timing attacks like Spectre?
English
2
0
0
17
Andrew Boyton
Andrew Boyton@boyto_·
@Leonard41111588 You mentioned timing attacks. What type of verification are you doing that supports reasoning about timing? I’m much more used to refinement proofs where you prove the code implements an abstract specification. How do you reason about timing down to the CPU level?
English
1
0
0
62
Andrew Boyton
Andrew Boyton@boyto_·
@Leonard41111588 Verifying ZIP is very impressive. That’s a great example where the specification is relatively easy to specify, which I find is rarely the case. I’m not seeing in that repo that it’s written in Lean rather than just bindings to the C. Am I missing something there?
English
1
0
3
1.1K
Andrew Boyton
Andrew Boyton@boyto_·
@kamatsu8 Sound is definitely more complex than lights. I do think the move to digital sound desks has made the harder to debug. Are the issues hardware breaking or things just not working? Most of my issues are the latter. Joys of way too many operators and someone changing something.
English
1
0
0
13
Liam O'Connor
Liam O'Connor@kamatsu8·
@boyto_ Now my parish is on a shoestring budget but my parish in Edinburgh is not in financially bad shape, and they recently had sound system gremlins too.
English
1
0
0
205
Andrew Boyton
Andrew Boyton@boyto_·
@kamatsu8 Some older or fancier building like cathedrals do have trouble getting them to sound good as they weren’t designed for speakers and you can’t always put the speakers and mics in the best position as people don’t want to destroy the asthetics (for good reason).
English
1
0
1
15
Andrew Boyton
Andrew Boyton@boyto_·
@kamatsu8 Not normally had too many issues in churches I go to. The biggest problem for most is that they are run by volunteers of varying skills or with very cheap budgets.
English
1
0
0
14
Andrew Boyton
Andrew Boyton@boyto_·
@ajrgd @JustDeezGuy @HSVSphere I’ve not worked on this for over a decade so I’m rusty. I’d say Isabelle, the model of C, the ARM model, the tooling, the proofs and the techniques could all be used elsewhere. Some more reusable/useful than others.
English
2
0
2
33
HSVSphere
HSVSphere@HSVSphere·
Yes, and the verification code is way more than the actual C code. Take a look at the sel4 kernel, the C kernel is tiny whereas the proofs are an order of magnitude larger in a functional language
Daniel Colascione@dcolascione

@schteppe Everyone misses that safety-critical C is basically a different language and programming experience anyway. No contradiction in Safety-C > Rust > Regular-C because Safety-C != Regular-C.

English
5
1
132
9.5K
Andrew Boyton
Andrew Boyton@boyto_·
@dcolascione @HSVSphere That work was being automated as the project was being developed. I suspect the original proofs could have been much shorter had they used AutoCorres, but it was only after doing them manually the automation could be built. github.com/seL4/l4v/blob/…
English
0
0
1
21
Andrew Boyton
Andrew Boyton@boyto_·
@JustDeezGuy @HSVSphere I’m not quite sure how any of this relates to how verbose safe code is. If anything verified C can be more terse as it doesn’t need to be defensive to get the same guarantees. I guess you could say the verbosity is in the proofs but that doesn’t seem a fair comparison.
English
0
0
1
6
Andrew Boyton
Andrew Boyton@boyto_·
@JustDeezGuy @HSVSphere Also the size of the refinement proof between the different models (abstract, Haskell, and C) is not really the same as how verbose the models themselves are. Proof size is more a measure of Isabelle and the tooling. The models were much smaller than the C implementation.
English
1
0
1
14
Andrew Boyton
Andrew Boyton@boyto_·
@kerckhove_ts @JustDeezGuy I was projecting objects from one state space into one which had pieces of objects so I could reason not just about objects separately but also pieces of objects seperaetely. Having invalid states in the pieces world was okay but caused too much pain I found a different encoding
English
0
0
1
30
Andrew Boyton
Andrew Boyton@boyto_·
@kerckhove_ts @JustDeezGuy The amount of time I spent trying to create a separation algebra on a state space with invalid states I learned the hard way to not allow invalid states. I don’t remember what they were but a decade or so later I still remember the lesson well.
English
1
0
1
198
Tom Sydney Kerckhove
Tom Sydney Kerckhove@kerckhove_ts·
When people say "Make invalid states unrepresentable", that always sounded like "These a b = This a | That b | These a b" not being able to have neither a nor b, but in reality it's more "Char" not being a Bool, and "Int" not being null.
English
6
2
29
3K
Andrew Boyton
Andrew Boyton@boyto_·
@jessfraz `Some(Personality::None)` is just beautiful from a type safety point of view. “Remind me, what was that billion dollar mistake again?” At least they’ve added a None of some description.
English
0
0
0
348
Jessie Frazelle
Jessie Frazelle@jessfraz·
this is the most frustrating thing of my entire life considering how many people I've told that codex is amazing to.
Jessie Frazelle tweet media
English
33
3
380
62.4K