Create SVG with PowerPoint

With Office 365, PowerPoint supports SVG editing. This is really powerful. It means you can draw in PowerPoint and render it on the web – including as interactive or animated visuals. For example, the SVG in this simulator was created just with PowerPoint. The process is simple. Draw anything. Select any shapes and right-click. Select Save As Picture… and choose SVG. For example, you can use PowerPoint to create Smart Art, export it as SVG, and embed it into a page. See this example on CodePen. ...

lxml is fast enough

Given the blazing speed of Node.js these days, I expected HTML parsing to be faster on Node than on Python. So I compared lxml with htmlparser2 – the fastest libraries on Python and JS in parsing the reddit home page (~700KB). lxml took ~8.6 milliseconds htmlparser2 took ~14.5 milliseconds Looks like lxml is much faster. I’m likely to stick around with Python for pure HTML parsing (without JavaScript) for a while longer. In [1]: from lxml.html import parse In [2]: %timeit tree = parse('reddit.html') 8.69 ms ± 190 µs per loop (mean ± std. dev. of 7 runs, 100 loops each) const { Parser } = require("htmlparser2"); const { DomHandler } = require("domhandler"); const fs = require("fs"); const html = fs.readFileSync("reddit.html"); const handler = new DomHandler(function(error, dom) {}); const start = +new Date(); for (var i = 0; i < 100; i++) { const parser = new Parser(); parser.write(html); parser.end(); } const end = +new Date(); console.log((end - start) / 100); Note: If I run the htmlparser2 code 100 times instead of 10, it only takes 7ms per loop. The more the number of loops, the faster it parses. I guess Node.js optimizes repeated loops. But I’m only interested in the first iteration, since I’ll be parsing files only once.

Mining for Ancient Debris

I’ve been active on Minecraft for the last 6 months, thanks to my daughter. She keeps watching game videos for hours. I thought I’d see what the big deal was, and made one myself. In this 5-minute clip, I’m mining for Ancient Debris in the Nether by placing beds – which explode when used in the Nether. That’s a quick way to clear large areas and is cheaper than TNT. Ancient Debris is used to make Netherite Scrap which makes Netherite ingots that can upgrade to Netherite weapons and armor – the strongest things in Minecraft. ...

Walking 10,000 steps a day

Since 2018, I’ve been walking ~10,000 steps a day. Here’s my journey.

Books in 2020

My Goodreads 2020 Reading Challenge target is 50 books. I’m at 45/50, with little hope of getting to 50. (I managed 25/24 in 2019.) The 10 non-fiction books I read (most useful first) are below. The Lean Startup by Eric Reis. The principle of Build - Measure - Learn is useful everywhere in life too, not just in startups. Never Split The Difference by Chriss Voss. Shares principle-driven strategies to convince people. The 4 Disciplines of Execution by McChesney, Covey & Huling. Teaches how to build execution rigor in an organization. A bit long at the end, but the first section is excellent. Sprint by Jake Knapp. A detailed step-by-step guide to running product development sprints that you can follow blindly. How to Fail at Almost Everything and Still Win Big by Scott Adams. Dilbert’s author shares his strategies for life. Very readable, intelligent, and slightly provocative, but always interesting. The Five Dysfunctions of a Team by Patrick Lencioni. Written as a story (like The Goal). Talks about the 5 problems in teams and how to overcome them. The Culture Code by Daniel Coyle. Explains the elements of strong cultures - belongingness, shared vulnerability, and shared purpose. Data-Driven Storytelling by Nathalie Henry Riche et al. Shares the latest points of view on telling data stories. My team and I read these chapters as a group. Leaders Eat Last by Simon Sinek. Inspiring when I read it, but I don’t remember what it said. Deep Work by Cal Newport. Shares tactics to focus. Practical and useful. I also started, by haven’t finished these four: ...

Micro-notes

I maintain my (extensive) notes in text files. I’ve explored Evernote, Onenote, Google Keep, Apple Notes, and many other platforms. But text files work. I store them as Markdown and sync them on DropBox. They used to be relatively large files (50-100KB) each, on broad topics. For example: todo.txt was a consolidated list of things I had to do people.txt was a list of everything I knew about people (addresses, birthdays, etc) towrite.txt was a list of everything I wanted to write about notes.txt was where I tracked notes about any topics … and more This led to a couple of problems. ...

Anyone interested in an internship to create comic characters? LinkedIn

Richie Lionell demonstrating how #augmentedreality weaves in with #comics and #datastorytelling at the Indian School of Business The anecdote I loved about this event was when an attendee from the nearby AI workshop got bored, wandered in here, and was hooked ☺ LinkedIn

This is the most interesting thing I’ve seen in a while. Combining #comics with #augmented_reality, #datavizualization and #gamification Nice work Ramya Mylavarapu! https://twitter.com/i/status/1201170899434520576 Right amount of Data, Comic and Augmented Reality. Addictive like a perfect coffee! With @Gramener @musingswithcode @richielionell @thoughtisdead at @Agami_In pic.twitter.com/uGUbY2DGft — Ramya Mylavarapu (@MylavarapuRamya) December 1, 2019 LinkedIn

If you’re a seasoned developer that enjoys working with data, have good front-end skills, and are challenged by impossible deadlines, please drop me a note. I’d love to work with you at Gramener Mumbai. LinkedIn

Always a pleasure watching Richie work his magic on Excel. Looking forward to Richie showing Michael Jackson dance in Excel 😀 LinkedIn

Happiness generator

In my current thrust towards greater management responsibilities, I have discovered a mechanism for generating happiness. I set up meetings on important topics. That makes me happy – I’m driving something useful. Often, the meeting gets cancelled. That makes me happy – I’ve more free time. It’s the perfect perpetual motion machine. Comments Vasant 10 May 2016 11:58 pm: Ha ha! Love it. Madan 30 Mar 2019 9:00 pm: Often, the meeting gets cancelled. That makes me happy — I’ve more free time. What a positive thinking Sir Jee !! vikram 5 May 2016 6:04 pm: i am a non tamil .i have a piece of music and i want to know which song is it exactly.This was briefly played in the movie madras cafe starring john abraham.can u just help me wih that song . Kindly ping me to my mail i ll share that piece with you udayamoorthy v 23 May 2016 12:34 pm: That’s Great Idea. Kind of Win Win Situation. Happy to see you in the blog after a long time. I used to view your older posts regularly . All are great. Thanks Regards Uday Chirag 25 Sep 2017 9:03 pm: Haha ! Thats clever :)

Apparently, I’m one of the top 10 data scientists in India. http://analyticsindiamag.com/top-10-data-scientists-in-india-2015/ LinkedIn

Dissecting my Airtel bills

My monthly postpaid mobile bills have been in the Rs 2,000 – Rs 3,000 range for some time now, and I spent a few hours dissecting them yesterday. Page 3 had the good stuff. It’s a little hard to figure out, but what the last 2 columns say is that most of my spend is offset by discounts. What’s not getting offset are outgoing roaming calls. Followed by calls to local landlines. For all practical purposes, that’s the only thing that counts in this bill. Everything else is close enough to zero. ...

Things I Learned - 16 Nov 2014

This week, I learned: List of Gen AI companies disrupting SaaS incumbents: LinkedIn

An ambulance ride

I rode in an ambulance yesterday. I’ve been in a few of these in the last 3 weeks, but yesterday was the first time I had to give directions, so I was paying a bit more attention to the traffic. It’s remarkable how well Bangalore traffic responds to ambulances. Almost every single person gave way. (Not that this is easy. Merely slowing towards the left isn’t always effective if it ends up blocking the way. Many people were wise enough to give way at the appropriate place, and our flow was not impeded.) ...

Poor Miss Wormwood

It’s hard not to feel sorry for Miss Wormwood. Comments Suraj 13 Feb 2016 4:34 am: I pity his babysitter Rosalyn more!

Software I currently use

Every few years, I review the software I use. Here are some of my earlier lists. Right now, among browsers, Chrome is my primary browser. What’s interesting is that IE 11 has overtaken Firefox in terms of usage. That’s partly because we’re working with Microsoft a lot, but also because Firefox has a number of weird bugs like IE6 used to have, and is slowly lagging in the race. Next to browsers, I spend most of my time on the command prompt. I use Console2 for tabbed console windows. Given the number of command prompts I open, this is often necessary. I use bash in Cygwin as the default shell. Haven’t had the need for PowerShell. ...

A-Z of my browsing history

When you start typing in the address bar, Chrome suggests a link to visit, based on frecency. What do my recommendations look like? A is for airtel.in/smartbyte-s/page.html – the page where you can check your bandwidth usage. I used to check it infrequently until I upgraded to a 125GB connection. Now I check it every few days and feel miserable that I’ve nowhere near used up my quota. This has coerced me to watch many Telugu movies, of which I don’t understand a word. B is for blog.gramener.com – I blog there on data stories. The last month or so has been fairly active thanks to the elections. C is for calendar.google.com – which has become primarily a shared calendar. It was always indispensible to manage my time. Now it helps my colleagues pick when to call me. Right now, my calendar has events booked about two months in advance. D is for docs.google.com – for effectively one single purpose: shared spreadsheets. This is such a common and powerful use case, and I’m surprised it hasn’t become much easier to use. E is for epaper.timesofindia.com – some of our content has been published by The Economic Times, and I keep doing ego-searches in the print edition. But close behind is eci.nic.in which I’ve been scraping a lot, and election-results.ibnlive.in.com which we created for CNN-IBN. F is for flipkart.com – not facebook.com. I’m not often on Facebook. G is for gramener.com. Naturally. (It’s not surprising that it’s not google.com: I search directly from the address bar.) H is for handsontable.com – a library that I’ve been using a lot recently, followed by html5please.com that tells me which HTML5 features are ready for use. I is for ibn.gramener.com – another property we created, but it only just beats irctc.co.in. J is for join.me – a clean way to share your screen without the audience having to install anything (though you the sharer do have to install the software.) K is for kraken.io – an amazingly efficient image compressor. As you might have guessed, I lead a strange life. L is for learn.gramener.com – our Intranet. Sorry, you can’t access this one. M is for mail.google.com. I’ll probably be moving away from gmail as a backend this weekend to Mail-in-a-box, though. Google’s pulling the plug on Google Reader has shaken my faith. N is for news.ycombinator.com. When I’m bored and want to watch something while I have dinner, I don’t open YouTube. I open Hacker News. O is for odc.datameet.org – the Open Data Camp. I’m quite into open data. P is for pay.airtel.com, but if you ignore the number of bills I pay, it would be pandas.pydata.org, the home page of a remarkable data processing library. Q is for quirksmode.org, PPK’s remarkable browser-compatibility guide R is for reader.s-anand.net, my self-hosted RSS reader. It used to be reader.google.com, but Google let me down there. S is for s-anand.net – this blog. T is for twitter.com. Unlike Facebook, I don’t dislike Twitter so much. U is for underscorejs.org. Clearly I need to get a life. V is for visualizing.org. They have a number of interesting data visualisations. W is for webpagetest.org – it helps measure the speed of web pages. X is for xem.github.io. I’ve probably visited this page once, but it’s the only one in my recent history that starts with X Y is for youtube.com. I lied. I spend an order of magnitude more time watching Telugu movies on YouTube than on Hacker News. Z is for zoemob.com. Again, a page I visited only once, but there’s nothing else in Z at the moment. Comments Software I currently use | s-anand.net 9 May 2014 6:24 pm (pingback): […] course, some of my apps apps have moved online, and my earlier post on the A-Z of my browsing history covers that. But there are a few applications that I’ve hosted which I must talk about. […] chandigarh 13 Oct 2015 7:27 pm: you can delete your web search history through link https://history.google.com/history

Why I’m blogging less

My blog’s been through a number of phases. Between 1996 – 1999, it was just a website with a few facts about my and some of my juvenile ramblings. Inspired by robotwisdom.com, I converted it into a blog – except that I didn’t know what blogging was and just called it “updating my site every day.” It was mostly a link blog. In 2006, around the time when I moved from Mumbai to London, I reduced my link-blogging and started writing longer articles talking about my experiences. This was a fairly productive phase, and I was churning a few dozen articles every year until 2012. ...