Shakthi Kannan – the Free and Open Source Software ‘Shakthimaan’
Our Techie Tuesdays of the week, Shakthi Kannan dons the hats of Free and Open Source Software (FOSS) advocate, documentation expert, and DevOps engineer with ease.
Impeccably attired, Shakthi Kannan was half an hour early for our meeting, which, in essence, describes the man – meticulous and a perfectionist.
In conversation for Techie Tuesdays, his dedication for the FOSS community and love for tech shone through. So much, that when asked about the biggest mistake of his life, he says:
I did 'rm -rf /' in one of the system admin lab machines. I was just starting to learn the commands then.
The said Unix command theoretically deletes every file on the computer that resides in a directory that one has write permissions for. If one has root permissions, the command wipes out the entire system!
Shakthi started his career in hardware, but then moved to middleware applications, to static analysis to DevOps. All the while, Shakthi has been a strong force in the FOSS movement in India.
Childhood with ZX Spectrum
A twin, Shakthi was born in Chennai. Growing up, the difference between the brothers was noticeable. “He’s more of a front-end design guy, whereas I do lot of back-end work,” says Shakthi of his brother.
From learning typing using the traditional typewriter to captaining the Under-13, Under-16 and Under-19 cricket teams in school, Shakthi kept busy in school, but also excelled in academics.
His introduction to computers was ZX Spectrum, which was mostly used to play games. With a natural flair for software, Shakthi learnt programming language BASIC by himself.
Keen on studying medicine, Shakthi joined an engineering college, and took Information Technology as his elective, after he did not make it through medical college.
Related read - Richard Stallman – the freedom defender whom we may not deserve but definitely need
Making of an engineer
Determined that ‘whatever is given to me, I'll do whatever best I can’, in his second year, Shakthi joined Elnet-3L academy where IIT-Kharagpur professors taught C, data structures and Unix. “The labs had some old Red Hat floppy drive using which we installed Linux distribution. That's when I got interested in Linux.”
Helping batchmates planted the seed for teaching and community building in Shakthi’s mind. After BTech, he chose Rochester Institute of Technology (RIT) to pursue his masters degree.
Unlike most of the colleges in US which had semester system, RIT has quarter system. It was very fast paced. I spent a lot of time playing with the computers and routers and switches in the systems lab and the networking lab. We worked on a lot of projects in network design for virtual companies.
Also read - Meet Vibhore Sharma – the self-taught technologist who’s CTO of Naukri.com
Balancing community and corporate
Shakthi moderated a Linux forum during his post-graduation, helping people trouble-shoot Linux networking.
He moved back to India in 2004 to join Chennai-based startup Specsoft, a subsidiary of Hexaware Technologies, where he worked on the Linux-USB kernel sub-system (2.4 and 2.6).
We were mostly customising Linux-kernel USB for the hardware we were building. We had a VLSI team working on chip design and we were writing the drivers to validate their hardware.
Shakthi’s role was to maintain the entire codebase. He says, “I made sure that all integration points are correct, code compiles fine and all the testing was okay as well.”
The company also ported video players on ARM-based boards. After two years, the company was sold and Shakthi moved to Hyderabad.
Hardware to applications
Hyderabad-based Qvantel was primarily a consultant for Nokia and Ericsson, and started with custom USB work for mobile platforms. Shakthi explains, “It was vendor specific for the code base that vendor had. But we wrote many small applications to help GSM network. Slowly, we started going to telecom middleware segments.”
It was during this stint that Shakthi got involved in community work. He did a lot of Fedora packaging, and maintained Haskell packages. He also started advocacy for FOSS.
I realised that many people don't have awareness about Free Open Source Software and Linux. I started going to schools, colleges during weekends and organised workshops to tell people what's available, what's there, what's the current trend you see in the industry.
Many told Shakthi not to waste his time, but he chose to ignore the naysayers.
You may also like - From UP to the US: The journey of Abhinav Asthana and his affair with APIs
FOSS movement - gaining momentum
A Fedora ambassador, Shakthi took the Fedora project and let students install it and get started with it. Realising that most manuals for the Free Open Source Community were designed for native English speakers, Shakthi started creating innovative presentations for non-native English speakers.
One such presentation that gained popularity was: 'I want 2 do project. tell me what 2 do'. It was referred to by many students at Google Summer of Code (GSOC).
Soon, Shakthi was creating documentation as reference, like, how do you use Git for version control. He also documented all his workshops.
Related read - The incredible story of Ashish Gupta – how a humble techie from Ludhiana engineered Flipkart’s scale
The corporate switching
His community work got Red Hat interested, and Shakthi moved to Pune in 2011 as Red Hat’s Principal Software Engineer. Most of his work there was on the tooling for Kernel ABI (Application Binary Interface) and static analysis. He also continued his (Haskell) packaging and advocacy work.
Three years later, Shakthi was looking for opportunities in research and joined Chennai-based startup Manufacturing System Insights, which was into analytics for shop floor machines (analysis of data from CNC, lathe machines).
He joined the R&D team, where he, along with the Vice President, Engineering, set up the infrastructure for backend services. He says, “I worked on Ansible Automation and DevOps. So, I’ve moved from hardware to middleware applications to static analysis to now DevOps work.”
To further explore DevOps, Shakthi moved to Bengaluru and joined Aerospike, a high-performance scalable NoSQL database. He is part of the Client Services team, and is responsible for training customers in APIs, moving from RDBMS to NoSQL.
Giving back to FOSS
Shakthi has been an Emacs (editor) user for a while, and now also contributes to Emacs. “When I moved from Red Hat, I started writing a lot. Based on the presentation 'I want 2 do a project. tell me what 2 do', I wrote a book and published it. I made an international edition as well. It's primarily for students and professionals who want to get started with Free and Open Source Software.”
Shakthi has also authored content series on Haskell, Emacs, and DevOps.
I don't differentiate between code, data and documentation. It's a single unit of functionality to me. I like to see that they are all merged together to form a good document which can help build great communities.
“When I came back from US to India, I felt people weren't aware of Free and Open Source Software. Today, it has changed and one could see the increase in number of people going to GSOC from India. Number of downloads of my presentation matches this growth trajectory.”
According to Shakthi, starting Shakthimaan.com, and documenting over the last 10-12 years has been his biggest contribution to the FOSS movement.
For now, Shakthi wants to continue what he’s doing and be able to balance his corporate life and community work. He says a good techie is the one who has learnt and read enough to be able to share it with the community.
Quoting Professor Donald Knuth, Shakthi says,
Don't follow things because it's latest fashion, but do things because it's your passion.
You can read and download Shakthi’s work from his blog.
Trivia - Indian cricketer Dinesh Karthik was Shakthi's school junior.