Weekend Reading — e = mc²

Published on

@InfoQ "First law of software quality "

This week we look at the design of a fantastic, non traditional game, and the mission statement of a fantastic, non traditional company; Zube and 1Password are some of my favorite tools; WordPress bets big on Node and React; what it takes to C in space; we look at 58 years of computer evolution; a nightmare of a code; thank you all for being so fabulous!

Design Objective

Secrets behind the success of Monument Valley What happens when a not-games-company designs a game with nothing to kill, no hard puzzles, no artificial rewards, no infinite game play. I recommend watching this talk from start to finish.

What is MUJI? Muji's mission statement is contrary to every brand I can think of (if you never shopped at Muji, you're missing out):

This is because we do not make objects to entice responses of strong affinity, like, “This is what I really want” or, “I must have this.” MUJI’s goal is to give customers a rational satisfaction, expressed not with, “This is what I really want” but with “This will do.” “This is what I really want” expresses both faint egoism and discord, while “This will do” expresses conciliatory reasoning. In fact, it may even incorporate resignation and a little dissatisfaction. MUJI’s goal is to sweep away that slight dissatisfaction, and raise the level of the response, “This will do” to one filled with clarity and confidence.

Tools of the Trade

Zube Zube is a task board for Github issues. Our team of 5 has been using it for several weeks now. Recommended.

1Password for Teams 1Password adds team sharing. Better than anything else we tried (Meldium, OneLogin, Bitium, etc): fantastic UI, works great on mobile, can share logins, WiFi, credit cards, notes and documents.

Embedding Google Maps using markup Add location information into HTML, using standard markup and annotations, and the script takes care of placing markers on the map.

Math.random() and 32-bit precision Turns out you can visualize the output of Math.random() and learn about randomness.


Docker is bringing about the Year of the Small Linux Inside Larger Linux Inside Virtualbox inside Mac OS X On The Desktop

Enhancements #1 This PR rightfully belongs to the official editor for Code in the Dark, a quirky developer competition: 15 minutes, HTML/CSS, no preview.

Lingua Scripta

Building Favitimer Building a timer in the browser: animating favicon with Canvas, Service Workers, Audio API, and a few other modern browser tricks.

Mancy Epic update for Mancy, the JavaScript REPL app now supports transpiled code (Babel, CoffeeScript, TypeScript, LiveScript), promises and async/await, in-line charts, buffer explorer, regular expression live editor, and much more.

Dance to Calypso TL;DR WordPress admin dashboard is getting a substantial rewrite, PHP is dead, long live Node and React. The core blogging engine remains PHP, with an open API for all features.

Essential Reading List for Getting Started With Service Workers Everything you need to know.

ES.stage3: string padding ES2017 getting an easy way to pad strings, great for formatting data to the console.

Lines of Code

Tests Should Test One Thing (?) Of course. Cool way of showing this by example using FizzBuzz:

  1. Small tests tend to be easier to pass, facilitating faster micro-iterations ("baby steps")
  2. Small tests tend to be easier to understand, serving as clearer specifications
  3. There tends to be less reasons for small tests to fail, making it easier to pinpoint the problem when it does

@lady_nerd Better late than never:

The lesson I wish I had learned earlier. Writing code slowly, deliberately and with tests is quicker long term than hacking stuff together

@mathiasverraes Creative:

I always love it when code is formatted in the shape of the problem it's solving. Here, literally, tetris blocks:

@dotMudge This applies to languages other than C, and environments other than deep space:

Imagine a _world_ of code where:

Functions are no longer than 60 lines of text & define <= 6 parameters.

JPL Institutional Coding Standard for the C Programming Language

9 truths that computer programmers know that most people don't. This one in particular confuses so many people:

Most of programming is spent sleeping, walking around, staring out the window, or doing anything else that helps you relax and think


When your development and production environments don't match...

History Lane

58 Years on... The computer on the truck is the Elliott 405, Britain's first municipal computer. The computer in hand is a RaspberryPi, tiny and so cheap, they're giving one away with every purchase of TheMagPi magazine.

Macbook charger teardown: The surprising complexity inside Apple's power adapter My notebook's power brick has more processing power than the first computer I owned!

What's Worked in Computer Science Grading Butler Lampson's 1999 talk Computer Systems Research: Past and Future.

@panzer The more things change, the more they remain the same:

Silicon Valley napkin. ©1986


What is a coder's worst nightmare? This is just the beginning of what Mick is about to discover in that code base:

It is written to be hard to read. All the code is squished on one line. It's spread over 15 files with about 3 functions per file -- all on one line. All variable names are just three, seemingly random, letters.

@kaffeecoder Punny:

OH: „At our company, we came up with our own name for Not Invented Here syndrome.“

Locked Doors

Chrome Extensions – AKA Total Absence of Privacy These are pretty popular extensions, you or someone you know is likely using them:

TL;DR, Popular Google Chrome extensions are constantly tracking you per default, making it very difficult or impossible for you to opt-out. These extensions will receive your complete browsing history, all your cookies, your secret access-tokens used for authentication (i.e., Facebook Connect) and shared links from sites such as Dropbox and Google Drive.

None of the Above

@historyinflicks "I think i just drove into a Philip K Dick story"

South Park is written by Reddit This explains so much:

It's the same attitude that establishes "u mad" and "butthurt" as the ultimate trump cards in internet arguments: caring is for losers, and if you become personally invested in politics you're part of the problem. Uncritical, detached acceptance of the status quo is the only morally upright posture, and those who draw a distinction between is and ought are all smug bullies, outlandish freaks, and/or closed-minded zealots.


I'm thankful for dark matter, for holding it all together for so long.

The Serial Swatter How internet trolls have learned to exploit our over-militarized police, and why it's so hard to stop them.

@Upstreamism Hehe:

Tinder, but you swipe left to read more & swipe right to reread & it tells a good story & it's a book, you're reading a book.

Side Project Marketing Is the New King No, it's not, but there are some good ideas in this post that you can repurpose for your own marketing.

@mathitak "Bummer, those things are collector's items."