Celebrating Software Progress

Zed.dev, an editor I use to build software, released their Linux version a few months ago. I vividly recall seeing the announcement on Hacker News. The timing was perfect, as I had just ordered my first non-Mac laptop and decided to venture into the Linux world after 15 years of exclusively using Apple products.

However, the comments section of the announcement thread told a different story. People began comparing Zed to VS Code, IntelliJ, and other IDEs that have been in the market far longer. It saddened me to see such comparisons. Instead of congratulating the team on reaching their first milestone, critics were demanding to know why they hadn’t already achieved milestones two and three.

It’s important to remember that most software is a work in progress. Depending on the team’s decisions, software evolves almost daily. New features are added, new bugs are introduced, existing bugs are resolved, and there’s always something fresh being incorporated into the codebase as long as people remain motivated to improve the product. Zed made their IDE open-source, and it’s been inspiring to see numerous community members contribute to enhancing the software. From what I’ve read, it’s significantly improved since the first public version that shipped just a few weeks ago.

Will Zed have all the features that IntelliJ or Visual Studio Code boast? I don’t think so, nor does it need to. I’m quite satisfied with the current state of the software. They have a happy and willing-to-pay customer in me.


My Travel Journey: Then vs. Now

Growing up, everyone would tell me that I should stop traveling at the rate I was going. I would pack my bags and go traveling every month. These trips were both local and international, and now that I look back, I realize I have enjoyed my local trips more than the international ones. The people you travel with form a major part of your travel memories.

One of the reasons people advised me to travel less was so that I could save money and use it to travel more when I was older. I never agreed with that advice. To me, as you grow older, you might be able to travel more because you have more free time and, I assume, more money, but your energy levels go down. If you managed to do ten things in your 20s, traveling in your 30s would reduce the number of things you could do to six or seven.

Was it important to see all ten things in your 20s? I am not sure. Am I happy seeing the six places that I see now? Yes. But I definitely see the change in energy levels, and I want to go back and thank my twenty-year-old self for packing those bags and heading out as often as he did. With more responsibilities now, the number of places I visit has gone down, and so have the things I do when I am at those places.

I woke up yesterday at 4 AM, really excited to see a place in Berlin. My friend suggested that instead of going there at 10 PM, we go at 4 AM, and I agreed. However, the 4 AM version of me had different plans and went back to bed, quoting a famous Bollywood dialogue to my friend:

“Life Mein Jitna bhi Try Karo, kuch na kuch toh chootega hi.” (No matter how much you try, you will miss out on something.)


A Heartfelt Goodbye to Brightpod

Last week, we made the difficult decision to shut down Brightpod. I was part of the team that created the software in 2012—twelve years ago. That’s more than a decade of working on something truly special.

I loved every minute of working on Brightpod. From discussing new features and designing new screens to interacting with customers, debating icons and fonts, and choosing servers, every moment was a joy.

Before I moved to Australia, I can’t recall a moment when I traveled without my laptop. I was dedicated to ensuring our customers had a seamless experience with the software I poured my heart into. I felt a deep connection to Brightpod, and I wanted everyone who used it to have a fantastic experience.

Working on Brightpod made me a better developer. It taught me to focus not just on writing code but also on building software that is truly usable. I learned the importance of user experience, design, and customer feedback.

We had a great run. For ten years, we offered a product loved by thousands of users, with steadily increasing revenue. However, I had different plans for my life and moved to Australia. With the team reduced to just Sahil and I, we put the product in maintenance mode, focusing on server uptime, performance, and security fixes.

A lot changed in the last five years. Many new tools launched in the project management space, often offering more features for free than we could provide. At first, a few customers canceled, then more followed. The cost versus revenue numbers became unsustainable.

Early this year, we discussed the best path forward for Brightpod. After several rounds of deliberation, we decided to sunset the product. As I clicked the button to send out the email, I had tears in my eyes. I spent the last two days reflecting on all the great times I had working on Brightpod.

To our Brightpod customers: Thank you from the bottom of my heart for giving Brightpod a try. To Komal, Kartik, Himali, Swati, Vinay and Katie: Thank you for working on Brightpod with me. And a special thanks to Sahil for letting me be a part of this journey for all these years. It was a pleasure working with you.

So long, and thanks for all the fish.


Fun Run

I’ve read about people eagerly participating in marathon events around the world. Every day, on my way back from the gym, I see people running on the walkway around Manly Beach. I’ve never understood why some people choose running as their preferred method of fitness.

Last week, I participated in my first running event—a fun run, and indeed, it was fun. Having exercised for almost six years, I thought a 5 KM run would be manageable. It didn’t seem like too great a distance. Yet, I struggled. I managed to run the first kilometer at the start, but then it felt like the world came tumbling down. My legs started to ache in places I never imagined could experience pain. I walked the next three kilometers and ran the last one. The adrenaline rush at the end was incredible. I can now see why people choose running as a way to stay fit.

A friend messaged me asking if I was going to join the “crazy cult.” I am not. I love weight lifting and dancing and plan to stick with these activities for my fitness regimen.

Thanks Kabir and Iwona for signing me up for the run ❤️


Showing up everyday

I read this blog post today The unreasonable effectiveness of just showing up everyday and I liked how the article started

I shall write some code everyday before or after work.

I have had that goal in my mind the last five years, yet somehow I never got started. Everything else got prioritised but the project I had in mind to work on. I would spend time worrying about tools than actually writing the code. Spending too much time at 10000ft view than getting down to ground and writing the code.

Here it goes. Day 1. I have the repository created. I have added reminders in my calendar to work on the idea every day. If it’s in my calendar, it gets done.


five years

It’s been five years today since I moved to Australia. Five years since leaving friends and family behind to start an adventure which I thought would not last more than a few months. It’s been a ride, one that I have had a great time being on.

The original plan was that every year, I would spend nine months in Australia and three months in India. Staying away from mom, sister, niece and friends for more than a year was not on my mind. But here I am almost a year plus since my last visit to India. I miss them a lot and can’t wait till I get to see them again.

I did not imagine I would stop thinking about not travelling, but the more I stay here, the more I feel like continuing to stay here. What held me back before was having to apply for visas to get to the country I wanted to visit, but now with an Australian passport and the freedom to visit hundred plus countries, I have actively not made plans to travel. Has got me thinking a whole lot about how plans and life change.

Thank you Australia and everyone I have met here in the last five years. Here’s to the next five.


navigating tech choices

I was recently asked to build a new web application. After having worked in the tech industry and constantly learning new tools and languages, being handed an empty canvas to work with is not as much fun as I thought it would be.

React + Node.js backend? Go all in on Ruby on Rails? Serverless with Svelte frontend? You see where I am going with this. There were many options to choose from and a few days to make the decision.

I had to make the decision considering that this project would not need a lot of updates and I wanted to build this as soon as possible. My final choice to build the app? CodeIgniter with Alpine.js

Alpine.js is much fun to work with. A breath of fresh air after having worked with complex javascript frameworks for the last five years.


three eight

Finally thirty-eight. I felt thirty-eight when I was a year younger, so it feels good to be the age I have been feeling all year.

I am happy to be thirty-eight—another year on this beautiful planet surrounded by great friends and family. I feel great about this year—a year to be laser-focused towards my goals and start travelling again. Now that I don’t have to worry about visas anymore, Aussie Aussie Aussie.

As I sit down to write this, I feel happy and blessed. I got a few text messages last week from new and old friends who asked me what I would be doing on my birthday day and asked me to spend the evening with them.

My post last year started by thanking Manly, the suburb I moved to in Nov 2021. I need to continue the tradition. Moving to this suburb has been so good for me. I have never been this fit in my life, and I have never been this happy about where I have lived. As much as I miss my family and friends back home, this feels like home now. I wish family and friends could move here or spend time with me through the year.

A few friends did visit and stayed with me this year, which was the highlight of my time in this place—having people live with me or close by was great. Having good friends to spend time with after work or do other activities with, activities which you did alone, brought me so much joy.

The year that was

In January this year, I told myself that I should be chasing my dreams. It was high time. Each year, I would say “the next year,” and somehow 2023 felt like the best time to get started. Instead of working on multiple projects, I would work on the one project I was passionate about. I could not shake this thought for the entire month of Feb. I handed in my notice in mid-February. I told everyone I met about my plans and prepared to spend the rest of the year focusing on building my dream project.

March, April, and May were some of the best months of my life in Australia and Manly. I met so many people, ate so much good food, learned more about 2D programming and how to build games and did some of my best work on projects I worked on. BEST TIME EVER!!!

I wish I planned my finances better around working on my dream project. What I planned, as it turns out, was only 30%. I quickly realised I needed much more money to survive in this suburb. After having a positive bank balance for my adult life, being in -$50000 made me question continuing to work on my project. I was more stressed than enjoying my time building my project.

Something had to change. I paused my work on the project and applied for a few contract roles in Sydney, and I found myself a great project and team to work with. Finances are now back in order, and I am no longer stressed.

I hope to get back to working on my dream project soon. As of now, though, I am in a perfect place with work, social life and fitness. I don’t want to disturb this.

Here are a few personal highlights of last year:

  • Exercised twice a day. At BFT with 5:15 Crew(now family) and myself at the local gym.
  • Started group fitness 🥊. I never thought I would get into HIIT based training routine.
  • More than 200 swims in the ocean.
  • Almost died when attempting to swim from Manly to Shelly Beach and got rescued by lifeguards. I fear the ocean a little less now(more about this in another blog post)
  • More in-depth relationships with new and old friends.
  • Mom moving into the new apartment and telling me about the new birds she now gets to see.
  • Travelling to New Zealand, India, Thailand, and Singapore with friends.
  • Building more apps and writing better code than I did last year. I am much better at building native apps and working with node.js as a language.
  • Friends from India in Australia to visit and stay.
  • Being the best man at my best friend’s wedding.

My themes for last year were

  • Create
  • Dance
  • Travel

I am soooooooo happy that I was able to spend the year focused on these themes. I was part of creating some excellent software, learning hip hop, salsa, and bachata, and I travelled a lot around Australia, New Zealand, India, Thailand, and Singapore.

2024

Themes for 2024:

  • Create
  • Travel
  • Fitness
  • Love

I hope you all have an excellent 2024. 🙌🏻🤗


Aussie, Aussie, Aussie

I remember handing in the permanent residence application for Australia on Feb 14, 2018. I remember telling a friend that day that my love for Australia must be true cause I handed in the application on Valentine’s Day. After waiting for a good ten months and a few back and forth with the application process, on Dec 12th 2018 I received confirmation that my permanent residence application had been approved. I jumped with joy when I read the approval letter.

When you have been working towards something and all the stars align so you can have that thing, you rarely forget these moments.

Two moments I remembered while I sat down after I got the citizenship certificate:

I remember sitting in the Hong Kong airport for my first visit to Australia as a permanent resident. I had a 12-hour wait from when I landed in Hong Kong to when I was to fly out. After few hours of walking around, I checked into a hotel room. Four hours later, I walked around again, ate, and chatted with my good friend Archeet. I remember telling him I was looking for a return ticket to Mumbai from Hong Kong. Sitting in the airport for 8 hours, I started to think about life in India the last ten years. It was nothing but full of joyful moments. My niece was five years old, and being with her over the previous five years was outstanding. I could not think of why I was moving away from her. I remember Archeet messaging me then and telling me that I should go, stay for a few days and see how I feel. I could always return.

The second moment I remember was during Covid. Feb 2020. I had just moved to an apartment in a new suburb. I did not know anyone there, but I loved the suburb. The first month of living there was great. Setting up the new place and walking around to new restaurants and cafes. Covid started, and I was locked in an apartment, not knowing anyone or being able to meet in person with friends and collegues. A month into COVID-19, the isolation began to get to me mentally. I heard stories from friends and family back home about how they were together and having a great time while I was locked up alone in a room. I wanted to be there. Nothing else mattered then. Being a citizen was the last thing on my mind. I did follow the news very closely then. Compared to others, I was in a much better position. My job helped me pay rent and cover my food/living expenses. I decided to toughen up mentally and make adjustments to my living arrangements.

The road to becoming a citizen has had a few bumps. Being away from family and friends has been challenging. I have made some lifelong new friends here and met some great people. People who I would not have met and gotten to interact with had I not made the move. I have travelled to some great places, eaten some delicious food, and learned so much from this place. A place I now call home.

On 11th September 2023, I got my citizenship certificate. I jumped with joy as I got the certificate. The next day, I applied for the passport, and I could not stop smiling when I opened the envelope and held the passport. I cannot wait to start travelling in 2024.

Aussie Aussie Aussie Oi Oi Oi

A good friend in the gym made this card to celebrate being a citizen. ❤️


Embracing Change: Why I Like Slack's New UI

When you don’t pay for the product, you are the product. Being a free user of Slack, I have come to accept random changes Slack makes to its UI. Paid users should get a choice though, about changes to the UI Slack releases. Maybe an opt-out button and being able to choose a version they like.

I woke up this morning to a new UI for Slack. My initial reaction was “why”. As I started using it, though, the UI grew on me.

Change can be daunting, especially in the world of technology, where familiarity often feels like a warm embrace. While many of twitter grumble about the departure from the old look, I wholeheartedly embraced this transformation. The new Slack UI feels like fresh air – vibrant, colourful, and spacious.

The infusion of colours and additional space has made my daily interactions on Slack a more delightful experience. In a constantly evolving world, embracing change can open new possibilities. Slack’s new UI reminds us that sometimes stepping out of our comfort zone can lead to a brighter, more colourful perspective on our daily tasks, fostering creativity and efficiency. While some may resist change, I encourage you to explore and appreciate the revamped Slack UI for its fresh perspective to our digital workspace.


not all days are the same

I want to return to this post occasionally, so this post is a self-reminder post.

Not all days are the same.
Some days are good.
Some days could be better.
Some days you meet a lot of people.
Some days, you spend a lot of time just being alone.
Not all days are the same.


You want to travel, meet people, have good food and enjoy that road trip
Today is not that day, neither is that day tomorrow, but someday, the above will come true
Not all days are the same.
Today, you can sit down, plan and dream about your travel adventures,
Tomorrow, all these dreams will come true.
Not all days are the same.

You sit here overthinking things.
It would have helped if you had said yes to that invite to travelling and meeting friends, but you did not.
You should have asked that girl out or told her how you feel about her, but your overthinking brain told you not to
Tomorrow, maybe you will say yes to that invite, to travelling, meeting friends and asking that girl out. Today was not the day; don’t be hard on yourself.
Not all days are the same.

Being alive is a blessing:
walking around, being healthy, being able to sip that good coffee, eating that cake, being able to dance to a tune.
Enjoying these moments is important,
Somedays, all you want to do is be in bed, not do anything; on these days, I hope you read this and remind yourself.
Not all days are the same.


imposter syndrome

It rarely goes away. Even after working in the industry for more than thirteen years, every time you try out something new and stumble, the feeling is back again.

You might have worked on building complex systems, bought in a lot of revenue, worked with a few companies and have proven yourself by learning existing systems and improving them, something new which gets you a bit stuck, you think of yourself as an imposter. Someone who is getting by because you have been lucky and have not been caught as yet.

I had the feeling two weeks ago, even for most of last week. However, getting across the finish line and marking the task as done made me feel good. I no longer thought of myself as an imposter. A considerable weight lifted off my shoulder, the feeling that I belonged and knew what I was doing.

It’s good to recognise these feelings. Make a note of these and know how to recognise them when it does come back again. Cause it will when you try something new in the future.


will miss you my friend

I have had this post in my draft folder for over five months. Each time I started to write this, I would cry and stop. But here it goes. I hope you all have or find a friend like Rajinikanth.

Rajinikanth, a really good friend of mine, passed away in February this year, and I have been thinking about him almost every day for the last few months. I have had so many good memories with him over nine years of knowing him. Before covid, every year for the previous nine years, I, Sneha and Rajini have gone travelling at least once. Planning the trip, enjoying the journey and planning the next trip a few months later. I would look forward to the call every year.

There were so many good memories, but these two conversations that I had with him are something I will remember forever.

We always have an option of not inviting you

I, Sneha and Rajini took the first trip to Bali in 2015. Other than the airline losing my bag, we had a really good time on a short three-day trip. Once back from the trip, I am not sure who put the thought in my head, but when planning the next trip and when on the call with Rajini, I asked him if he was sure about me joining him and Sneha. “we always have an option of not inviting you” he said. He said I should accept the offer when people ask instead of questioning it. A lesson I will remember forever. Rajini made me feel welcome.

I want to spend as much time with friends and family

I remember this day like it was yesterday. On the way back from Raglan to Auckland in New Zealand, I, Sneha and Rajini were in the same car. Rajini asked me what plans I had for the rest of the year/life, and I mentioned how I wanted to start a business, build excellent software and travel more with friends and family. I asked him what his plans were, and he said, “i just want to spend as much time with friends and family”. After returning from that trip, those words became part of my yearly goals—less time on the computer and more time with friends and family. Every year has been better thanks to that advice.

I will miss Rajini very dearly. I will miss getting that phone call from him every year, meeting him, drinking with him and sharing the stake. I hope you are having a great time up there, my friend. My world will not be the same without you.


writing documentation

Unless you are starting a personal project, the first thing you should be doing is writing a document with your thoughts about the project.

The more I work with different systems and businesses, the more I see that documentation around the project is always missing. I know it can be a daunting process to write all thoughts and strategies, but maybe we can start focusing on these two things:

  • The system’s overall goal and why we are building what we are building.
  • Why did we add X feature to the project, and when was it added?

When onboarding someone new or handing over the project to someone else, this could be a good base to help them understand your business/project—a good starting point for them to ask questions.


when things don’t work

Being part of the software industry for over fifteen years now, I understand that expecting your favourite software/hardware to be available 100% of the time is nothing short of wanting to win the jackpot each time you buy a lottery ticket.

Software or hardware is bound to fail; when it does, people/companies responsible for maintaining the software/hardware fix it as soon as possible. Some do it faster than others, but very few write a postmortem report. I wish more companies wrote postmortem reports.

I love reading postmortem reports of software that I use frequently. Knowing what went wrong when you were expecting things to work gives your users an insight into why the software/hardware failed. Companies often depend on external services; sometimes, bugs are outside the company’s control.

Writing postmortem reports is also a practice I want to promote with teams/companies I work with. Most bug reports from internal users get an “it’s fixed, please try now” reply. For the internal user, this is often enough. Still, for the internal IT team, it is good to write a detailed postmortem report so that everyone learns about what went wrong and what needs to be considered as they continue to build and maintain the software.

Deno Deploy Postmortem


thank you internet

I should make this a regular post on my blog where I thank the internet and everyone who contributes to keeping things runnings.

Thank you to everyone working in the javascript space to continue building new JS frameworks and improving JS frameworks.

Thank you to everyone who is working on building and improving browsers.

Thank you to everyone who is working on building and maintaining servers and other parts of the infrastructure.

Thank you to everyone working on building and maintaining backend programming languages. PHP, Go, Rust, Java, Python, C, Dart.. and many more.

Thank you to everyone for building so many incredible things and constantly innovating.

Thank you for keeping things interesting for people like me and so many more.

All this and more is why I am overly excited every day.


What an interesting moment.

We’re staring at two distinctly different visions of the future. They may co-exist, but they are radically different takes on what’s modern, what’s current, and where things are headed.

Two visions of the future


wwdc

Watching WWDC with a few friends is a yearly tradition. From watching it in person in Mumbai to now having conversations on iMessage about the latest updates to Apple’s ecosystem. I look forward to this day.

iOS, macOS, iPadOS, watchOS, tvOS, it is always good to see Apple continue to invest in the software ecosystem. Each year, after the announcement, developers use these new APIs to build new features and some even new products. I have always looked at the ecosystem from the sideline. This year that changes. I am going to actively participate and build/launch a product—something for iOS and iPadOS.

Vision Pro looks like a great product. The pricing seems expensive, but the whole VR experience looks impressive. I would love to try it before I have more opinions about the product. From next year, I look forward to learning about visionOS and building a visionOS app.

Exciting times.


software bug that made me cry

Over the last 10-plus years, I have been responsible for and fixed many bugs in the software I have helped build. Bugs are never intentional. They are a by-product of an edge case you did not consider the user would do or an input parameter you did not think of but was passed as an input. Bugs take away from a good user experience, and I do my best to ship software with fewer bugs.

I don’t remember a lot of bugs I have fixed, but out of the many that I have fixed, one I remember recently is the one that made me cry.

We had a “Time” feature that helped employees record time for their assigned tasks. Freelancers working for the company would get paid based on the time recorded. Someone from the company’s accounting department sent us an angry email. Many people were underpaid the last two months due to an error in the software they told us. They were angry, and I had tears while I read that email. People have plans with money. Getting a few hundred dollars less and being in the position of that accountant to explain why, due to an external software mistake, a software I had helped build made me sad.

Going through the code, I saw the mistake. Rounding off error. I shipped the fix so that, in the future, time was recorded/reported correctly. I also went through logs, found the time entries for that client’s last two months, and sent them the details. Writing that email was difficult, and the reply also had me in tears. They appreciated the extra effort to help them and are still a paying client.


Social Interactions and Bias

After a fascinating meeting this morning, I could not help but think about different tones/ways of interacting with people most of us have. For example, when speaking with friends, you behave and talk a certain way, but you act and talk differently when around work friends.

If your work friends were to meet your school friends, would they notice the difference in how you interact? Would they have a different opinion of you then?

It is sometimes challenging to read/understand people, from what you hear about them to how they behave when interacting with you. It is difficult to ignore what you hear about them to form a bias towards future interactions with the person.