sleep

I remember Jason Fried from Basecamp writing and tweeting a whole lot about the importance of sleep. It was the opposite advice to what everyone else as talking about at that time. “You can always sleep later”. “If you are not burning the midnight oil, you are not working hard enough”. There were so many such pieces of advice I would come across when trying to read about startup land.

I love my sleep time and afternoon naps. But the advice on offer said that burning the midnight oil was the way to go if you are working on a startup. That feature needed to be deployed yesterday.

Jason’s words and articles he would link to did strike a chord with me. I kept reading more about how important sleep is and the side effects of not sleeping enough. I did not feel good the next day, after having burnt the midnight oil a few nights in a week. I would be exhausted on the weekends.

I started sleeping more hours and started tracking my sleep hours. Sleeping seven-plus hours indeed made me feel better and made me productive. I was not thinking about the nap as soon as I woke up. I vouched never to go back to burning the midnight oil.

That was four years ago. A lot has changed since then, and here I am today, reminding myself of the importance of sleep. I have not slept six plus hours for a few months now. Apple Watch tells me it’s between 5 and 5:30 hours. Something needs to change. A few things need to change. I will be tweaking my schedule to get at least seven plus hours of sleep from today.


Why You Shouldn't Build a Mobile App

Whenever I have to come up with an example of a cheap app that performs poorly, feels clunky, and frustrates the user every time they use it, one particular app comes to mind. I won’t name the company, but I think it’s important to note that they’re not just in the Fortune 500, but in the top 50. So it’s not like they didn’t have the money to do it right. But for whatever reason, they did not do it right. They did it horribly. And using their app is awful.

I have had similar experience with apps built by some of the widely popular companies. They did not do it right. I wish they would have considered investing in a response web app instead.

Why You Shouldn’t Build a Mobile App


If you build backend programmer and I can get you to read one article today, let it be this one:

Reasons why SELECT * is bad for SQL performance


terraform

I spent all of yesterday learning terraform. As much as I like PaaS products, all of them have that one missing feature which takes them out of the race of being my preferred choice of hosting.

I have set up more than a hundred servers to date. All of them involved package installation’s, users to be added, server configuration, APM configuration, etc. There was a pattern, and I had my list of bookmarked websites to help with the process. I kept doing the same things over and over again. Something needed to change.

I have been reading up on terraform the last few months, and it felt like the best choice to automate the manual steps I would keep performing repeatedly. So far, it has been a joy to use. The configuration schema is easy to understand, and AWS credits from attending the conference have helped deploy and destroy servers.


intel evo

It’s been a long time since I read about Intel processors. I remember being obsessed with Intel and always being up to date with the progress they were making. After switching to Macs though, I almost stopped keeping myself up to date.

I read about intel evo yesterday, and it felt good to see Intel step up and improve their processor line. I am on the sideline rooting for them to succeed.

I am often asked which windows laptop would I recommend, and I have always recommended Microsoft Surface or Dell XPS.


good apps developed in India

Had a great conversation with a few friends today about how the Indian government was pushing for “Make in India” to have Indians use more of apps developed in the country. The government wants an Indian version of WhatsApp and an Indian version of zoom. And a few more categories I would assume. The question here is why? Why do we need an Indian version of “x”?

I have my theories around why the government encourages people/companies to build apps created/hosted in the country, but I will cover that sometime in the future. The conversation got me thinking of some good apps developed in India. I don’t know if they are hosted in India too.

On top of my mind, I could think of these B2C apps:

All these apps cater to a particular segment relevant to the Indian market. All these apps are fun to use and have a good user experience. Do we have a Whatsapp competitor? A competitor for Twitter? A competitor for Facebook? Do we need these competitors? And if yes, should we be only looking for apps Made in India?


cryptocurrency

Money market investment has never been an area of interest to me. I understood the stock market well. I wanted to invest in companies and the people behind the company and the problem they were trying to solve.

There is a lot of advice online on finding the best deals for stocks to invest it. There are WhatsApp groups you can join, and there are newsletters you can subscribe to which will advise you on investment strategies. I have somehow always gone with investing in companies that I used a product of and if that product was well thought. Not the smartest way of investing, but I was not investing a lot of money, to begin with.

There has been a lot of chatter online about cryptocurrency in the last few years: Bitcoin, Litecoin, ethereum, and so many other variations of digital currency. I spent a lot of time reading about a cryptocurrency and even signed up to a few websites that promised a 0.000002 Bitcoin value if you signed up with the service. I have not traded cash for a bitcoin till now. Why not? I still don’t understand it completely. I even don’t see its usage anywhere except for currency being traded against a local dollar value in the exchange.

What could change my mind? I read today that Tesla was planning on accepting cryptocurrency as payment. I wish more companies follow through. That would make it attractive for me to consider investing in the digital currency market. Would it be too late and would the prices be too high by then? That’s a downside I am ok with.


teeth care

I sent this message to a few close friends two days ago.

I was today years old when I tried flossing for the first time.

My first visit to the dental clinic in Australia last weekend, my dentist recommended that I include flossing in my daily routine. Everyone in the office I spoke to about this was surprised that flossing was not part of my routine. Just not a popular topic of discussion back home or something a dentist has told me about before.

This is your today’s reminder to floss and take care of your teeth.


planning well before starting

I remember having this discussion when initially building the last software project. We would start thinking about tasks to make the project and add them to the board. The list kept growing, and everyone in the team looked at the tasks as things which had to be done.

I wish we had taken a step back though or added a step after coming up with the list of tasks. A planning stage, where we looked at the project from 10000 foot view and spent more time thinking about different modules which needed to be part of the project. Tasks which needed to get done would then be part of these modules.

Abstraction, not just a programming concept is quite helpful when thinking about project management. A few days spent thinking of the different abstraction layers is all time well spent.


hard to ignore

You were once popular and had a lot of people wanting to keep up. Every new version you released, every blog post about the improvements you made to the framework were well received by hundreds of people worldwide. There was no stopping, from the next milestone being as well received and if not better than the previous one.

When someone else joined the community of frameworks, slowly and steadily, the attention started to shift. Week after week, people gradually stopped paying attention to what you had to offer and moved to check the new framework. They were making progress faster, adoption never way of language and package internals better than you did and the community started to notice. More people began to adopt the new framework as the default choice for their next project.

It’s hard to ignore when the competition gets all the attention which you once had. Its tough to stay motivated and continue making progress when making progress involves many changes to how you built what you built. But making progress for the few that stuck with you, is what you need to focus on—gradual improvements. A few people have left suggestions on how to make small strides forward. A few that kept coming back to check on your progress.

this above is my version of comparing codeigniter vs laravel. I am so happy to see CodeIgniter make progress with version 4. Can’t wait to try it out for my next project.


something better

You have been thinking about it in the back of your mind. the current thing you are working on, doing, trying out is just not bringing as much joy as before.

There was a reason you got started with your current routine. There was a plan. Plan to get started. How long you wanted to do it for and an agenda for what comes next after the current agreed period between you and your brain was over.

Things don’t always go as per plan, though, and adjustments had to be made. Something else came in between the things you had planned. That’s life. Change is the only constant. But now it feels like you are stuck. You are stuck in this routine of doing the same things over and over again. There are small deviations but not the big ones you had planned.

I hope you don’t stop looking. Looking forward to the next significant change. After all, change is the only constant. Something better is just around the corner.


deep work

I remember reading parts of this book a few years back. My takeaway from the book was to have dedicated time allocated to get a demanding task done or make good progress. I remember being very excited to try out this way of working, and I did manage to spend the next few weeks having dedicated chunks of time to make progress on the tasks in my list.

A few weeks later, though, I was back to my old habits. This email just got in, let me quickly reply and jump back to my task: a new slack message, a new WhatsApp message. Deep work took a backseat, and I did not think much about it until today.

A colleague at work spoke about the importance of deep work and with a few examples demonstrated how tasks take twice or three times as much to complete if you keep context switching. He spoke about this in terms of developers assigned tasks, but the same could hold for anyone trying to do any job. Context switching is not good. I am going to try deep work for the next month or two and report back.


clubhouse

I have been hearing about clubhouse since a month now. Not having an invite meant that I could install the app but could do nothing else. I am not sure how Apple was ok with this.

I finally got the invite two weeks ago(Thanks Sanat 🙌🏻) and was eager to see what the buzz around the app was all about.

An audio app with topics based rooms where a few people are having conversations and others get to listen in and participate from time to time. My first reaction was “that’s interesting”. Suggestions around which room to join based on people I follow on Twitter was a nice touch.

I have not been much into listening to podcasts for over two months now. Listening to people discuss specific topics live has been good though. Thanks, clubhouse for getting me back into audio chats.


missing home

It is sometimes the smallest of things. Seeing my niece dance on WhatsApp while we have our weekly catchup calls and sometimes a casual conversation with a friend or family back home.

A conversation with a really good friend (Happy Birthday Nikki 🎉❤️🥳) reminded me of one of my favourite restaurants to eat at in Bombay.

Hi, Australia 👋 When does international travel start again?


there is always competition

A new cafe opened its door where I currently live. There are already three cafes in the same street, and with the fourth cafe joining the list, people in the neighbourhood now have a lot of choices. Every new cafe gets attention the first few weeks after the opening day. Everyone is eager to try a new place.

The other cafes in the street though, feel the pinch during this time. How do I know this? Cause I asked them and they all tell me that the customers walking in have reduced by half, they notice a queue of people waiting to get a table at the new place.

What do you do as a cafe owner to get people coming back to your place? Do you think of this as quite time and come to terms that people are curious to try out a new experience and some of those people will eventually return to get coffee or food from your place. Or do you take this quiet time to analyse what’s working well for the new business? What unique food/experience do they have to offer that you can incorporate into your place?

A mix of both would be my choice. There is always competition. It would be best to focus on improving and providing the best service.


make the first experience memorable

I enjoy trying out new apps on the web and the iPhone. As a developer, I am quite eager to see new apps, their design, user experience, and features the app has to offer. I know what is involved in shipping a 1.0 and the joy of having your app being used by someone other than people in your team.

I installed a gym training this week, thanks to browsing the web looking for a gym training planner. This app spoke about how they use AI to help you work out smarter.

Step 1. Install app.

As soon as I launched the app for the first time, I was asked to choose a yearly or monthly subscription. I tried to look for a close button to hide the subscription modal. I wanted to see what the app had to offer before I decided to go with a subscription, but there was no option to close. I ended up uninstalling the app without clicking any of the buttons.

I understand that subscriptions are essential to help pay for the app and its development. As an end-user, though, giving the end-user a few days to try the app is almost equally crucial if you choose to go with a subscription model.

As an app developer and someone who has spent a lot of time marketing the app, I cannot stress hard enough how important it is to give the users a good experience in the first few days/weeks of them trying out your app.


no one got fired for choosing react

I Almost Got Fired for Choosing React in Our Enterprise App

I just realized that React is not Java or .NET developer-friendly. Angular would have been a better choice in this case because of similar design patterns.

So we spend another three weeks making those decisions. I can feel you screaming at me, “Come on, man! There is no way it takes three weeks to pick those libraries!” Well… welcome to enterprise projects.

After nine months, we have more than 50 pages created. The developers notice that function components are as good as class components and start using them.

The post above and it’s reddit thread makes for an interesting post to read.


learning something new

I have been smiling ear to ear since yesterday evening. The reason? I can finally swim on my back. 🎉

I never took swimming lessons till two weeks ago. I have been swimming for as long as I can remember. From swimming for fun at the beach to swimming in the pool, until I can hold my breath, making sure that I am never in the deep end of the pool. Had to be in a place where I could stand in the pool. 🙈

I would watch videos on Youtube for hours on how to swim well. I would learn breathing techniques and go back to the pool to practise the next day. I slowly started to improve. A few weeks later I could be in the deep end of the pool and not worry as much.

My swimming technique was never as good, though. I would watch other people swim, and as I went from one end to the other, I would notice how I would struggle. Improving my swimming technique was on my list of things to do. This year I decided it was time.

The last two weeks, I have learnt so much. My swimming technique I have been told is improving, and I can finally swim on my back 🎉


Feels great to recieve a post card in todays day and age.

Thanks Mayur.


avoid SQL joins

I was a regular user of JOINs in SQL until I heard a podcast where the podcast people were discussing why SQL JOINs were not a good idea. I had never thought about this before. JOINs felt like the best way to combine data from multiple tables and get the result set desired.

JOINs is one of the foundations of RDBMS. If you use an RDBMS solution, you must be using JOINs. You store data using foreign keys in multiple tables and use JOINs to combine them to get the result desired.

Why were a lot of people writing about avoiding JOINS? I kept asking myself this question the first few weeks after I heard the suggestion.

After a year of launching the product, I realised why SQL joins should be avoided. Digging through the APM stats, almost all slow queries used had JOINs across two or more tables. Using JOINs over a large dataset turns out is expensive. Unless you are ready to throw a lot of hardware at the server hosting the database. As an upcoming startup, this was not an option.

I slowly started removing all JOINs from all the slow queries reported and porting them over to scripting solution used and used caching solutions to speed up transactions. Customers were happy, and so were the APM stats.

SQL joins on small datasets are great. One query to get data across multiple tables 👍️ . Just avoid using them over large datasets.