The Shallows

As I have become more accustomed to using computers for a lot of things, my mind has sometimes wonder is there a different way of doing the said things? What if I can remove computer from the equation, will the resulting thing be better or worse? Or it won’t matter. So in last few months I’ve started reading literature which goes against the grain and states why the IT revolution isn’t a silver bullet.

The Paradigms of Programming

This is the Turing Lecture by Robert Floyd wherein he underlines the importance of paradigms of programming. He starts off with giving the example of Structured Programming, explaining both the topdown approach of breaking the requirements into functions and the bottom-up approach of wrapping the primitive provided by the machines into useful abstractions. The requirement of where to draw the line between the bottom-up and the top-down is a bit fuzzy and might change from project to project and might also be dependent on the thinking process of the teams and individuals.

The Inmates are Running the Asylum

Great book, especially the first part which told how things are really in tech industry. It’s surprising that there has not been much of a change with respect to project planning, execution and deliverables.* The majority of time a tech job indeed looks like what’s described in the book, with planning coming after the execution, and an overall lack of design which hampers the end product. The way developers feel (and I mean it in the worst way possible) is also a reality, and though I’m not proud to say that I feel the same way a lot of time as well.

A Sample Of Brilliance

I recently read a paper called “A Sample of Brilliance” by Jon Bentley – it was published for September 1987 column of Programming Pearls. The column deals with generating random sequences if we are already given an random integer generating function (called RandInt(i, j)). The column is small and advanced, and starts with the following implementation: 1 2 3 4 5 6 7 8 9 import random.randint as randint def random_set(m, n): "Create a set of random m elements, between 1 and n" s = set() while len(s) < m: i = randint(1, n + 1) if i not in s: s.

Homo Dues

A very interesting read which got me hooked from the very first chapter (just like the previous book Sapiens). Harari has divided the book into 3 parts and talks about the future only in the third part, but the previous two, which discuss the past as to how our societies became what they are, are equally informative, witty and fun in themselves. As part of the book, the author asks the important question of the worth of human life and intelligence in the grand scheme of things.

Flowing with Minimalism

Time and again I keep stumbling into good pieces of software which work. These have the quality of being old, created during a simpler time, and just working. There is minimal fuss, the software just starts, throws you into the loop and you can simply start doing your work. In contrast, this is just diametrically opposite to the kind of software that’s there now, not all of it, but I’m witnessing that the major chunk of the software that’s being churned out today, while being more beautiful, is also a lot more bloated.

The Wind-Up Bird Chronicle

This is a weird book and fat: more than 600 pages, and then it just ends without explaining a lot of things. A lot like the TV series LOST. It started off well, the writing is very engaging and till the very end (around 85% of the story) I felt it was going great but by the time it ended, I could see that the story was not given a proper treatment.

The Book of Laughter and Forgetting

At the very least I’d say that this is not a simple novel. It is made up of 7 short stories which are somehow related to the theme of the book. I’m still trying to wrap my head around how these all connect to each other, but apart from this confusion I’d say that most of these are simply amazing with respect to writing, human emotions, wants, and confusions. I somehow like the books where there are no heroes which take up arms against the other side and turn victorious.

One Hundred Years Of Solitude

First of all I’d say that this is a great book, and totally different from what I’ve read so far in other books. I read A Very Old Man With Enormous Wings a few years ago and had some idea what ‘Magic Realism’ means, so whatever the strange things that happened in this book, be it ghosts, flying carpet, etc, I considered them exactly as the inhabitants of the story considered: normal.

Advent of Code – Day 11

Welcome to day 11 of advent of code where will be helping Santa to create secure passwords. We have already been given how to create new passwords but there is a new security guy who has come up with three new requirements to make the passwords more secure. So let’s start by tackling these three requirements. We are essentially trying to check the password for three conditions and it can easily be done by using pattern matching by regular expressions.