or subscribe with
Join 15,000+ readers for one email each week.
Digests » 277
Fancy a week in Barcelona? Would you like to hear about Distributed systems, new browser APIs, Machine Learning, WebXR, PWA or Cryptography? Then Full Stack Fest is for you! Get a 15% discount using the code PROGRAMMING
this week's favorite
There are 3 attributes necessary for a software project to succeed: Time, Money and Quality.
Following “Don’t Repeat Yourself” might lead you to a function with four boolean flags, and a matrix of behaviours to carefully navigate when changing the code. Splitting things up into simple units can lead to awkward composition and struggling to coordinate cross cutting changes. Avoiding rewrites means they’re often left so late that they have no chance of succeeding.
One of the easiest and most popular ways to increase system performance is to use caching. When we introduce caching, we automatically duplicate our data. It's very important to keep your cache and data source in sync (more or less, depends on the requirements of your system) whenever changes occur in the system.
I present here a small bibliography of papers on programming languages from the 1970’s. I have personally considered these papers interesting in my research on the syntax of programming languages. I give here short annotations and comments (adapted to modern’s day notions) on some of these papers.
How can you limit yourself to 40 hours a week, let alone a shorter workweek, given all this work?