This is a test post to check for on-this-day feature.
Book Review: Origin by Dan Brown
A mystery thriller — what do I expect from a book that categorises itself as that? A deep, dark mystery to start with. Woven into a tight, intriguing plot. A protagonist as bemused as the reader about the main plot, but a lot smarter to overcome the clues and riddles en route. If it’s a Robert Langdon mystery, I am trained now to expect a bit less of the later. Of course, with abundance of information on art - the artists, the structures, the paintings - delivered as riddles relevant to the overarching plot.
Unfortunately, Origin fails on all counts for me. The mystery it intends to solve is too thin — the plot is stretched too long. It isn’t even a good Langdon story. All our polymath symbologist is made to do throughout is sit through the tiresome travelogues and some bootless scientific blabber. All in hope of an earth-shattering reveal — unfortunately even that fails to be one.
Langdon is flown to Bilbao, Spain by his old student Edmond Kirsch to witness his presentation with potentially far-reaching effects on the religions all around the world. And of course, humanity too. He has already unnerved a set of prominent religious figures by a special and exclusive preview of his discovery. “Where do we come from? Where are we going?” The enigmatic billionaire futurist has the world’s eyes with a promise to answer these longstanding questions. But a brain-washed assassin throws the world into disarray by eliminating Kirsch. Only hope rests, then, on Professor Langdon and the bold & gorgeous sidekick, Ambra Vidal, to uncover their friend Edmond’s discovery.
There are a lot of subplots involving, of course the brainwashing of the assassin and his quest to stop the protagonist duo on run, the family feud in monarchy and the struggle of the Guardia Real on whom and what to trust. And then their is Edmond’s most prized invention, his own personal Jarvis - the AI assistant Winston.
In short, there is a lot going on here. But it is presented in a bloated form where nothing captures reader’s attention or gets his pulse rising. All plot twists are easy to see miles ahead. The chapter-end cliffhangers just tend to delay some trivial or glaring surprises. Same applies to the now-renowned Brown template of holding back from reader a specific information that character owns. I admit it might be a style of keeping readers intrigued. But when the substance is not meaty, one just feels cheated. And finally the ending is anticlimactic — feeble, obvious and noncommittal.
What about the knowledge sharing sessions of Langdon, you may ask? Yes, there are a lot. And I have been forthcoming in my dislike for the irrelevance of them. This is what I had said in my review of Inferno. “Many a times, the novel reads as Brown’s travelogue of places during his research, just there to increase the page count.” That hasn’t been fixed in here too. Rather it has gone worse. In Inferno, at list the flabby travelogue were towards solving a clue. Here the sessions are just feckless, as Langdon wanders on, contemplating.
With Origin, Brown intended to take on a strong idea — about creation and destiny. About God’s existence. A deft rigidness while editing could well have turned this into terse, riveting story. Alas, it wasn’t to be.
My rating: 2 of 5 stars
The Opposite of Fitt’s Law
If we should make UI elements we want users to click on large, and ideally place them at corners or edges for maximum clickability — what should we do with UI elements we don’t want users to click on? Like, say, the “delete all my work” button?
Of course, totally unrelated1 to a recent event triggered by a bad UI design, Jeff Atwood captures why it is so important to handle interfaces you want users just not to use lightly.
It, absolutely, is not in response to the event — just check the day when Jeff published it. Is it unrelated? Well, heck no.↩
Fallout of the False Ballistic Missile Alarm in Hawaii
The time in between sparked a brief panic in a state where fears of an attack by North Korea have heightened in recent months. Residents and tourists reported seeking shelter, frantically gathering supplies, and calling and texting loved ones to say their goodbyes.
The alerts quickly turned a serene Saturday morning into “mass hysteria” on the roads.
“My boyfriend was like, ‘Who do we sue for this?’ We don’t just need an apology, we need an explanation. Someone could have had a heart attack,” McLaughlin, 29, said. “It took something that’s kind of incomprehensible and very quickly made it very personal. All of a sudden going through your mind is, ‘Is this the end of my life?’ I called my mom, I called my dad, I called my brother and basically said my goodbyes.”
Honolulu resident Noah Tom was picking up breakfast for a meeting when he heard of the alerts. Thinking he might only have 15 to 20 minutes before a missile strike, Tom considered how his family was split up across three locations: He had just dropped off his oldest daughter at the airport, while his two younger children were at home. His wife was already at work.
“I literally sent out ‘I love you’ texts to as many family members as I could. It was all kind of surreal at that point,” Tom, 48, told The Washington Post. He made the difficult decision of turning the car toward home, where his two youngest children were. “I figured it was the largest grouping of my family.”
Irrespective of how pathetic and juvenile the cause for the trigger of this alarm was, it shows what the fallouts of such a tragic event, wish and hope it never really happens, will be. Looking at the positive side, if we can, it also has triggered an opportunity for all, the relevant agencies, those governing and those governed, to gauge how ready we are for such a calamity. And how it deeply can affect us.
Appearing strong on Twitter is one thing. But staying strong when faced with an imminent, life altering event is a whole different ball-game.
Well, the user interface that’s one of the causes for this whole mess is even horrible than what I had imagined. It’s so amusing to find that the system that is supposed to alarm the population about a calamity is such a horrible hodgepodge of strangles text. This is no better than having nothing, which we in India have.
I know the having-nothing-like-India argument is bit of a stretch, but man this interface is horrid.
Four Color Theorem and Software Complexity
Looking at these graphs feels a lot like looking at a graph of dependencies in a codebase. If you add a node for each class, and draw and edge between the classes that communicate, you’ll end up with a graph like the ones above. My talk of “components” and “modules” was influenced by thinking about these graphs in terms of software. The last example touches on an important point - you can manage a growing codebase without growing in complexity if you manage the way modules connect to each other. A codebase composed of small interconnected modules that communicate with each other in a well-defined way will have a lower complexity than one where the modules communicate with each other haphazardly.
This is an example of how it’s better to manage interaction along a point than along an edge. By that I mean modules that present a single point of interaction will be able to maintain their own internal dynamics without polluting the complexity of the codebase. If programmers don’t think about how they connect the modules in their codebase, and they end up connecting modules along multiple points of interaction, the complexity of the codebase will grow.
This is such a fascinating read. I have recently come across the four color theorem many times in different variants. It is a fascinating mathematical statement on graphs, specifically maps. But I could never imagine how it could also be applied to represent software complexity, or rather how one can build and manage the growing codebase of a software without adding to the complexity.
Of course, the theorem is concisely explained by Dr James Grime at Numberphile channel on YouTube.
The Unnatural Case

“May I enter Detective?”, Mr Rao peeks through the open door of the kitchen. “I heard you had something you wanted to talk to me about.”
“Of course, Mr Rao. Come in. And please call me Naik. ‘Detective’ burdens the conversation for no necessary reason. I just want to have some chat. And at the same, if I can get the work I am here for, done quickly, better for all of us. Right?”
“Sure. By the way, ‘Mr’ is no less burdensome,” quips Mr Rao, half-heartedly.
“So what do you know about the situation we are in Rao?” Naik’s quick, curt response takes Rao by surprise. He realises that irrespective of the words used, the conversation to follow is going to be somber. His brow is getting damp, and he knows that isn’t a good sign.
“Nothing much to be frank. I came late from work yesterday, was completely tired you see. So I went straight to my room and went to sleep. I was woken up only in the morning by your friend, asking me to join you here. So in a sense, I know lesser than you do.” Rao blurts out everything he had come prepared with.
“That was lickety-split, huh, Rao.” Rao sees Naik lean closer and look deeper at him. He could sense Naik believes he knows more than what he was revealing. “Anything else you want to mention? We can also go through, you know, the regular drill. I can ask some questions to remind you of stuff you may know.”
Rao sighs. “I gave you what matters Naik. Others’ just stuff. Details.”
Naik is again quick to respond, “It is the stuff, the details I love Rao. You see otherwise this detective job is boring. What fun is it to listen only to the sad, murky bites from people’s lives?” He pats Rao’s lap a couple of times, then slumps back into the beanbag. “I love this job because I get to know people - their habits, their thoughts, their behaviours. I happen to solve some crazy cases over last few years just through such chats. Nothing much.”
Rao knows that wasn’t really the case — Naik was in the news a lot recently because he was a sagacious detective. He realises his attempt to skim through yesterday’s happenings was futile. He also knows the regular drill with Naik would be a lot more dreadful.
“As you wish Naik. I have been living in this house for last 4 years. You must already know ..”
Rao sees Naik signalling something to his friend. Realising Rao has stopped, Naik grins and mouths a nimble ‘sorry’ and leans back again.
Rao continues, “You must already know that we are 4 people sharing the house. Actually, 3 now, given, you know..” He peeps at the chalk outline around where Joy’s body lay. ”I met Joy just a couple of weeks back when he joined us in this house. Adi and he knew each other from the beginning. I am not sure how though. I haven’t got much chance to talk to them about their acquaintance. Adi and I have known each other for last two years. He is a good guy, so was Joy, I guess. Unfortunate, he had to fall this way.”
Naik’s scratching his soul patch, deep in some thoughts. “How do you think Joy died?”
Rao shrugs and then responds, “Well, it was an unfortunate accident, wasn’t it? An electric shock while using that Microwave? And that is why I was stumped in the morning when I heard you are on the case. Why, do you think there is some foul play here?”
“Sir,” Naik straightens up, “I rarely do think when I am on a case. As I told you earlier, I just come to chatter. I have just happened to have solved few cases over such chats. Anyway, do you know a lot about Microwaves?”
Rao is taken aback by the direct question. “Why? Me? No. I mean I am not an electrical engineer.”
“It’s alright, of course,” Naik grins. “I just felt you looked a lot confident on the reason behind Joy’s death. So I thought you must know something about Microwaves that I don’t. Why do you feel that that harmless device is the reason we are sitting here Rao?”
Rao continues to stare at Naik, his heart pounding now. I have no idea what’s cooking inside this devil’s mind. The perspiration is now clearly visible on his forehead. “Mr Naik, I have no idea what you are hinting at. On my way here, Adi had mentioned that Joy’s died of electric shock. I see him lying here on the floor, his legs towards the Microwave, with it still displaying the time since it had been on. Other than Joy’s fallen body, nothing else looks out of sort for this room. There are no signs of any combat that might have played out here last night. So I connect the dots and feel his death has to be natural — he got the electric shock while using the Microwave and ..”
“.. and he then turned around to fall face first?” Naik isn’t looking at Rao anymore — he is busy noting down something in his diary. After a momentary pause, he apologises, “Oh, sorry. I didn’t mean to break your train of thoughts. But you were doing my job so well, that I felt I should help you too.”
The tone of snark in Naik’s voice isn’t lost on Rao and he is done fooling around though. “See. I have no clue what’s going on here. I have no idea why you are even here. I came home late yesterday, slept right away. I haven’t been to the kitchen since then — came here only in the morning today when you called me. I do not know Joy well, neither did I have an issue with him. He appeared to be a calm sedate guy, it’s unfortunate that he passed away. Even more unfortunate is the fact that now that you are on the case, we all would be held up in this house till you are done and I have to chat with you.”
“Aha, that’s how you summarise,” Naik is already jotting something in his notebook. “Thank you so much, Rao. You can leave now.” He goes through the content of page titled “Mr Roy (x)”.
Does not know Joy. Adi knows Joy well. Rao knows Adi well.
Easily swayed by bites of information and runs with it.
Lies about not being to the kitchen yesterday after office — has his tiffin at the wash basin.
As Rao is about to leave the kitchen, Naik stops him. “Just a food for thought Rao. Why do you think Joy died while using the Microwave and not, say, after using it?”
Rao, wiping his brow, shrugs, “I don’t know. Maybe because people do not instantly die after using a microwave. They usually eat?”
Naik slumps back, satisfied, in his beanbag, “There you go. Thank you, Mr Rao. You can go back to the living room.” He makes another note.
Did not have food at home last night.
Steve Jobs Theatre - A Unique Apple Product
The Apple Event of September 2017 was in many ways just another iPhone launch day. It was marked by the typical, yearly frenzy in the media and the tech community. But in few other ways, it also lent the day a uniqueness of its own. Of course, it was the first one from the Apple Park at the Steve Jobs Theatre.
Dan Frommer from Recode has perfectly captured the launch of this stunning architecture in this great photo essay, also summarizing this well run event. I remember all the pictures that had started pouring into my Twitter timeline were full of excitement and amazement. And of course, so was Tim Cook.
It's a big day at Apple! We are honored and thrilled to host our first keynote at the Steve Jobs Theater this morning. pic.twitter.com/gyiqPJB46y
— Tim Cook (@tim_cook) September 12, 2017
I, personally, am always excited for every Apple event — their story behind and commitment to the design of their products always mesmerises me. They are proud of every product they make and that shows from their excitement while exhibiting each one of them. The unveiling event of any product is never about just showing what the product is or about a spec roundup to opine on how their’s is better than the competition. It is, rather, a well-choreographed and well-rehearsed stage show. And for them, it matters that they tell their side of the story — be it the detailing that went in while designing it, the breakthrough they achieved in a thing that people might perceive as almost irrelevant or their reasons and justifications behind the known compromises1.
So in that sense, this event at the Apple Park was indeed unique. Apple revealed this newest product, one that got unveiled the first - Steve Jobs Theatre, without they arranging any show, narrating any backstory for it. Apple just opened the doors and handed it to the curious media straight for hands-on. Steve was heard saying2 at the beginning of the event “One of the ways that I believe people express their appreciation to the rest of humanity is to make something wonderful and put it out there”. Apple did just that with the Steve Jobs Theatre.

John Gruber, as always, has the apt perspective on the significance of this latest product from Apple.
Five, ten years from now, the Apple Watch Series 3, the iPhone 8, and even the iPhone X are just going to be old products sitting around in drawers. But the public debut of Apple Park, the grand opening of the Steve Jobs Theater, and the company’s first public tribute to its founder — that’s what I’ll remember most about yesterday
Apple gets often dinged for attempting to justify and advocate the compromises they had to introduce in the products. For looking at these compromises as an opportunity to sell other costlier products. Sometimes they succeed, at times they don’t. But at least they try when there is just no need given the sales that they eventually achieve.↩
It was overwhelming to hear Steve’s voice and his crisp words. I feel no awkwardness in revealing that I had a throat choked with emotion just by the fifth words into his message. Very few people have had that effect on me.↩
Perfecting Existence

A sudden and repeated knock on the door reverberated through the room. It shook Rama, bringing her back from a sombre which had her unmoved for quite some time now. Unmoved, since a rock shattered her windows and her spirit. A rock with a paper wrapped around it.
She had no clue for how long she had been staring at that piece of paper. The words it read were pretty conspicuous in imparting the intentions of the one who wrote them. And they had had her shaken to her core.
Who knows about Sam? And about Ali? And how? Rama wondered.
No one should know about them. No one knows where they came from. No one will ever know where they went. Isn’t that what you always believed? A voice in Rama’s head chided her.
She read the words again.
I know about Sam. I know about Ali.
I know what you did to them.
I know what you intend to do to Rachit.
I will not let you. Beware.
None of the three lines should be written by anyone, but herself. And she was pretty confident she had not written them. Or had she?
Another knock pierced the silence of Rama’s lab. Darkness was creeping through the shattered window into the lab now.
Who can come to the lab? Who even knows you have a lab? The voice questioned Rama again. And you would not be stumped now had you not let Sam and Ali ever leave the lab. Or had them put away forever.
“They had to if Rachit, the cherished felicity of my existence, was to come to my life. They were not perfect. Rachit is,” shouted Rama.
The knocks grew louder, and faster now — each thump pounding vigorously at her mind. And, just as they began, they ceased suddenly. The lab went silent again. And a lot darker. So did her mind.
Ganesh Visarjan 2017
Ganeshotsav - a festival that has me mesmerised for 10 days. One that makes me forget all the crippling and cribbing of the routine mundane life. That makes me attempt to overcome my shortcomings, imbuing me with a sense of calmness and a zeal.
One’s devotion to a deity is about beliefs. And I believe I am blessed with a divine presence during Ganeshotsav.
No wonder then that Anant Chaturdashi - a day of immersion of Ganesh idols - dawns with a sense of emptiness, restlessness. But irrespective, Bappa has to be given a smiling farewell. And 2017 was different. News18 has captured the whole festive mood really well — just a good click for reference. Do visit that link.
This has to be the best click and a great comment on what Ganesh Visarjan should, and does, represent.
https://twitter.com/statuses/905333071221624832>}}
And of course, I had to bide farewell to my Bappa. Somewhere at the corner of my eye, I did have a tear shining.
Ganpati Bappa Morya. Pudhchya Varshi Lavkar Ya.
Publishing Platforms Still Fail Writers on Mobile
I like to write. Emphasis is important because that is exactly what I like to do. I do not want to make the writing process too complicated. I just want a blank canvas that I can fill up with some thoughts in the form of words. It should not matter then if I open it from a desktop or a laptop, a smartphone or a tablet. A blank canvas, without any bells and whistles.
But even after 10 years of the whole smartphone revolution with the iPhone launch, it is surprising why the platforms that crown themselves as champions for writers’ interests still fail at enabling them to write on the go. The interface they provide are either too loaded or are just non-existent. For example, this is where Wordpress wants the writers to write at on mobile devices.
Can this be made any more clunky? Why does it need so many options? Why can’t words be interpreted as they are written1? Why does the interface still need to ask for all this added metadata - especially on a mobile device where the space is already a limited resource?
It’s just the same with many of the professional publishing platforms. They just have too clunky an interface. Squarespace, same. Wix, ditto. At least with these, it can be understood that the target user base just may not be the writers and the bloggers sort. A look at the templates that they provide and it is clear that they want to target the designers, the professionals in photography or the small businesses. However, irrespective of what sites their users own, they need to understand that they do write too, at times. And when they present their intention to do so, shouldn’t you provide the cleanest experience you possibly can? Why load them with too many choices?
Ghost comes closest to ticking all of the right boxes. It has a markdown based clean editing interface with a preview option. However, during my extended usage while I was hosting this site with Ghost, I found that the interface was a bit too buggy and a lot heavy. It tries to do a lot many things which it needn’t really do. When I write, I just do not need a constant CMS and metadata access for the post neither do I need a live preview of what am writing. Unfortunately, it just cannot sort out the minor niggles2.
And then there is the flag-bearer of writer’s messiahs - Medium. This platform impressed me with how clean the writing experience was. That was before I intended to do so on a mobile device.
Yep. No comments. “You can’t be a serious writer if you want to write from a mobile device. Get a typewriter and then we will talk. We are for the serious lot.”
“But there is an app for that,” you say. Yes, there is. But first of all, there is nothing the app does that cannot be fit in the web application. Secondly, the app itself is extremely limited. There is no support for series or publications, yet, for example.
This just makes no sense to me. I just cannot stress this any stronger - Do not neglect mobile. Today’s mobile devices (especially, the iPad) are getting a lot capable. There is nothing they cannot handle. A plain text editor should be a cakewalk. Alas, I still do hit such forced hinderances.
"Not Yet Mobile Friendly"! Sorry, in today's age that just makes no business sense. pic.twitter.com/DQjJArqNWj
— Amit Gawande (@_am1t) August 22, 2017
Anyway, as an attempt to mediate, I propose the following guidelines for writing interfaces for all the writing/blogging platforms out there, especially on mobile.
- Interfaces need to be clean. Just let the text be written without any onscreen distractions.
- No toolbars, no sections, no configurations.
- If emphasis to the text needs to be added, let the word(s) be highlighted and provide the limited options then.
- If image is to be added, provide option as a shortcut (for example, long press on new line)
- Forget 1-4. Explore and enable Markdown with easy (not live, but closer to WYSIWYG) preview mode.
- Remember, many writers do prefer writing in dark. Preferably provide a dark mode.
Yes, just roll an empty screen with a blinking cursor3. Nothing more. Let the writers fill it up their imagination.
I understand it is Wordpress and hence there is a plugin for everything. But the point isn’t if a clean writing interface can be plugged into a platform. Point is why should there be a need for one.↩
Ghost is not an easy publishing platform to work with. You either need the technology inclination of a developer to self-host and roll your own instance of Ghost or pay way too much to get access to their managed platform (Pro) service. For comparison, it is cheaper to get a website with Squarespace with E-Commerce setup than to get an online blog with Ghost. That’s just not competitive enough.↩
Svbtle does it well. So does pen.io. Not sure why these services struggle to exist. They have understood what writers need the best. But they just couldn’t convince many to join them. Wish Medium and others learn from these and roll out some more writer friendly interfaces on mobile.↩
Why Microsoft failed with Windows Phone?
A good round-up by Quartz on why Microsoft failed with Windows Phone; an attempt is also made to run with an alternate reality where Microsoft has avoided that. Its based on Microsoft declaring “Windows Phone is free”.
Compared to Google, Microsoft has much stronger connections to hardware OEMs on the one hand and software developers on the other. Its products are widely used and respected by business and consumer customers alike. By offering the Windows Phone platform for free, the company sacrifices licensing revenue, but this unnatural act is more than compensated for by the expansion of the Windows ecosystem. Windows PCs become more attractive, more compatible with the outpouring of mobile devices and applications created by enthusiastic hardware makers and eager app developers.
Biggest problem there? Microsoft just didn’t have a competitive solution in 2007-08. They were still rolling out devices with Windows Mobile OS1 and were struggling to come up with their own alternative which would be distinct from what Apple and Google had on offer. Of course, they attempted and failed, before they finally launched a good enough solution with Windows Phone. But this was around 2010 - good 3 years after iPhone was launched. It just was too late.
So, I really think it would not have mattered if Windows Mobile was free. It just wasn’t good enough against iOS and Android. What Microsoft needed was a quick relook at their mobile strategy which their success with Windows just didn’t allow. Quartz does a good job to summarise the attempts Microsoft made to turn the tide. But abstracting it to “Windows Phone failure was easily preventable” is simply a stretch.
It wasn’t the culture. Microsoft failed because there just was no space to play between the killer duo of “open” Android that different OEMs combined owned the larger market share with and the “closed” iPhone that gobbled up the premium market.
One, that had a Start button, a taskbar, a tool bar, a file system and even Internet Explorer. To get an idea of how lagging it was behind what iPhone OS and Android, just above is how it looked like in 2008.↩
"A Writer's Dilemma"
A writer who also is a technology enthusiast is a worst combination. Every now and then there is a constant fight between the writer and the tech guy to divert the limited focus. The writer wants to write. The tech guy wants to evaluate the place, the setting where he is writing from. It is constant struggle. It needs to be well defined when the writer needs to be suppressed and when the other guy.
Suppressing writer is easy — rather writer does not need suppressing. He rarely shouts or fight backs. He is the simpleton; he gives up easy. The tech guy? Not him. He keeps popping his head every so often, questioning the person on how the writer is spending his time.
“Is this really the best platform you would be writing at? Look at that writing interface. It is so clunky. How the hell can you write here. I bet there are a lot of better options out there. Why won’t you just fix this? Why write when it is just not right?”
It is so difficult at times to keep the writer focused, to keep the tech guy far away from pestering. Only way I have found this to work is to give him no distractions. Nothing. Leave him with just a screen, a blinking cursor and a keyboard.
No mobile devices around, with screens constantly lighting up on every notification. No laptop devices with multi-window. No music. No television. Lock the two guys down — more often than not, the tech guy gives up and goes into a deep somber out of sheer boredom. The writer prevails.
Why do we keep failing at foreseeing the technology advances?
Forecasting the future of technology has always been an entertaining but fruitless game. Nothing looks more dated than yesterday’s edition of Tomorrow’s World. But history can teach us something useful: not to fixate on the idea of the next big thing, the isolated technological miracle that utterly transforms some part of economic life with barely a ripple elsewhere. Instead, when we try to imagine the future, the past offers two lessons. First, the most influential new technologies are often humble and cheap. Mere affordability often counts for more than the beguiling complexity of an organic robot such as Rachael. Second, new inventions do not appear in isolation, as Rachael and her fellow androids did. Instead, as we struggle to use them to their best advantage, they profoundly reshape the societies around us.
This is such a great article from Tim Harford, a must read to understand how we have been always wrong while foreseeing where the technology is moving. Especially important is the fact that it was never the big-bang technological advances that changed the world.
But many world-changing inventions hide in plain sight in much the same way — too cheap to remark on, even as they quietly reorder everything.
Tim calls it the “toilet paper principle”. Again, so apt. He has a detailed run-down of many such important, but often overlooked events that deeply affected the multiple phases of industrial revolutions. Do read this article. It is a nice summary of what we have been getting wrong about the technology over time. Also, it lets us reevaluate our perspective and beliefs on where we see the advances to be coming from.
"Medium"
Everyday, I have a lot many thoughts about Medium these days. For some reason, I find it is turning out to be not so good a platform for writers. Unfortunately, even the reading experience is slowly degrading.
The posts there are too disparate, with the platform really struggling to present them in an easy-to-comprehend manner. Especially the fiction. A dark emotional rant on life is placed right next to an erotica. Yes, erotica.
https://twitter.com/statuses/901695978889068544
For some reason, Medium has no strict and defined policy around how to publish, tag and present these NSFW posts. It just is no reader’s paradise if one has to be fully attentive and on look out for these posts and people around you. Sigh! By the way that option you have to “Show fewer stories like this”? Yeah, about that. It does not work. Not sure if Medium team even has any backend logic coded for that. Bruh!
And don’t even get me started on how horrible Medium is for writing on the go.
Yes, that is a help document on “How to write?”. On an iPad. Not really sure what all is involved in writing a post on Medium that it can’t be done with Safari on iPad. Dumbfounded.
Static Website: Benefits & Writing Process
I have recently converted my blog to a website and, as I have already documented, I serve it as a static website. I have preferred this approach over a dynamic one that gets driven by a full-fledged blogging software or a publishing platform. Of course, these were not the only possible options. As is so well captured by Christopher Heng at his website1, the options are just too many.
It wasn’t an easy call to select one, it never is. Every option one chooses has its own advantages and disadvantages. And, of course, going with a standalone website builder and serving the content as pure HTML had its own too. For me, though, benefits really outweighed the challenges.

Why choose a static website for blogs?
A static website is nothing but a string of HTML pages served by a hosted web server. Every document, blog post or update is a plain HTML page. Given this simplicity of existence, it has some key benefits that attracted me.
- It’s quick and cheap to develop
- It’s easy and cheap to host
- It’s fast to be served
Again, Hugo captures them the best.
Improved performance, security and ease of use are just a few of the reasons static site generators are so appealing.
The most noticeable is performance. HTTP servers are very good at sending files—so good, in fact, that you can effectively serve the same number of pages with a fraction of the memory and CPU needed for a dynamic site.
I have already seen this benefit realised with the performance of my website too.
Static website has really helped the overall performance — avg response time has gone down from 1300ms to 300ms. 👊🏽😊 https://t.co/pPoQNMXCsM pic.twitter.com/udsTKM0RpO
— Amit Gawande (@_am1t) August 18, 2017
These benefits should attract every blogger out there looking for a simple manageable solution for their blogs. Then why aren’t all blogs served as static website? The answer is, of course, nothing’s perfect and static websites are not for all. They bring with themselves a list of challenges.
Creating static pages needs a bit of programming skill, and a lot of interest to slog it out over web design and development. In the longer run, maintaining these pages can become cumbersome if they are to be updated even so slightly, every now and then. Especially, if all you care about is the text you write, what gets placed around it is really not of much an interest to you. All you want to do is write and publish. You don’t want to awaken the web dev in you every time you want your footer to be updated or a page to be added.
Ironically, a rush to dynamic websites to solve this challenge is totally counter to what you really care about, the text. The text is light, the page carrying them needs to be the same. To have these generated every time someone requests for them2 is just too costly. And to have them stored as database entries is just too messy. It is text, it needs to be stored as text.
Hugo (and the likes) provides a nice middle ground. Smashing Magazine summarizes it well.
Each generator takes a repository with plain-text files, runs one or more compilation phases, and spits out a folder with a static website that can be hosted anywhere. No PHP or database needed.
Hugo takes caching a step further and all HTML files are rendered on your computer. You can review the files locally before copying them to the computer hosting the HTTP server.
Isn’t it, after all, better to make the whole user-facing part of your website into a cache of servable HTML pages and have it generated and deployed locally — without loading the server with a programming runtime or a database? This is exactly what Hugo enables.
This helps to design, build, test and maintain the website without much of a hassle. And with Hugo, I have already hit all the benefits of a static website I mentioned above, bypassing the challenges it presents. A one-time effort to design and build the website is handled with little pain; now I can focus on writing.
Workflow to write, especially on mobile
There is another challenge with such websites that are built locally and served statically - all they contain is the final product, the HTMLs. Any change needs to be followed by a rebuild and redeploy. There is no online CMS to handle your content from a browser, especially no WYSIWYG3 web editor to create or modify your posts. Of course, one way to handle this is to deploy a separate light-weight CMS.
But for blogging, there is a simple way. All you need is a continuous deployment setup and a couple of applications to handle writing and publishing your posts. I have already explained how Netlify has helped me achieve the first part. Below is how I circumvent the second challenge4.
Write: It is important you can write from multiple places, especially your mobile devices. Web editors of the blogging platforms allow you just that, keeping your drafts ready for you to pick up from where you left earlier. A static website lacks this and so calls for some other alternatives.
I use iA Writer to write all my posts. It has apps for all the platforms I own, iOS and macOS. It allows me to focus mainly on writing, automatically saving all the words as I write them. It also keeps all the posts synced up across all the devices, granting me the convenience of cross-device writing that web editors enable. I find it goes even a step further as it provides me a consistent experience across all the platforms, as compared to the messy state of online writing — more on this later.
Deploy: Doing this from desktop was always trivial; handling this from mobile was what puzzled me. However I managed to get a workable solution. Once I have the post ready, I use Git2Go to push the final Markdown (.md) files to my Git repository. Net lify does the rest, making the post available at the website. Any minor modifications, it is just an update with iA Writer to these .md files and a push via Git2Go.
Workflow: Though it is easy to say just write at one place and push to repository, it would be a significant effort to get a file, as per Hugo-defined format, ready for writing. Any generator needs some added metadata, front matter in Hugo land, embedded along with the content to create a serve-ready HTML. Adding this to every post I write would have been a downer; especially with my intention of writing different types of posts - fiction, non-fiction and links.
It needed Workflow, I mean literally. The Workflow app is a boon for anyone who wants to automate common tasks on iOS. It is a powerful tool with hundreds of actions that can be easily stitched together to create a workflow — one that can handle complex tasks with a single click. For example, here’s my workflow to get a link post ready.
- Once I find a link I want to share and add some comment on, I open it in Safari and just copy the content I want to comment on
- I trigger the relevant workflow from the share sheet
- Workflow then
- fetches the template for the link post
- adds the link to the metadata as the source URL
- adds the current date and time as the post date
- adds the title I provide (or the title of original post if none provided)
- takes the content from clipboard, adds to the content body
- saves the file and opens it in iA Writer to be edited further
- Once the post is ready to be published, I just export the post as Markdown from iA Writer and import it to Git2Go in the content section.
- Commit & Push, and the link post is ready on the website.
This is just one such workflow. I have managed to create one each for every type of posts I write. Workflow does the routine heavy lifting for me, allowing me to focus on writing.
I know just this effort might be overwhelming for many. The act of building, managing and updating the static websites is not everybody’s cup of tea. However, for me, I have found that this triplet of enablers - iA Writer, Git2Go and Workflow - serves me well. I have never been so satisfied with either the website or the process involved in publishing to it. I am pretty confident this setup, with minor modifications, will last long.
Heng’s website “theSiteWizard” is really a great resource for anyone interested in building or maintaining their own websites. It doesn’t matter the scale — be it for an individual blog or a full fletched website for your group.↩
Of course, the dynamic generators, especially the CMSes like Wordpress and other, do handle this well now-a-days by caching the HTML pages to avoid the unnecessary delays of generating and delivering the pages to the end users.↩
What You See Is What You Get↩
I focus mainly on the platforms I own i.e. iOS and macOS. Of course, if you have a different set of devices, your solution may vary, or may not exists at all (chances are slim for that though).↩
"Ganeshotsav 2017"
Ganeshotsav. The festival that brings families together. The festival that makes everyone forget about their individual differences and work with a sole purpose to welcome Lord Ganesh to their homes, their region. No one holds any grudge against anyone for a few days when Bappa is with them. Everyone contributes just towards making the event better.
It starts with planning Bappa’s welcome; families plan together.
Then its about implementing; families implement their plans together.
And then it is all about fun; and of course again, families have fun together.
Lord Ganesh brought our family together this time again. And I am sure He was smiling his happy smile looking at the family enjoying His presence. Ganpati Bappa Morya!

"Solar Eclipse 2017"
Historical #SolarEclipse2017
Historical it was tagged. It had so much of hype and so much of build-up. It really was surprising how much big of an event it was made. And of course, given I inadvertently end up consuming more news blurbs from US, I had logged, wondering where, of all the possible sources streaming this event live, should I catch this event as it happens.
I am happy I did. It indeed was an event with a style. Eclipses are always captivating, they make you realise of your order & significance in nature’s canvas. And given it happened in US gave this one the best opportunity to be caught in all its glory. And of course I wanted to Journal all the best posts about it. Starting with mine.
https://twitter.com/statuses/899687057496317959
And of course there had to be a timelapse of this mesmerising event.
https://twitter.com/statuses/899685904553451522
International space station did not miss a chance to photo bomb the Eclipse.
https://twitter.com/statuses/899679364920389632
And then this capture. Sigh. This one post makes you realise how minute you are in grand scale of things when you capture nature playing its games.
Equaling Out

Sana hated Joel. It was not because he was a terrible person. It was, rather, for exactly the opposite reason. He was a gem of a person.
He always adorned his face with a wide, charming smile. A smile that captivated everyone, but was neither an attempt at hiding some innate stupidness nor a craving for being characterised as “the cheery guy”. It was all authentic. At work, he was best at what he did - extremely smart and diligent. He mesmerised everyone in the team, inside or the outside, with his knowledge and his stories. Sana had not yet come across a single topic which had him stumped.
Sana, on the other hand, was miserably inadequate at work. She rarely completed stuff assigned to her on her own, helping others was unthinkable. She wasn’t too keen either, as it involved interacting with them. As part of a group, she was perceived to be the pensive dumbo. She rarely added anything to a conversation, but got always swayed by everyone’s perspective. More often than not, she left a conversation being bitter for her inability to contribute.
Not Joel. He was never seen fussed. Outside of work, he dialled his impressiveness up a notch. He was a terrific singer — Sana believed he was good enough to be a lead singer of any band. Every party had a performance from the cheery guy. Him, strumming guitar, and his soulful crooning.
Sana had no interests, no passions. She was into her late twenties, and she had no profile to boast of. Every attempt of hers to break free was shot down mercilessly by her fate. Some by the fateful accident that took her family away. Some by the untimely fire that took her friends away. Fate never allowed Sana to be the unfettered child, burdening her always with the needs of ever debasing circumstances.
“Sana?”
Sana was woken up by a collective shrill around her. Everyone was looking at her. And she, through her teary eyes, had been looking at Joel, a usual guitar in his hand. She, then, heard Joel speak.
“Yes, her. She is a great singer. I have heard her croon many times.”
Fate, over her life, had nurtured Sana to be a grouchy wench. Sana hated Joel for dissuading her from being herself.
Life of Bitcoin Miners
In the bitcoin economy, time really is money. Every 10 minutes or so, mining machines compete with each other to solve a math problem to win 12.5 bitcoins, a reward set by the bitcoin software. The work is akin to trying out billions of combinations of numbers on a safe. The miner who gets the right combination the fastest unlocks the safe. The more machines you have, the greater your chances of earning coins.
The whole economy around bitcoins (“the stateless digital currency whose total market value has more than quadrupled this year to $70 billion”) mesmerises me. It is as if a whole parallel universe exists — a universe where not just the currency, but the rules and the rulers transcend the limits of the real world. It stumps me though to think that whoever is capable of owning huge wearhouses, being called mines now, that host nearly unlimited processing power will soon govern this universe. And the most prestigious job available would be to tend to the machines generating this power.
Machines at the mine break all the time, given there are 25,000 devices. It’s a game of whack-a-mole: After one is fixed, another broken machine crops up. “I just try my best to check as many as possible,” said Hou, who tends to the machines daily from 8:30am to 6:30pm.
All day and night, using laptops, they monitor the status of the machines, and go into “the field”—the eight buildings that house them—to check on malfunctioning ones.
As a side note, I read this and feel automation is banging on the doors to dismantle the life of these so called miners. This parallel universe will not be run as it is today. Disruption is waiting to happen when everything of a world goes digital.
"Journal"
I have become a big fan of the Mc Sweeney’s publication. Every day brings a new satire, a new angle, new humor to the terrible events in the world. Here’s their satirical take on Mr. President’s horrible tweet. “As you can see on this X-ray, the tumor is currently about the size of a baseball in an all-white baseball league. I could surgically remove it as soon as tomorrow afternoon. However, I will not be doing that. I view this tumor as an important symbol of your body’s history and heritage. Removing the tumor would be yet another example of misguided medical correctness in today’s liberal America. I protest this surgery and refuse to whitewash your rich medical history. The tumor must be kept prominently displayed inside your body.”
Bravo! Satire, more often than not, hit the hardest. https://twitter.com/statuses/898169407213645824
Moving from Squarespace to Hugo
This is my personal place, a destination where one can find every thought I ever post on the web, anywhere. At times it originates, and so just exists, here. There are also times when it’s published at some other places first, but is also made available here. It has been in existence since 2008 and just like every year, this time too I wanted another fresh start for this place.
I have already documented all the history behind and the context for the existence of this site and this page. Here, I intend to document all there’s to know about this site.
Before I get to the details, this is what I set to achieve when I began.
- A website designed, in and out, to my liking, with every knob controlled by me.
- A landing page with a brief about me and the site. One that clearly links to the key content.
- Clean and simple experience, while reading a post or navigating the site.
- Consistent writing experience, preferably offline, across mobile and desktop.
- Source control for the whole place. No fallouts from brain freezes.
I do not believe what I sought out was that complex. So I was confident I could get this working.
Here’s the TL;DR version of what I have achieved.
1. This My old site was built with Hugo — it is extremely simple, highly customisable, well documented and has an active community. It’s difficult to beat all of that. ∞
2. The look and layout of this site is themed by an extremely personalised port of the original ‘ghostwriter’ theme. I intend to open-source the same soon. ∞
3. The source for the complete website along with all the posts, as markdown files, resides in GitHub. Every change to this setup is driven as it would be in a standard git project. ∞
4. Contents from Squarespace were exported into a Wordpress package first. They were converted into markdown files using ExitWP. Followed by cleanup. And deploy. ∞
5. This site is deployed by Netlify. With continuous deployment and one-click SSL for custom domains possible with minimum configuration, the choice was pretty simple. ∞
Core Engine - Hugo
I had always wanted to attempt a site creation from scratch, but I failed miserably every single time. Given I had ample time before my Squarespace subscription expired, I attempted it again this time. I believe I did not fail. This is a static site, built with Hugo. It was the ease with which I could get a site running on my dev environment via Hugo that convinced me about the viability of this whole project. If you do not believe, just head over to the Hugo docs for a quick start and begin. You will have a site running by step two. It is that easy.
You would have also realised how well document the whole framework is from your visit to the quick start guide. There is nothing that you want to achieve that isn’t documented. In addition, given that Hugo is written in GoLang, it gave me an opportunity to learn a new language. Post that, every need of mine to get the things just right was just a code snippet away.
For example, find below a snippet for fetching a list of random five articles. Yes, it is easy. And a lot powerful.
{{ $pag := where .Data.Pages "type" "post" } } {{ range (shuffle $pag | first 5) } } {{ ....custom.... } } {{ end } }
And if it does turn out that there is some tricky edge case that you just can’t get your head around (or you are being plain, simple lazy), there is a thriving community of fellow users which is extremely active and a lot helpful.
TL;DR: Hugo is simple, highly customisable, well documented and has an active community. It’s difficult to beat that.
Personalising the look & layout
Once I had the core finalised, I shifted my attention to personalising the site. And again Hugo comes with a lot of good looking themes — extremely minimalistic to fully loaded. You will always find the one for your liking there.
If you, like me, do not find one that ticks all the boxes for you, you can select any that is closest and get to personalising. All the themes come with the source code. So if it suits you, let the developer in you go wild.
I began with a theme “Ghostwriter”. It was simple and I could see how it can be extended to enable every aspect that I wanted to achieve. So I began working. After a week of customisation, I could finally see the site shaping up just the way I imagined.
I intend to soon open source the changes I have made to the original theme. I am working on cleaning up the source and committing. All the enhancements and personalisations added to the theme are available at Github. If you like the theme that you see and if you are using Hugo for building your Static website, you can download and use the theme from here.
TL;DR: The look and layout of this site is themed with an extremely personalised and open-sourced port of the original ‘ghostwriter’ theme. I intend to open-source the same soon.
Cushioning against brain freeze
Yes. Commits and port. I am not letting another of my brain freeze moments to spoil all the efforts the put in over the years. Refer the history section I mentioned in my introduction above.
So whole website is a git project. It is currently maintained as a private repository at GitHub. Every change, major or minor is committed. Every milestone is tagged as release. And every major enhancement is pull request. No, I am not taking any risk with myself this time. Here is a snapshot for the effort that has gone in to bring the v1 of this site.

Do I intend to make the source of this website public? Well, initially I wanted to do just that. However, I do want to keep my messy drafts, be it to the posts or the website, just to myself. I could not find a public way to achieve that. So as of now, the source stays private.
TL;DR: The source for the complete website along with all the posts, as markdown files, resides in GitHub. Every change to this setup is driven as it would be in a standard git project.
Migrating the content
Talking about the posts, I had to bring the old entries along from Squarespace. After all, this is also a place for my writings. I would not want to loose any of my old ones1.
This time, though, I did not have the luxury of the out-of-box imports. I had to do it on my own. Well, I did have a couple of points playing on my side.
- I have been writing all my posts in markdown format and exporting them as required.
- Current setup with Hugo is all markdown driven, where every content exists as a
.mdfile.
So, all I had to do was find a way to export the content from Squarespace as markdown files. I wish it was that simple; it wasn’t. The only option that Squarespace supports for export is as a Wordpress package. However, anyone who has been blogging for even a slightest of time would know Wordpress package should be fine. Because there is nothing to be done with a Wordpress package that no one else has already tried. Just getting markdown files out of that must be a cakewalk. Markdown, after all, is a geek’s solution.
And as I thought, it already is handled. ExitWP is a great tool to migrate a Wordpress blog to a static site. It is introduced as a tool to convert to “the jekyll blog engine”. But that should be fine. Both Jekyll and Hugo use markdown files as content.
After going through the steps as documented at the git repo for ExitWP, I had all the content available as markdown files2. It did need the below minor cleanup.
- Images had to be handled separately. All references were to the Squarespace domain. Thankfully, I maintain a credit link with every image to the original one. So I just had to re-download, compress and deploy them.
- Front matter needed porting to the Hugo standard. I did weigh in the option to write a script to do that. But then ended up siding on doing it manually.
- Post content did need some minor fixing. ExitWP has some issue handling and regenerating the emphasis, especially around symbols (for example, quotation marks, dashes etc).
Deploy the post, test each one from the post link on dev and I had all my content back. Thanks to this effort, I believe I never have to worry about porting out my content ever. Every published copy of a post stays as a raw file with me.
TL;DR: Export contents from Squarespace to Wordpress package. Use ExitWP to convert it into markdown files. Cleanup. Deploy.
Deploying with Netlify
Once I had a site running on dev and tested multiple times to bring it to my liking, I had to start thinking on a place to deploy it. And of course, Hugo has all the possible options well documented.
As my code was in GitHub, the first option I tried was to deploy it on GitHub Pages. I configured Hugo to generate the static pages in a defined directory (configured as submodule for the GitHub pages repository). I built my site, pushed the changes and deployed, and it all looked fine. However, there was just one problem — the deployment workflow was a bit messy. In addition there were few more niggles3.
- There is no provision for SSL with custom domains. So they cannot yet be delivered over secure
http. - Auto-triggering for build and deploy had to be configured as web hooks.
- Given the deployment workflow, publishing from mobile was just out of question.
On reading some more, I found a far simpler option in Netlify. Again I will let the official document explain itself.
Netlify builds, deploys and hosts your front end. It provides continuous deployment services, global CDN, ultra-fast DNS, atomic deploys, instant cache invalidation, one-click SSL, a browser-based interface, a CLI, and many other features for managing your Hugo website.
One might say jargon, but there are key needs I had which GitHub pages just didn’t handle — a couple being continuous deployment and one-click SSL. So I did another deployment with Netlify and again fell for the simplicity of the things involved. No configuration head-ache. No custom workflow to handle the built site separately.
Write Frontend Code. Push it. We handle the rest.
Yes it, indeed, is that easy. It doesn’t matter then where you push to the repository from, mobile or desktop.
There is one issue with the Hugo documentation though. One does not need to trigger a build command with Hugo version number appended in it. Just configure a parameter in the build for the version of your Hugo environment.

Once the Netlify account was created and the continuous deployment for the site setup, I just followed the documentation for using custom domain and setting up SSL. The site was live.
TL;DR: The deployment of this site is handled by Netlify. With continuous deployment and one-click SSL for custom domains possible with minimum configuration, the choice was pretty simple.
Change log
So to summarise, I have first releasable version of this website ready. Built with Hugo. Themed with Ghostwriter. Run with Netlify. And of course, it is just v1.
Musings Et Al. v1: First version of the website with all the clogs designed and working as planned. It hosts below custom features.
- Support for write-up section on homepage driven by config.toml
- Support for headshot on the homepage
- Support for displaying the latest featured post on homepage
- Support for link posts (via refs param in front matter)
- Support for related post along below the content of a post
- Link to the image credit (via imgsrc param in front matter)
-
As a side note, all my old posts still exist on Wordpress. You can read them here.↩
-
I did face some difficulties while installing the dependencies. In case you hit them too, just download them from the official sites and have them available in the
classpath. It doesn’t matter the approach is crude, it should get the work done.↩ -
In case you do want to go a
head with GitHub Pages, I would suggest you go ahead with the option of deploying from the master branch itself. Hugo documents this as the last option. But I feel this is simpler and a viable option.↩
"Journal"
As I read this, I sat there with a chill down my spine. “Terror is not an unjustified reaction to knowing this virus exists. We have no room to be wrong about this. None. We can be wrong about other things. If smallpox got out, it would be unfortunate, but it has a fourteen-day incubation period, it’s easy to recognize, and we would stop it. Much the same is true with sars. But with flu you are infectious before you even know you are sick. And when it gets out it is gone.” https://twitter.com/statuses/896659144819695617
"Journal"
I was writing the setup page of this site when this thought triggered in my mind. iPad is just a consumption device till you try. Once you do, you will start loving producing content on it.
Displaying Favicons in Safari tabs
I don’t know what the argument is against showing favicons in Safari’s tabs, but I can only presume that it’s because some contingent within Apple thinks it would spoil the monochromatic aesthetic of Safari’s toolbar area. I really can’t imagine what else it could be. I’m personally sympathetic to placing a high value on aesthetics even when it might come at a small cost to usability. But in this case, I think Safari’s tab design — even if you do think it’s aesthetically more appealing — comes at a large cost in usability and clarity. The balance between what looks best and what works best is way out of whack with Safari’s tabs.
If that is the reason why there are no favicons in Safari tabs, I believe Apple is taking there quest for design too far. Apple gets blamed for always leaning towards form-over-function. I could see every time why some groups might support the said decision. But this time, I just cannot fathom how someone can find this to be a releasable solution. This is senseless.
"Journal"
The Google Memo debate
I had a lot of thoughts on the whole Google is handling the diversity wrong” memo kerfuffle. Here are some of them.
- The memo had the leadership in tricky position. Unfortunately, what played out looks driven from external pressure than “corporate values”.
- “No matter how often this all happened, it still hurt” The debate, & the sick views it brings to the fore are damning to all involved.
- Why’s this always forgotten — “people may have a right to express their beliefs in public, that does not mean companies can’t take action.”
At times, satire is the best mean to address and comment on a muddled topic. And this one at McSweeney’s by Ben Kronengold takes the cake.
Positions in the tech industry often require long, arduous hours that may conflict with humans’ desire to run home and see if Ozark is any good. Robots don’t have this problem, for they are pushed into coveted jobs for the status that they entail.
This writeup from John Battelle has to be one of the most clear headed, to-the-point and no-bullshit take on the whole “Google is handling the diversity wrong” kerfuffle.
.. that narrative is bullshit, and all rational humans know it. Yes, we have to pay close attention — and keep our powder dry — when a company with the power and reach of Google (or Facebook, or Amazon, or Apple…) finds itself a leader in the dominant cultural conversation of our times.
But when a legitimate and fundamentally important debate breaks out, and the company’s employees try to come together to understand its nuances, to find a path forward …..To threaten those engaged in that conversation with physical violence? That’s fucking terrorism, period. And it’s damn well time we called it that.