episode 2

Sanat and I clicked the “Record” button and started talking about things we had in mind. “Remuneration” is what we had in mind last weekend.

I have been enjoying recording audio again. Even considering applying to be part of a podcast hosted by the company that I work for. I have always done audio, never video. Video will be a welcome change. I am not entirely comfortable with video now, but 2020 and 2021 have made me feel comfortable with change being part of day-to-day life.

This time we tried riverside.fm for recording and descript.com to edit the ums and ahs. I would highly recommend these two tools.


a week at home

I have been busy the last few months. NSW, Australia, the state I live in, has been blessed to have had no community cases the last few months. So being able to move around freely has been great. Between work, meeting friends for lunch or dinner, group fitness classes, gym, it has been great.

Due to the rise in community cases, a few suburbs in Sydney went into lockdown starting last night. Since I work in the city, this means not getting out of home for the next week other than for essential services. Back to working from home and how things were during the lockdown phase. Having lived through a similar experience before, it should be easy to train yourself to go back to not having to get through many things during the day. There is no schedule anymore for the weekend or the following week. Stay at home, read, learn, exercise indoors.

Quite excited about the following week. Build an iOS app being high on my priority list. I have wanted to build an iOS app for a few months now, and this downtime seems like the perfect opportunity to get started and make progress.


gamer gate

A colleague recently spoke about how she enjoys spending hours together playing games. Most of these games are multiplayer and online. Random strangers in one gameplay. She also spoke about choosing a “male” or “neutral” username and tries not to speak when she plays with other people. Growing up, she remembers being selected as a character to be eliminated because of her username and how she has become better over time to deal with online gameplay. She stuck around even after all the harassment. I am sure a lot of people have quit.

I remember reading about Gamergate controversy and was shocked to learn about this side of the internet. Likewise, I remember reading about online harassment and was also surprised when I learned about this side of the internet.

We should do better. We can do better. Internet, for me, has always been a place where you get to interact with people from around the world. Most of them are a few messages away. I have always used it for good. It has given me my bread and my butter. It has helped me connect with friends, learn new things and learn about different aspects of life.

I want more people to join, more people to feel welcome. Maybe it’s a game, a new social media app. I want everyone to experience the good internet has to offer. Building better tools to tackle online harassment, tools that detect bullying, hate speech. As a software developer, I pledge to do better and look at how I can help.


integration test email #1

HBO Max yesterday got a lot of attention on social media yesterday after they sent out an email to a lot of their customers.

Internet was quick to react, and most of the tweets were so so supportive. We have all been there. Wanting to test something and you accidentally run the command on a production system.

Running any command on production scares me. One missed logic, and there are a lot of things that could go wrong. Even with backup, the process of restoring to the previous state is not an experience I would want anyone to have.

I don’t have a “integration test email” story, but two production incidents I do remember are:

apt-get upgrade

I was responsible for ensuring that production systems are well patched with the latest package update. On a Friday evening, I ran ‘sudo apt-get upgrade‘. A few minutes later, the system is updated, and server monitoring tells me the system is down—the days of having just one web servers and no-load balancers in place.

Thanks to the server image created two days ago, I made a new server in no time and deployed the latest code there.

UPDATE gone wrong

As part of the new feature we introduced, we allowed users to attach files from box.net. We had tested the integration, and it worked well. Code review was approved. In production, someone managed to use the integration, which called an “UPDATE” query without a “WHERE” condition. 🤦‍♂️

It took me five hours to restore the database to the previous state and ensure that data was synced to as recent of a snapshot.

Production incidents are always brutal. Always be learning and ensure that processes and tests are updated to avoid as many incidents as you can.


podcasting

I have been wanting to get back at recording the podcast I started last year during the lockdown. After the first four episodes, I lost motivation to record again. Not many things made sense. Being at home all the time, I did not have the energy needed to record / edit/edit again / record again.

Things have gotten a lot better since then. Being able to move around, being able to get back to meeting people, being able to experience new things. I also got told by my cousin that I should start recording again last month. I remember getting the mic out from the storeroom and hooking it up to the mac after I got that message.

Last month, Sanat and I spoke about recording a podcast together. We did not know what it was going to be about. Sanat mentioned that he had heard this podcast where two friends randomly catch up and discuss whatever they had in mind at the time of recording. “We should do that”. And we did. We recorded the first episode last week using Zencastr

The second part involves having to merge the files, edit the silences out, and choose a place to host. That’s a work in progress. We did not know how difficult it would be to merge two mp3 files. Maybe we should have tried Zoom or Skype and recorded audio there. I know how to edit a single audio file, but having to merge two tracks, layer it, and edit it has been difficult. I have been told that Logic Pro is the software to be used. I will be spending some time this weekend learning Logic Pro.

Back at Podcasting. I did not know how much I enjoyed it until I pressed the Record button. Thanks, Sanat.


hidden features

If you use software long enough, you will see it evolve. There are changes made to the design, performance and features the software has to offer. Very rarely does the end-user get the choice if they wanted these updates.

If the software you use is desktop software, you get to decide if you upgrade to the next version of the software. If it’s web software, though, the upgrade is dependent on the company and their upgrade schedule based on a cohort of users who are writing to them with suggestions for design and feature improvements.

But what if you are happy with the features and design that the software currently offers? With Craft, a desktop app that I use now, it has all the features I need. I hope that they continue to improve on the features and keep it up to date with macOS improvements and API’s the OS has to offer, but when it comes to design and software based features. I am all good.

I wish software offered a way to opt into new features when they release it. A toggle for the user to decide if I want the new feature to be part of the UI that I currently use. A toggle which hides away all associated elements of the new feature and continues to present the features that I am so familiar with and have come to love about. When I am ready, I could decide to peak in, switch the toggle on and try the new feature.


not good enough

I woke up with this thought yesterday morning. I have been doing a good enough job in one of my roles at work. I have been trying to do my best, but I often feel that someone else would have done a better job at the role than I would.

Part of the role involves running sessions and recording notes of the sessions, and tracking metrics. These parts I enjoy, and I often feel that I do justice to, but there could be more that I could do—following up on tasks, following up on dates and coordinating between the team much better. Follow-ups often would affect how much we can deliver as a team. Getting better at follow-ups is what I should be getting better at. Getting better at follows up is something I need to observe and re-learn.

It’s not a great feeling to wake up with the feeling that you are not good enough. Then, with your brain playing back words in the background of people, you overhear telling others you are not doing all that you could do. Writing down this post, though, has given me time to think and reflect. Take a step back and re-learn.


broke the streak

I wanted to keep my writing streak going and not have a break this year. Get up early on Saturday and Sunday, get my coffee and write the post. I had planned the weekend morning, and I was enjoying the routine. I would look forward to the practice. I remember mentioning this to a few colleagues at work that I look forward to writing on the weekend.

The last week though, I missed the writing streak. I missed getting up early in the morning and writing. I missed my early morning coffee and opening Craft to write the blog post. I missed thinking about how my week has been and picking up a thought, an observation, the thing I had learned, and reading and penning my thoughts down about it.

I did not account for how I would continue my routine when travelling. Last weekend, I was in Auckland, New Zealand, with my team visiting Hobbiton, and the weekend had a few things planned, and time on the laptop was not part of it.

It was a good break. I love that I can travel again. I am grateful to be in a country that allows me to travel and visit another country. I love that I can revisit New Zealand, a country that holds a special place in my heart.

As much I wanted not to break the writing steak, it was a good break. I am happy to return to my weekend schedule, back to getting coffee early in the morning and writing.


cryptocurrency

If you have been on Twitter a whole lot or have been following the news, you must have heard of cryptocurrency the last few weeks. Elon Musk and Tesla have been words also being spoken quite a lot around the term cryptocurrency.

I read a tweet last week which said that Elon holds too much power in the cryptocurrency world. One tweet and he can add or remove millions of dollars from the cryptocurrency world—too much power in the hands-on one man. The same could be said about many people who hold a lot of stocks of a company in the equity market.

I remember first hearing about bitcoin at least five years ago. Sanat and I had been looking into it, and Sanat went ahead and bought 1 Bitcoin at that time through an Indian cryptocurrency exchange network. If memory serves me right, it cost about Rs. 32000. Around 600 dollars at that time. A considerable amount to invest and only rumours to go by that said Bitcoin would reach $1000. Never had we imagined that it would be worth more than $70000.

I had stayed away from investing in cryptocurrency all these years. I never understood the market or the world surrounding it. I had read a lot about it and understood the concept but was unsure how it actually functioned. From my years of experience, I have learnt that the best way to learn is by doing and putting your money into the things you want to know. I took the plunge yesterday and got myself an account with Binance(referral link).

I have not invested a lot as of now, a few hundred dollars to get my feet wet and understand how trading works. I will be updating here once I learn more.


not complicated. simple

web development, from what I read online, has become incredibly complicated. We have more compiler tools, more javascript frameworks, more build tools, and an even more complex way of deploying software to servers.

A few years ago, this was not the case. There was no docker, no build tools required and no complications around deploying software to the servers. SFTP to copy files over and single or a few compiled javascript files did the trick with HTML / CSS.

As I wrote the above two paragraphs, I realised I sound like a grumpy person.

Famous internet startups, though, made many people believe that the way they were building software was the way to build software. You needed all these extra tools. They needed all these additional tools to scale up, but most companies started adopting these tools from ground zero, adding a few weeks/months to the development process.

Maybe we should get back to starting small. No build process, single or multiple JS files, simple deployment process and look at adding this to the stack as we face challenges scaling up. Get back to enjoying building software rather than spending time debugging a tool that you could do without at the early stages of development.

There is no great art without passion.


new beginnings

Two of my friends are getting married today to each other.

A company that I love and closely work with launched their new fund yesterday. If you live in India and are looking to invest in mutual funds, check them out.

I have been sleeping for eight-plus hours the whole week and have been feeling great the entire week.

I decided to get back to iOS programming and have started brushing up on my skills.

New beginnings are exciting. New beginnings give you something to look forward to. New beginning make you want to get up early each day and get started.

Maybe we should look at introducing something new into our schedule every few months. A change in routine, a new book, a new tv show, a new way of cooking, a new route to work, a new podcast on the way to work, oat milk instead of full cream milk with your coffee, checking up on a friend each month and having hour-long conversations.


fun. not all the time.

If you have been around me and I am comfortable being around you, at some point or the other, I must have made fun of the situation around and had to have dragged you into the situation I had imagined.

Often, I don’t think about my words hurting someone, but if I feel that my words did end up hurting the other person, I have been quick to apologise and have made a mental note, not to involve the person to keep the conversation upbeat. I had read about standup comedians often trying out their routines with a smaller audience to gauge how the joke fit in before delivering it to the broader audience.

The workplace can be similar. what you think is funny might end up hurting a colleague. You did not mean for your words / actions to be hurting them. You thought the words/actions you did were funny; a few others thought it was funny too, but not the person/people who took offence to your words/actions. When that happens, it is essential to acknowledge that and apologies. Everyone has varied thoughts/feelings about things based on their life experience. I hope that people are forgiving, and if someone did something that offended them, they forgive for the first time. Having said that, not all actions are to be forgiven, though.

Recent changes at Basecamp had me thinking about the above. DHH also wrote about it here. Let it all out. Not everyone at your company will agree with how things were done before. It’s important to acknowledge when this happens. Correct course and move on. I don’t know the whole story of what happened which caused this change at Basecamp. We know the gist of things, as mentioned in the blog post. Not the whole story. As an effect, though, it looks like a lot of people are quitting Basecamp.

I still have conflicting thoughts about what unfolded this week at Basecamp, but I wish everyone the best, including Jason and DHH.


create an imperfect world and then improve it


rigid

“would things be different when you meet your friends and family after a long gap?” I had thought about this question as we got out from lockdown last year. There was no way of knowing until you met someone you had not met in person for a long time.

It had to be different. I was prepared. Everyone had to change their habits last year. Adapt to the new way of living. Some people had to create a shell around how they dealt with being alone. From looking forward to hanging out with others to now being ok with being alone. Would most people go back to their old way of life before lockdown, or would they become this new person that society had forced onto them? I had read in a book that it takes 21 days to form a habit. We had been in lockdown for more than 21 days. New habits had to start.

Meeting someone after a year and a half, I was surprised this week with how someone I knew for a long time had changed so much. I was expecting the change. I was just not prepared for it. Maybe it was me. I had to have changed to be deal with the changes around me. Things did not feel the same. Would we be rigid around sticking to the habits that formed the weekly schedule, or would we be open to change when friends and family visit?


what if

A recent tv show on Netflix has me hooked. what/if. It’s not the best show I have watched, but it does make for a good watch. I am still on episode 3 as I write this.

What…if you were paid a lot of money to solve all the problems you were going through in your life? What..If you had to do something to get that money? i.e. you had to keep certain secrets from your friends and family. What… if that thing you had to do did not affect your friends and family as much as you, and it slowly ate you’re away from the inside. After all, you are the one who had to go through things as a consequence of getting that money.

If your country offers lotto, at some point, you have had this discussion with your friends. What…if you won the lotto this week? I know I have asked his question to a few friends and I like listening to the plans they have if money was not a problem. I wish everyone gets access to the money they need to get away from the current work/life pattern and move towards the change.

What…if though the money/change you so desired came with a string attached? Strings that slowly ate away at the simple life you lead now. Would you reconsider?


in the air

I have been thinking about the moment for more than a year now. Being able to travel again internationally and being able to travel without the need of being quarantined. The joy of landing in another country without being subjected to medical testing, where you only had to declare things you had carried in your bag.

When New Zealand announced the bubble a few weeks ago with Australia, I was pretty happy. Pretty happy does not describe the emotion. Overjoyed. That’s the word. I knew I had to make the trip. Before something goes wrong again, it’s an ever-changing situation. We are still in a pandemic. I hope the whole world gets back to normal as soon as possible. I pray.

I checked with the team and my reporting manager. It had been a long time. My usual weekend visits would no longer be enough. It had to be an extended stay. Maybe a week. I was hoping it would be a week. I am thankful that I got permission to work remotely from another country for two weeks: next thing, tickets.

Travel had to be expensive. Airlines have not been operating for more than a year now. They had to make it so that they balance their cost and recover from their losses. I knew it would be this way. I had saved up for this exact reason. The tickets were twice as expensive as my usual trip costs, but that did not stop me from clicking the “submit payment” button. I remember smiling ear to ear as I clicked the button. Giving away so much money did not feel bad. Overjoyed.

I am looking forward to travelling with James and getting to meeting Mayur again. It’s going to be a great trip.


something new

A new language. Spanish or French? A new programming language. Go or Java? A new javascript framework. Ember or Vue? A new cuisine. Japanese or Middle Eastern?

We often stick to the known. Known is comforting. Known does not take a lot of time. Known often comes with its own set of joys. Known is usually excellent.

Why try something new then, you ask? Cause it’s great to experience new things once in a while. Take it from a guy who loves to experience new things. Sometimes new things lead to a change in how you write code, experience food or just in the road you take to work. You don’t have to stick to the change, but experiencing or learning about new things is an experience we should all go through from time to time.

I say this while I sit down today, trying to get better at PHPUnit. It’s refreshing to get back to a testing framework I have no used in a while. So much has changed, yet so much I learnt a time ago remains the same.


Programming Books

Travelling an hour and a half to reach the nearest computer bookshop is one of my earliest memories of getting started with PHP. After the first visit to the bookshop, I would make it a point to go there every month. Most of the pocket money I would get from my parents and aunt were spent on books and music CDs.

I don’t remember much about the book that got me started with PHP, but I remember it was a book published by Oreilly. Programming PHP and MySQL

Every time I was asked how I learnt PHP, my answer was always to read that book. The joy of going through the book is nothing I have experienced as I try out the digital courses these days. My courses joined vs completed ratio on udemy stands at 14:0.

Other books I remember reading when I got started.

Information Architecture for the World Wide Web: Designing Large-Scale Web Sites

Head First PHP & MySQL

High Performance Web Sites

Head First JavaScript Programming

PHP & MySQL: Novice to Ninja, 6th Edition - Reader


focus zone

I remember trying out driving range at a golf course a few years ago. I remember only that. I don’t know anything else from that experience. I tried the driving range again yesterday, and it was a blast. I wonder why I did not try it sooner. I am trying it again soon.

I remember chatting with a friend about how golf, driving a race car and programming had one thing in common—the focued zone. Once you were on the course, in your car, zoned in on the problem, everything else your brain was thinking about would zone out. All you are thinking of that time is hitting that ball into the hole, the next turn, how to clean up the code or solve the problem in the best possible way. I am sure other professions have the focused zone experience too.

Maybe we should choose more professions and hobbies around things which let us experience the focus zone more often. Not have the brain think about too many things as you work on that one thing.


when things go wrong

I got a message today thanking me for keeping the web servers running well the last few months. Being thanked for keeping the system up and running had never happened before. I have been yelled at, questioned and blamed when servers went down, but never for ensuring that it stayed up for a long time.

We remember and document the moments when things go wrong. If there is downtime, people are blamed, the processes are blamed, and tools are blamed for why the system was not working. Very rarely, though, we look through all the above and thank the previously named when things are working well.

Maybe, we should. Thank people when things have been working well. When they have no reason to call you, yet they do. They have no reason to shout you that breakfast, yet they do. They have no reason to plan a trip with you, yet they do.