I recently quit from TarkaLabs and have decided to take upon the journey of Independent consulting and focus a bit more on my Side projects.

I have some rough plans on what to tackle next, but the immediate plans are,

  • Feature scale rosterbird.com. It has serious traction, bringing MS-Teams support and multiple teams support are next.
  • Build several small one-pager projects. I have some exciting ideas I want to bring to life. I’d also like to proclaim something like building 12 decacorns in 12 months, but not for now.
  • Organize and index my various products in one central place. projects.avinoth.com is there, but needs a revamp there.
  • I have some Open source project ideas I want to spend some time on it and release those.

I’ll try and write something more streamlined and structured about the plans once some of it materializes. Until then.


Last year I removed the last of any analytics plugins from my blog and I don’t miss it.

I used to use Google analytics as most do, for my personal blogs, sites and my sideprojects. This is pretty much like the norm as how you have a domain name, you have an analytics and I’ve never questioned why.

I’ve always been a privacy advocate within my friends and family group and have basically canvassed to move away from a dedicated service (such as google) for all their needs. And I’m pretty mindful of how I use these services, what data they collect myself. Privacy concerns stems from the unnecessary data they collect which I as a user don’t feel comfortable giving out, even if its anonymized.

Didn’t realise the hypocrisy of my personal blogs, which has no use for those numbers, collecting those unnecessary data. That’s when I started pondering, do I even need analytics in the first place?

  • Do I care if 10 people read it or 10000 read it?
  • Do I care which articles people are most interested and which one doesn’t “perform” well?
  • Do I even want to know where my users are from, which devices they’re reading it from and be more obsessive on how long they’ve read and so on?

The answer to all of these have been a resounding No. I’ve come to the conclusion we use analytics because everyone does, it is free and it is the “norm”. Now, I remember all the way back when the “analytics” was just a stat counter that’s embeded in the footer of the page itself for the visitors to see. And it was just that, one number and it was meant to be fun.

But today’s analytics tools which are nothing short of a blackhole subsuming all surrounding data into its soul-less vaccum and then to give back a little bit of it in cheery colours and graphs - is not fun.

I’m not disvowing the use of analytics completely here, I understand some of these answers are needed for certain types of sites, especially for the ones with commercial purpose. I myself still use analytics for my side projects because it is beneficial for the business to be better informed of the customers to provide better products. But for personal sites & blogs? I sure as well don’t think so.

I don’t even want to get into the disadvantages of the ticking number showing how many are reading it and giving wrong signals for your to follow instead of just writing what you want to write.

Review your sites, see where all you’re actually using analytics and ask yourself - do you really, ever need those numbers?


For the past couple of months, I’ve been working on a new side project of mine and I’m delighted to announce its Public beta launch. trackiem

Motivation

I’ve always been interested in tracking various aspects of my life and figuring out patterns between those. Like number of coffees, or whether I worked out that day or the number of books I read and so on. For this, I have tried using specific tracker tools before, but they always are too constrained in its nature. Often they are built for a specific niche, like habit tracking / finance tracking, etc.

I wanted something generic that would just offer me the right tools and let me configure my trackers the way I want. Hence, Trackiem.

The tools

If you dissect any “trackers” out there, its made up 3 major components.

  1. Tracker information
    • Basic information that lets you identify your tracker. Like, name, question that you’d ask yourself to record the answer.
  2. The Tracker type
    • Are you recording a Yes / No type or Numbers or Strings. For eg, to track whether you did a workout, you need to register Yes/No, whereas if you’d like to track say your weight, its Numbers
  3. Frequency
    • What is the period you are tracking the data for. Is it daily, weekly, monthly or on-demand. For eg: Your daily workout would be a combination of Daily & Yes/No

With just these 3 components, you could have a wide range of trackers. Some examples that could be built with these components where there are dedicated apps out there,

  • Daily workout tracker
  • Weight tracker
  • Daily money spend
  • Generic “Activity” tracker
  • Books read
  • and so on…

On top of these 3 tools, Trackiem also provides reminders for you to, well, remember the checkins and Charts and graphs so that you can visualize the data you have recorded. As with anything, both reminders & charts are customizable to your taste.

What next?

As Trackiem is now in Public beta, more and more such tools are actively being integrated. I have planned some exciting things down the line, some of which are

  • Define your own tracker type. Call it Time, Money, Weight, etc.,
  • Customize your reminders on how much to receive, when to receive
  • Third party integrations for you to automatically record the data for your trackers.
  • Build your own dashboard. With the data accumulated on various trackers, build your own way of visualizing things.
  • and much much more..

This is just the start, and I’m so excited for its future down the line! If you are interested, make sure to check it out and give it a try here


Often times we work based on setting a predefined goal, and the way we perform is structured in such a way to achieve that goal in the given time. I see few fundamental problems with it.

Goals are often set to achieve a desired outcome. For eg, learning a new programming language, finishing your side project or finishing a book. But the problem with it is it conveys an all-or-nothing outcome. But that is not the case in most activities.

When we set goals for something, it alters our thinking towards “achieving” that goal and our journey to it gets lost as a means.

When you don’t “achieve” a goal, you’ll consider that as a failed endeavor. And all the new things you learned during your journey towards the goal will go unappreciated.

For example, When you’re reading a book, finishing each page is itself a result. Or when you have a weight loss “goal”, shedding 1 kg is a result. It shouldn’t be seen as “progress” because then it says these are nothing but a tangential step towards the final outcome, which when you don’t meet, never gets registered that you indeed had results.

The problem is magnified when your work becomes Goal driven, especially in knowledge industry. We don’t get our “reward” at the end of a goal, but it is actively accumulated during every step of the way. As a programmer, every failed program or a bug you encounter is teaching you new ways or perfecting the old ones. As a researcher, every one of your failed device setup or incorrect experiments, is teaching you ways.

To conclude goals should be used as a course correcting mechanism when you wander off from your planned direction. It cannot be your singular focus, for when it is, all the time between now and when you achieve it is merely a footnote.


This is going to be a small post about an excellent tool I discovered recently. I was refactoring a large RSpect suite and trying to speed up the execution time. I wanted a reliable benchmark tool to determine where the time is spent the most and which tests are taking most of the time. That’s when I came across test-prof.

Rather than me, the official documentation of test-prof is excellent in explaining all the APIs it supports. Here it is.

Out of all the goodies the tool has, one that has found its way to most of the spec suite was the let_it_be helper it provides. Its a simple helper that avoids the usecases where you used to use instance variables in a before call to setup non-changing test data.

before do
  @draft = create(:post)
  @published = create(:post, draft: false)
 end

becomes

 let_it_be(:draft) { create(:post) }
 let_it_be(:published) { create(:post, draft: false) }

By this you can still with the goodies of proper let usage but at the same stop abusing instance variables. This and much more are documented here.