Via @johnregehr this further tale of compiler “optimizations” that break correct C code without even a warning by deleting a necessary null pointer check. In this example, Bar contains a stack of Foos. Sometimes the Foo stack is empty, so
informal methods applied to networks and timeouts
Distributed computation involves many interesting issues concerning shared data. Here I want to sketch out what networks look like using applied (informal) mathematics so we can look at some algorithms for consensus and data consistency. No formal methods or category
Current reading: meltdown and spectre edition
Google project zero and then The two attacks. and remediation for Spectre in LLVM. Test code. (via Lobste.rs) Limits of ASLR. Spanner,True Time and CAP See also Synchronous Processors. and processor architecture. Some papers by Stephen Kell (also via lobste.rs
Types considered harmful II
Originally Nov 30, 2017. (revised 2021,2023) Russell introduced what is often viewed as his most original contribution to mathematical logic: his theory of types—which in essence tries to distinguish between sets, sets of sets, etc. by considering them to be
Bad ideas in type theory
Types as sets and subtypes as subsets. This may be due to confusing usage in mathematical practice where, for example, we often see references to integers as a subset of reals. But in mathematical usage, people generally understand that while
Current reading August 2017
Two-way string matching And an implementation in Musl. The C standard post C11 The Rube-Goldberg approach to fault tolerance in NTPd which is not worse than PTP fault tolerance but a lot worse than what is done in TimeKeeper. Interesting but
James Damore’s defenders (updated)
(recently saw a post claiming that Damore’s firing was an indication of closed minds at Google, so it seemed important to repost this – vy) The Google manifesto is a crackpot political argument combined with basic scientific ignorance, not a scientific
Google Manifesto shows that many programmers are bad at logic
Everyone can recognize some kinds of spurious reasoning – like the following: (A) Most programmers are not great. (B) Google tries to hire only excellent programmers (C) A implies B is hopeless and counterproductive and demoralizing Clearly, step (C) is
Sorting and groups
I can’t find much reference to this in the literature (see Maus for some hints and an interesting paper) , but surely people have looked at sorting as a problem in group theory? Given a sequence $latex s=[x_1\dots x_n] $
C compiler developers are hostile to C programming
From the LLVM developer mailing list this remarkable exchange in which Chris Lattner of LLVM says that the compiler use of undefined behavior (UB) is so “crappy” that the only solution is to abandon C programming (my bold). On Jul