##
**six** things tagged **“computer science”**

## A tongue-in-cheek presentation on the Turing-Completeness of PowerPoint

This is some astounding PowerPoint-fu. Reminded me of the words of Linus Torvalds, “That is either genius, or a seriously diseased mind.”

## Functions, Monoids, Functors, Monads

Started with this blog post about why one would need a monad (from a typing standpoint.) Then watched “What the 𝒇 is a Monad” which made a lot of things clear. Then watched this excellent, *excellent* talk on Lambda Calculus (with JS *and* Haskell code!) by Gabriel Lebec.

Finished with a quick practical, toy example by @mpjme and this Scala horror-show (to me.)

## Numbering from Zero

Dijkstra on why numbering should start from zero.

Numbering is done with natural numbers. Let’s take zero to be the smallest natural number^{1}. For the sequence (2, 3, 4, … ,12), using the convention (2 ≤ *n* < 13) is appropriate because

**For a sequence starting with zero**, like (0, 1, 2, 3), the left hand condition leaks into unnatural numbers if you use “less than”: (-1 <*n*).**For an empty sequence**, the right hand also leaks into the unnatural if you use “less than or equal to”: (*n*≤ 0)

And minorly, because these are the true of another convention (1 < *n* ≤ 12)

- Difference between bounds (13 - 2 = 11) is the length of the sequence
- I know that these two sequences are adjacent: (2 ≤
*n*< 13) and (13 ≤*n*< 24)

All that’s prep for:

When dealing with a sequence of length

N, the elements of which we wish to distinguish by subscript, the next vexing question is what subscript value to assign to its starting element. Adhering to convention a) yields, when starting with subscript 1, the subscript range 1 ≤i<N+1; starting with 0, however, gives the nicer range 0 ≤i<N. So let us let our ordinals start at zero: an element’s ordinal (subscript) equals the number of elements preceding it in the sequence. And the moral of the story is that we had better regard – after all those centuries!^{2}– zero as a most natural number.

There’s also this little nugget

I think Antony Jay is right when he states: “In corporate religions as in others, the heretic must be cast out not because of the probability that he is wrong but because of the possibility that he is right.”

## Winter Coding Challenges

- Advent of Code (via BE, 25 challenges.)
- The Elevator Saga (via co-worker, 18 challenges.)

## On the Turing-Completeness of PowerPoint

A tongue-in-cheek presentation on the Turing-Completeness of Powerpoint. This is some astounding PowerPoint-fu. Reminded me of the words of Linus Torvalds, “That is either genius, or a seriously diseased mind.” 😛