Beginnings, once more

New dawn softly breaks, hope blooms with every heartbeat, new life starts anew. Ahh linux. The frustrations and the joy. After a hiatus of 9 years, I have decided to resurrect this blog. Of course, before I wrote anything meaningful it was time for some cleanup. Hugo, the static site generator that I use for this blog, uses the filename as part of the url. The last time I ported the blog from Jekyl to Hugo I made the terrible choice of encoding dates into the file name. Well, as a result, I have a few hundred files with a date prefix thus making the posts immovable. ...

February 1, 2025 · 2 min · Shivanand Velmurugan

2016 year-end recap

Don’t smoke (Stay quit!!) : Doing great! There is no desire to smoke. After being a smoker for over a decade, I quit smoking last year, and stayed quit. I went to Vegas, smoked incessantly for 3 days, and stopped at the end of the trip – cold turkey. Never went back to it, and quite frankly disgusted by the thought of smoking now. Say yes more often: Did well. I have reduced negativity greatly. This is a good one to keep at for the next year. ...

December 31, 2016 · 2 min · Shivanand Velmurugan

Working with large C codebases

Searching for symbols The product that I work on, has over 22 million lines of source – most of it a nightmare. I use vim as my editor of choice 1. Both cscope and ctags (integrated into vim), allow me to quickly move between files and lookup definitions of symbols, and help in understanding the challenge-du-jour. Throw in fuzzy find capabilities of the most awesome Ctrl+p plugin, and vim becomes the best ‘IDE’ out there! ...

December 29, 2016 · 2 min · Shivanand Velmurugan

Elixir - A crash course

These are notes from the official Elixir documentation. It a quick walk-through of the unique features in Elixir for someone coming from years of C — a way for me to remember and use as a reference. Summary Types Operators Control Structures Types Atoms Named contants with a value. true and false are atoms. Strings Supports unicode string natively! It’s about time. 1 You can concatenate strings using <>. "hello" <> " world". Anonymous functions Native support for closures – called anonymous functions. Also, functions are first-class, i.e. can be passed as arguments into other functions. Special syntax is required to invoke ananymous functions. ...

November 6, 2016 · 5 min · Shivanand Velmurugan

Use Linux, learn new things

After 12+ years, I built a workstation from scratch. Hardware has come such a long way, but that is a post unto itself. Having always worked with Ubuntu and other debian variants it was time to venture into a more lean distro. I picked Arch Linux, on the recommendation of several colleagues. It’s been fun. Pacman and Yaourt are great package managers, and the rolling release model ensures access to the bleeding edge all the time. ...

July 10, 2016 · 1 min · Shivanand Velmurugan