I read… – Oct 2017

My favourite articles, or news I found interesting month by month. Not ordered by any means. News or recent content are marked with a 💥, the rest is older stuff that I just happened to stumble upon this month.

I have not yet achieved that elusive zero-byte graphics program, but I do believe that bulk, in programming or in writing, can sometimes be an inverse measure of clarity and thought. Users dislike “bloatware” not only because it is a pig that wastes their computers’ resources but also because they know it usually reflects design-by-committee and sloppy thinking. – Leland Wilkinson. The Grammar of Graphics. 2005

An open letter to the W3C Director, CEO, team and membership 💥
After fruitless struggle to prevent EME becoming Web Standard in its current form, EFF resigns from W3C

Firefox Quantum arrives November 14 💥
2x faster, consumes 30% less memory, redesigned UI

Clojure vs. The Static Typing World 💥
Interpretation of Rich Hickey’s latest ClojureConj talk.

Say hello to HTTP/2 for Node.js Core
Current release of got Node.js got experimental support for HTTP/2 in July

Why I Hate Frameworks
Parody of generalizing stuff in software

Comparing floating point numbers
Everyone has to do this once or twice a year

Structure and Interpretation of Computer Programs
I finished Chapters 1 – 3 this month. Absolutely essential book for re-learning programming.

I read… – Sept 2017

My favourite articles, or news I found interesting month by month. Not ordered by any means. News or recent content are marked with a 💥, the rest is older stuff that I just happened to stumble upon this month.

Points don’t move, dates don’t change, no matter what some bad class libraries may cause you to believe. – Rich Hickey

 

Concurrency & Parallelism: Understanding I/O

Concurrent code has a bad reputation of being notoriously easy to screw up. This series will focus on well-known and widely adopted concurrency patterns in different programming languages, platforms, and runtimes, so hopefully it makes you more confident writing maintainable concurrent code.

The first chapter is an introduction to I/O.

This blogpost is published on the RisingStack Blog.

Quote: Dealing with awkwardness in functional programs

As you write more functional programs, you’ll sometimes encounter situations like this where the functional way of expressing a program feels awkward or tedious. Does this imply that purity is the equivalent of trying to write an entire novel without using the letter E? Of course not. Awkwardness like this is almost always a sign of some missing abstraction waiting to be discovered.

When you encounter these situations, we encourage you to plow ahead and look for common patterns that you can factor out. Most likely, this is a problem that others have encountered, and you may even rediscover the “standard” solution yourself. Even if you get stuck, struggling to puzzle out a clean solution yourself will help you to better understand what solutions others have discovered to deal with similar problems.

With practice, experience, and more familiarity with the idioms contained in this book, expressing a program functionally will become effortless and natural. Of course, good design is still hard, but programming using pure functions greatly simplifies the design space.