Quantcast
Channel: keeping simple
Browsing all 195 articles
Browse latest View live

Computer Science as a scholarly discipline.

Google Scholar tells me that “Why Functional Programming Matters” was published in 1989 and has been cited over 1000 times. Here’s a quote.  Recall that a complete functional program is just a function...

View Article


undefined behavior and the purpose of C

C undefined behavior. From one of the LLVM developers: This behavior enables an analysis known as “Type-Based Alias Analysis” (TBAA) which is used by a broad range of memory access optimizations in the...

View Article


Types considered harmful

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...

View Article

The C standard committee effort to kill C continues

Consider the following code: void f(void) { unsigned char x[1]; /* intentionally uninitialized */ x[0] ^= x[0]; printf("%d\n", x[0]); printf("%d\n", x[0]); return; } In this example, the unsigned char...

View Article

The C standard versus C and the mother of all hacks.

The Kafkaesque interaction of the C standard and the main open source C compilers was concisely outlined by one of the main LLVM authors back in 2011: “knowing that INT_MAX+1 is undefined allows...

View Article


Current reading: July 8 2017

Principal type-schemes for functional programs∗ Luis Damas† and Robin Milner First published in POPL ’82: Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages,...

View Article

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...

View Article

Image may be NSFW.
Clik here to view.

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 say a...

View Article


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...

View Article


Image may be NSFW.
Clik here to view.

The crackpot Google manifesto and unthoughtful sadness

Defenders of the Google manifesto  as an argument about science are in denial about the topic of this crackpot screed. Damore claims that any program to encourage hiring and promotion of women and...

View Article

Image may be NSFW.
Clik here to view.

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...

View Article

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...

View Article

Image may be NSFW.
Clik here to view.

Quicksort without pseudo code

Sorting is a basic topic in computer science and it is all about putting a finite sequence in order according to some measure. The usual presentation involves either pseudo-code or actual code. I think...

View Article


Types considered harmful II

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...

View Article

Current reading: meltdown and spectre edition

The two attacks. Test code.  (via Lobste.rs) Limits of ASLR.  Spanner,True Time and CAP   See also Synchronous Processors.  and processor architecture.   

View Article


informal methods applied to networks and timeouts

Distributed computation involves many interesting issues concerning  the consistent or non-consistent quality of shared data. Here I want to sketch out what networks look like in terms of logical...

View Article

Image may be NSFW.
Clik here to view.

Paxos shaken but not stirred

The infamous distributed consensus algorithm, dissected, patented, with miracle ingredients. (minor updates march 5)

View Article


Image may be NSFW.
Clik here to view.

More UB madness from LLVM/Clang

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...

View Article

Image may be NSFW.
Clik here to view.

Xor patterns

The xor  i mod 128 “multiplication table” as presented by Mathematica. Here is the mod 64 matrix.

View Article

Image may be NSFW.
Clik here to view.

New and or notable.

My new favorite line: “My good sir, I worry that your groundbreaking treatise will go overlooked here on Twitter” This is a great essay on programming: Operant Conditioning by Software Bugs. This is a...

View Article
Browsing all 195 articles
Browse latest View live