Saturday, March 31, 2012

iTunes Download stopped (err =9006)

It's pretty frustrating to see this error in iTunes when you have spent a long time downloading some stuff over a slow network. You hit that re-download button, hoping that it will just immediately mark it alright after it has found the already downloaded content, but it starts the download all over again.



Don't click that re-download icon.

In my case when I saw the above error after the download was complete, I found the files hidden in the iTunes folder. I could copy them elsewhere and open the content in VLC.

The folder you will find it in is
$HOME/Music/iTunes/iTunes Media/*

Sunday, March 18, 2012

Good essay on user centric software design

Came across this long post "#46 – Why software sucks" by Scott Berkun via Hacker news.

It discusses how software developers don't think about software design from their users' point of view and eventually create a product that sucks. There is nothing new in the writeup that I haven't read elsewhere before, but it's well written and it seems to explain the problem quite clearly. Here is a quote that I especially found appealing - it addresses the difference between good code and good product.
One illustration of the philosophical differences between love of construction and love of good things is the belief that code should be beautiful. I’m a fan of beautiful things: the world can use more of them, including more lines of beautiful code. But the trap is that code is an artifact of constructing software. When code is well written (beautiful or homely), it compiles. And it’s the output of the compiler (or browser) that people see. It’s the complied code that changes the world. The beauty of the code is relevant only to people that look at code. To worry about code aesthetics more than the aesthetics of the product itself is akin to a song writer worrying about the aesthetics of the sheet music instead of the quality of the sounds people hear when the band actually plays.
...
Computer science is taught with a construction mentality. Even the theory and philosophy that are covered support construction, not higher level design, or how to make good software in the sense I’ve described. Aspects of design are covered, but at an internal level, the design of object models, data structures and networks, not at the level of what happens when the technology meets the world or the people in it

Sunday, November 27, 2011

Master pieces from screen

A key characteristic of memorable movies/shows is they have a dense storyline.

They tell a lot of things in very short span of time. When you recall individual parts of these stories, they seem a lot bigger by themselves. Over time different plots from the  movie bubble up in your memory and as you review them at your own pace you see the details and angles you missed before. The separate scenes appear much longer in your mind, when they actually take few minutes on screen. After years when you watch the movie again, you feel surprised that all those things happened in the span of mere couple of hours.

A classic example is Godfather. Many times I find it hard to believe that Michael Corleone turns from a soldier to the head of mafia family only in Godfather-I. That scene when he protects his father in hospital, that scene when he fumbles for revolver in restaurant bathroom before making his first kill, his exile in Italy when he gets married first time and subsequently looses her, the scene when Vito Corleone dies while chasing his grandson, the scene when Michael makes an offer to Moe Greene and dominates Fredo, the scene of baptism ceremony with killings of his competitors interspersed. Each one of these scenes makes deep impression in our memories, but only take few minutes on screen.

Recently I had the same experience when I watched first episode of Mad Men again. So many things happen in that first episode. It gives the first glimpse of every character's character. A dialog, a casual comment, a side glance or even a pause tells so much about the character. None of it is unintended. There is great meaning even in non-action, like when Don won't take Pete's extended hand calling him "Buddy". Of course you don't get it the first time. But after you have watched the characters for four seasons and you have known their true natures, you really appreciate how their first appearance in that first episode was thoughtfully composed to give you hints of their attitudes and aptitudes. It must take a master mind to compose and direct such potent work.

I plan to watch the first four seasons of Mad Men again, before the fifth one starts in March next year.

Thursday, September 22, 2011

How to write interactive CLI utility in node.js

Node.js is mainly a server development framework - accepting requests and responding to them over network. But sometimes need arises to write a CLI utility using node.js. The asynchronous nature of node.js can make it difficult to write a simple CLI utility that will ask series of questions and accept answers from the user. Recently I ran into such situation, here is how I wrote one. (Learnt about the ask function from this post)
gist

Sunday, August 28, 2011

The Gods Themselves by Isaac Asimov

The Gods ThemselvesThe Gods Themselves by Isaac Asimov

My rating: 5 of 5 stars

I started reading this book, when I found that it was a Hugo award winner and I was looking for some intellectually entertaining science fiction. It didn't disappoint me. OTOH it turned out to be one of the best scifi novels I've ever read.


It takes real imaginative power and also thorough knowledge of science and technology to weave a story around them. Asimov has tackled three extremely imaginative topics - Parallel Universes, Procreation that takes 3 individuals of a species instead of 2, Life on Moon - and he has done full justice to each one of them.

View all my reviews