I’ve owned the domain MT.CX for 11 years now and as of today, I’m also the proud owner of CX.MT 🎉
I don’t know what I will do with it. In the past, I’ve used MT.CX for my blog, as a url shortener, for hosting random apps I built, etc. I might use the new one for similar purposes or maybe come up with something nice.
Maybe host an app at mt.cx/foo and write about the app at cx.mt/foo. I don’t know. I’ll come up with something. I’m just excited by the fact that I own both the versions of the domain.
As soon as I purchased the domain, I wanted to see how many domains could be reversed this way, the name and the TLDs.
For the uninitiated, TLD is the top level domain. It is typically assigned to a country. But, you can also setup your own gTLDs. Google, Microsoft, Oracle, Mohnish, etc, each have their own.
As of today, the total stands at 1479. Since each TLD would be mapped against the remaining 1478 TLDs, we’d end up generating 2,185,962 such domains. Technically, some of them like blog.google & google.blog, com.microsoft & microsoft.com are already taken – including mt.cx & cx.mt 😁
Maybe I should form a club! 🤔 After all, there’re only about 2 million such combinations. Anyway, before I get carried away by my thoughts, thank you, Malta& Christmas Island for giving me access to this unique club!
I’ve been getting a lot of spam in my Gmail inbox lately. I know for sure that someone reverse engineered Gmail’s spam detection algorithm as I’ve been getting these spam emails consistently since a while now. Not only they managed to beat their spam detection, they’ve even successfully managed to force Gmail to mark the spammy email as Important.
Let me explain. Take for instance, the following email that I received from Destiny Mastercard®
If you’re into tech and pay close attention to this email, there’re at least 42 things that scream out that this is a spam email.
#1: Jim Destiny is waiting…
Sure, Destiny is my stripper name, but, Jim? Nope, not me.
#40: It’s from a bank and it’s unencrypted. This ain’t 2005. Look at the red broken lock icon.
#41: It’s routed through a domain called storycomparison.com. It seems like it has nothing to do with the brand whatsoever. Sure, you can have domain names specifically meant to be used for routing emails, but this just seems highly unrelated.
#42 Last but not the least, check out the bottom part of the email –
Okay, since I just posted the screenshot, you won’t be able to tell, but the part that says “click here to unsubscribe” is actually an image itself. I extracted the original link to the image and it’s stored on S3. I would’ve shared the original link, but I didn’t want my blog to seem/look spammy. So, here’s another screenshot of the image.
Gmail let this spam through to my inbox. This seems like it was sent to a mass mailing list and yet, Gmail missed it. My email was likely included in the BCC. They didn’t include the “unsubscribe” link either. Sure, this was a mass mail and wasn’t technically a marketing email and that’s why Gmail didn’t care. But! It marked it as an important email.
I was having a slow Saturday and the weather has been gloomy. So, naturally, I opened the headers of the email and inspected them along with the source of the email. Of course, the headers all seemed spammy as expected. The email was send out from some random Greece based domain name that wasn’t even real (I ran a WHOIS lookup). But, this was the part that intrigued me from the email source.
IDK why folks who create spam content do this. Is it some sort of a secret signature or are they deliberately trying to be stupid? Now, I’m not saying or suggesting that they should, but what if these idiots used ChatGPT or pretty much any other AI based overlords to generate content that doesn’t look spammy? How would Gmail deal with that? Imagine using AI to beat AI. Hell, if Gmail’s spam detection fails (given that it did for a spammy looking email), would we, average computer geeks, be able to look at an email in the eye and tell that it’s spam? Would you? Could you?! What if they come up with something called SpamGPT™? I’m tellin’ ya, the possibilities are endless.
F’reals though, what is up with these spam emails getting into my inbox. It’s slightly annoying.
Yesterday, I completed my 2nd 5K running race of 2023. It was a road run and it was fun.
Stats from the race yesterday:
Chip time: 41:20 Position: 868 / 1384 Pace: 13:19 / mile Elevation gain: 15 ft Avg Power: 124 W
This was my 2nd race of 2023. I ran my first one in January. It was a trail run and it was tough. I was looking at my watch all the time to see how much farther I had to run. Every breath seemed tougher. That’s what I get for not training.
Stats from the Coyote Hills race in January:
Chip time: 53:13 Position: 220 / 289 Pace: 17:10 / mile Elevation gain: 437 ft Avg Power: 90 W
The Coyote Hills race was technically my 2nd race. I signed up for another race in Oct 2022, but I couldn’t attend it due to ill health.
I want to see how many miles I can cover this year. So far, I haven’t run much. In fact, I haven’t even trained for any of these races. It’s pretty clear that I need to put in more effort.
Using two computers with a single set of computer peripherals
Using a single mouse with two computers
Using a keyboard/video/mouse (KVM) setup with two computers
Logitech MX Master 3S review
TL;DR – I got the Logitech MX Master 3S mouse with multi-device support and use it with the Keychron K3 Pro, which also has multi-device support.
I use two computers at home. My personal MacBook Air M1, and my work MacBook Pro M1. I use the Keychron K3 Pro with two Magic Mice (v2), one for each computer. I have one monitor as my main display.
Every time I switch between my computers to use the main display, I have to do the following:
Unplug the monitor cable from my first computer
Turn off my Magic Mouse1 connected to my first computer
Plug the monitor cable to my second computer
Turn on the Magic Mouse2 connected to my second computer
Use a key combo on my keyboard to switch from first computer to second (my keyboard has multi-device support)
While this process doesn’t seem too bad, it’s still annoying and that’s something I wanted to fix.
Having 2 mice and switching between them whenever I switch computers
Having to plug/unplug my monitor cable to my computers
I love my Magic Mouse 2. I think it’s a fantastic device. Unfortunately, it doesn’t have multi-device support. In order to fix friction point #1, I needed a new mouse. So I first came up with a list of non-negotiable requirements.
My non-negotiable requirements
After googling for a bit, I found the only mouse that checked off all of my requirements. The Logitech MX Master 3S. I went to BestBuy and picked it up.
So far, I like the mouse. I’m not a fan of using custom software to update hardware (mouse, keyboard etc). But for this one, I did install the Logi Options+ software that helps you configure the mouse. I only did it to customize the ridiculous DPI and set it to 1000. It supports up to 8000. For the monitor I use, 1000 is perfect.
How does the mouse fare against my requirements?
Multi-device support: This is nice. It’s seamless and quick. However, the fact that the device switch button is at the bottom is disappointing. I get why they chose to put that button at the bottom. Device switching is usually the least used on a regular basis compared to other buttons on the mouse. The M720 Triathlon has the device switch keys on the side and I like them that way. I wish the next version of the MX Master brings the button(s) to the side
Rechargeable battery: It has it. Also, you can use the mouse while you charge it. The charging port is on the front side of the mouse, which is obviously a good spot to put it. One of the annoyances with the Magic Mouse is that the charging port is at the bottom of the mouse and you obviously can’t use it while it is charging
Wireless: I’ve noticed that my AirPods connectivity has become horseshit ever since I started using the mouse. My hunch is that there’s bluetooth interference between my AirPods and the mouse. I’m not sure about it, but I’ll definitely look into it further
Bonus: The battery percentage is displayed in the bluetooth device panel on the macOS, which is very nice (wish my K3 Pro showed the battery percentage too)
I’ve always used the Magic Mouse and it’s quite low on the surface in terms of the form factor. I’m so used to it that I keep knocking my new mouse off, accidentally, every now and then. I’m sure I’ll get used to it though
The Magic Mouse never jitters. The MX Master 3S does sometimes. I don’t know if it is a janky bluetooth connection or something else, but it’s not a good UX. I’ve never had that issue with the Magic Mouse.
If you have a similar use case as mine, the Logitech MX Master 3S is not a bad mouse to pick. Personally, if Apple introduced a mouse that had multi-device support, I’d ditch this one in a heart-beat. Until then, I guess this is not a bad interim solution.
Next up, I want to fix the issue with switching the monitor and power cables. I don’t want to use the standard KVM (keyboard, video, mouse) setup. It just looks fugly. I want something more sleek and minimal. I will write about it when I figure something out, as a part 2 to this post.
PS: I also plan on writing about my desktop setup sometime later 🙂
Earlier today, I submitted the new rewrite of my Chrome extension, Rearrange Tabs, to the Chrome Web Store. It’s pending review at this point. Personally, I’m very excited about this release. It fixes all the known issues around key combination conflicts and performance.
Originally, I wanted to just upgrade the extension to include the changes around migrating the extension from Manifest v2 to Manifest v3. As I started working on it, I took the opportunity to rewrite the extension and roll it out as 3.0.0. It seemed like a no-brainer.
Why the rewrite?
It’s been a while since I made any changes to the extension. The last time I rolled out an update was on April 26, 2020, v2.1.7. The extension has been stable, albeit with a few performance issues and bugs. So, I wanted to address them all in the same release and just bundled all the fixes in this release.
1. Migration from v2 to v3
Google has been pushing extension developers to upgrade to the latest Manifest v3. Google requires all the Featured extensions on Chrome Web Store to comply with the latest Manifest. The changes were minimal for the extension and the migration guide is very well documented. That helped a lot. Good job, Google!
Over the years, as new features got added, the extension accrued a few performance related issues. I’ve addresses them in this release. I will talk about them in-depth in a separate post. The debugging session was fun 🙂
3. Bug fixes
There were reports of bugs in the extension. I’ve addressed the most annoying and common ones. I hope this makes the users happy and enjoy using the extension. I just hope I didn’t introduce new ones.
4. Deprecating wrap around
The extension supported go around feature since v1. When a user moved a tab to the rightmost or the leftmost position of the browser window, any further movement in that direction would push the tab around to the other side. I’ve deprecated this feature. This seemed nice in the beginning when I introduced this, but I saw myself not really using it. Also, it seemed pointless since you can still use the “Move to front” or “Move to back” functions. The push-around-to-the-other-side just felt unnecessary.
5. New Updated Page
I’ve added a new page that shows up when your extension is upgraded from 2.x.x to 3.0.0 with the necessary info around the changes.
I am planning on redesigning the logo for the extension and come up with a better demo to display on the extension page on the Web Store. The current one looks outdated, which it is. It’s from 2015. It has been the same since I created it. It’s time for an update.
I definitely enjoyed working on this version of the update. Hope you all like the updated version of the extension. If you haven’t tried the extension yet, give it a shot here: Rearrange Tabs 3.0.0
This blog post’s introduction has been one of the toughest ones I had to write. Over the past 7 days, I think I rewrote it at least 20 times to not make it sound very sad. Finally, I chose to go with this one. Simply put, 2022 has been tough, but I think I made it through just fine.
Having witnessed many lows in 2022, I can’t help but wonder how it would’ve been if things were even worse. I am a firm believer in never giving up. I believe things can and will get worse if you give up or blame your fate instead of working on improving things that are in your control.
Nobody wishes for such a year. You make New Year’s resolutions hoping to better yourself or improve something around you or at the very least, to not make your situation worse. I made resolutions that fit one or more of these categories. What I really experienced was something else. I did end up being resilient. I learned a lot and am grateful to all the individuals that have been there for me during my tough times.
Hence, I’m grateful for the year it was.
I don’t have a monthly breakdown of what I did in 2022, like the ones from my previous Happy New Year blog posts, but I have a few stats that I wanted to share on my blog.
I did put on a lot of weight this year and I aim to lose of all of the bulk in a slow, steady, and sustainable way. But, that’s for later. I did try something new this year, Tennis. I enjoy playing tennis.
I did some light traveling this year. In August, I traveled to Seattle, WA and a few places in Montana. I loved Montana. In October, I went leaf peeping in New Hampshire.
I am in the middle of a project at the moment that I’m really excited to share with everyone in Q2 of 2023.
I read a quote a few days ago that stuck in my mind ever since –
People who say it can’t be done should not interrupt those who are doing it
I always want to be the person doing it and this new year, I don’t plan on changing that. Here’s to hope, faith, optimism, and hard work — Cheers! 🍻
Leo Messi is the greatest footballer ever to set foot on earth.
Today has been a very exciting day. I don’t know how the entire day went by. I have been cruising through it and I love it.
Lionel Messi has just sealed his status as the Greatest of All Time. Not that he needed a World Cup to prove it, but it’s more for the rest of the world. The debate just ended this morning. He has had a phenomenal tournament and carried Argentina to victory.
This whole tournament has been fantastic. The upsets, the surprises, the entertainment, the heartbreaks, the thrillers, and the drama – this World Cup had everything. And the finals — *chef’s kiss* — what an entertainer! The perfect result.
I want to write so much about Leo, but that’s for another time. For now…
Edit: I wanted to include the following pic since it’s one of my favorite photos of the Argentina NT celebrating their victory
Looks like WordPress has a new Jetpack Bot that posts updates to Telegram. This is convenient for people who use Telegram and follow my blog. You can now subscribe to the channel here: https://t.me/iam_mt_blog
2021 had a lot of ups and downs for me. The first six months of the year were great. I was killing it in terms of my resolutions and suddenly, everything went south. Everything I started came to a halt. I tried my best again to restart my efforts ever since and so far, it has been okay-ish. I talked briefly about it here. I plan on fixing it. Here’s an overview of my 2021 –
2021 has been a polarizing year in terms of health and fitness for me. I have been the fittest and also had to deal with health issues. In terms of fitness, I set many PRs in 2021.
I was at the peak of fitness before I fell sick and had to slow down and eventually end up stopping. The good thing that came out of it is that I know when I need to slow down and what needs to be improved in my training.
2021 was a bit different for me in terms of side projects. I started a few and barely found time to finish them. I finished some, but most of them haven’t had any code commits in a while. I got busy with office work and so I had to delay working on them. I should manage my time better in 2022 and finish working on these projects. I’m very excited and looking forward to publish them.
I consider myself very lucky to have been able to travel a little in 2021. I traveled to Virginia in July to meet my friends from Master’s. It was a fun trip and was very happy to see my friends. I even got a chance to go on a vacation to Hawaii in December. It was a wonderful experience. I visited the Big Island and stayed at the Waikoloa Village. Learned a lot about Hawaiian culture, history, and how to pronounce the word Ukulele.
In May, for my birthday, my wife and I went on a 14.2 mile hike at the Coastal Trail, Palomarin Beach. It hike was tough but we both enjoyed it. It was beautiful.
For the July 4th long weekend, we drove to Redding to visit Lassen Volcanic National Park. The hike had amazing views.
I ventured into new areas of computer science and it turned out to be very interesting. I’ve read a lot of white papers, which I plan on writing about in the future. I have a few drafts around some of the interesting ones that I’ve read. I am planning on sharing my findings and thoughts around those soon.
I also spent time learning Swift and Swift UI while learning iOS development. The projects I mentioned earlier are written in Swift UI for iOS. One of the biggest advantages of Swift UI is that it removes a lot of the boilerplate code that you typically end up writing for common patterns while building UIs for iOS.
In 2021, I started practicing a few new thing such as mindfulness, daily journaling, etc. These have proved to be very powerful. They’ve had a significant impact on the way I think and behave in general. I feel grateful, thanks to these practices.
I will have a separate post talking about mindfulness and how it has had a positive impact on me.
In 2021, I couldn’t stick with all of my resolutions. I had to abandon a few, but I’m not disappointed by it. I’m happy with the outcome of the effort I put in.
In 2022, I think I might take it easy on my resolutions for a bit. I will wait a little before coming up with new resolutions.
And with that, here’s to a much better year ahead – 2022! Cheers!
I have a habit of documenting ideas, thoughts, learnings, etc. Naturally, I tend to try out a lot of note-taking applications in an effort to find the perfect app. Over the years, I’ve used a lot of note-taking apps. Every single time, I saw myself coming back to the default Notes.app that ships with macOS/iOS. It’s simple and always fit my requirement perfectly well. Most features offered by other apps are just feature bloat that I never used.
As I documented information, I learned that this process had a name, Personal Knowledge Management. Before the pandemic started, around late 2019, I started researching and learning more about Personal Knowledge Management and was quickly sold on the idea as it was more or less similar to what I had been doing.
Personal knowledge management (PKM) is a process of collecting information that a person uses to gather, classify, store, search, retrieve and share knowledge in their daily activities and the way in which these processes support work activities.
Personally, for me, PKM has proved to be helpful in capturing ideas and thoughts, organizing, extracting insights and producing better ideas.
After I started practicing PKM, I realized that using the basic Notes.app wasn’t going to cut it. That’s when I discovered the tools for thought, specifically RoamResearch.
Tools for thought
I use RoamResearch for PKM. Roam describes itself as A note-taking tool for networked thought. I love the tool due to its amazing feature set. I initially tried Roam for a month in early 2020 and it blew my mind. I instantly switched my plan from a monthly plan to Believer plan (their version of a long term subscription – 5 years) since I knew I was going to use it on a daily basis. Roam has a feature called “backlinks” and it is an absolute game changer. You can link different pages by using square braces like so [[example]]. Roam also allows you to backlink blocks. You can think of it as a way of linking different bullet points in various sections of the text like so ((example)). Seeing Roam’s success, a lot of other apps copied this functionality and you can now implement your own PKM in one of these alternatives available in the market. There are a few free open source alternatives (clones literally) such as AthensResearch, Logseq, Foam, Obsidian etc.
There’s an amazing PKM technique called Zettelkasten. It’s a way of managing your thoughts and ideas. I could never completely implement it in the original way, but I do have my own way of doing it. It’s slightly different, yet it yields good results. At a very high level, the idea behind Zettelkasten is that you document your understanding of a concept or a thought and try to create a repository of linked information. Linking these bits of information is the key here. Any new finding or information going into this repository will have to have at least one link with the existing information in some way. More the links, the easier it is to cultivate a brand new idea or thought. If there’s no link, it doesn’t go in. Over time, you’ll see new ideas pop up due to this technique as you discover different pieces of information in your repository linking with other ideas in your repository that you initially didn’t intend to link with. Finding such pattern feels magical. I’ve experienced that a few times and it is mind blowing.
After a while, you’ll see that what you’ve been doing is basically cultivating ideas by gathering information and linking them together.
I’m fascinated by how our brains work and how the tools we use work. It almost seems like humans are prone to building tools that don’t necessarily align with the way our brains work. UX designers have been battling with creating interfaces that make it intuitive to work with. We’ve only been iterating on the existing interfaces.
Typically, human brains take a top-down, depth-first approach to learning. It’s only natural to start thinking about something and when something else related to it pops up, we starting digging into it and the process goes on. In order to really understand a concept, you need to understand the basic concepts that contribute to the parent concept. Learning any related concepts is a bonus. Wikipedia is built on this idea.
When it comes to coming up with ideas, naturally, we take a bottom-up approach. We first come up with individual thoughts and then later link them together to build a cohesive and coherent idea. The tools for thought that I mentioned above facilitate with this sort of thinking by using the backlinks feature. These tools can be used to implement a system to learn, which aligns with the way our brains naturally think.
Let me know if you find any of these tools useful or if you know of any other interesting techniques to document information.
If you go by the face value of it, it might seem like there isn’t much to it. More often than not, we tend to focus on making sure we improve certain features of a project we are working on. Instead, if we take the following approach, we can get to a safer outcome –
Define the problem – what is the outcome that you’re trying to achieve?
Invert it – what would guarantee the failure of achieving this outcome?
Finally, consider solutions to avoid this failure
This is a great way to start projects and progress through them.
The last few months have been chaotic for me. They could’ve been better, but I managed to accidentally introduce confusion, making them chaotic.
I started way too many personal initiatives and ended up finishing none. These weren’t necessarily tech projects, just some personal initiatives around health, managing time, growth, etc. Not all of these initiatives were left unfinished due to my unwillingness to complete them. Some were interrupted by work-related stuff, health-related stuff, unexpected events, etc.
One major area that lacked progress is my blog. It’s funny really, ’cause I have around 30 drafts and none of them are even close to being published.
I just got back from a much needed break and I feel humbly motivated. During the break, I got a chance to calm down, take a step back and look at the whole picture to figure out what the problem is and how to fix it.
I won’t discuss the initiatives here except for the one about fixing my blog. I tried to transform my blog into something that it wasn’t and in hindsight, it’s clear that it was terrible idea. I haven’t paid much attention to it since a while now. I want to add more fresh content to my blog. I’m excited and feel motivated to move past this chaos.
Today, I sat down with the intention of designing a logo for myself. I needed one for my upcoming projects. I didn’t know where to start. So, I made the following list of things I wanted in the logo –
My initials, MT
Some sort of association with Taurus
I wanted to come up with a few ideas and got busy drawing. Here’re a few drafts –
I wanted to use the eyes and the jawline of the bull as “M” and the horns and the upper part of the skull as the “T”. With that vision, I started working on more drafts.
I considered the following rules during my design process –
It needs to be legible at 16×16
It should be scalable (should be a vector graphic)
It should handle monochrome and colors as well
The obvious tool of choice was Adobe Illustrator. I started working on converting my hand drawn drafts in to something more nicer. I came up with the following designs –
Although these expressed my vision, I wasn’t happy with the design. For starters, the combination of curves and sharp edges, felt a bit odd and disconnected. Also, these designs were not legible at 16×16. So, I started working on another design with the goal to have softer edges for the bull’s face and more curves to the bull’s horns. After 12 iterations, I was able to get to the design that I liked. Here it is –
The bull’s jawline along with the eyes make up the “M” and the horns with the top part of the skull make up the “T”. It took me roughly 10 hours from the idea inception to completion. Overall, I’m pretty satisfied with the outcome.
Last year, when I wrote the “Happy New Year 2020” post, COVID-19 had just begun its course. Very few people in the world were aware of the full glory of the havoc it was about to wreck on the world. Looking back at that post, I just smile at how oblivious I was to what was brewing in December 2019.
2020 was brutal. My heart goes out to all families that have lost family members due to COVID-19, directly or indirectly. There have been a lot of cases where people couldn’t even stay with their families to say final goodbyes to their loved ones. Just thinking about all of it, saddens me.
In 2020, I’ve learned a lot about many things in life such as passion, being grateful, the kind of person I am, etc. On March 11th, when WHO declared the COVID-19 outbreak as a global pandemic, most companies let their employees Work From Home (WFH). Very soon, I got frustrated being cooped up in the house all day.
One afternoon, around mid-May, I received a marketing phone call from my bank. The bank employee asked me how I was doing, to which, I answered – “Not so great”. I said so because I was just frustrated staying home all day. He asked me if I was sick. I said, “No”. He then asked me if I had lost my job. I said, “No”. That was it. Those two questions just changed my perspective of the whole situation. I realized how grateful I was.
2020 in review
January: Most of January, I was in India with my Dad. I had a great time in Hyderabad and I am grateful for the trip. Celebrated Sankranthi at home. Also, started growing my hair long
February: Watched Super Bowl with friends. Had a lovely Valentine’s day dinner with my wife. Attended Vir Das’s stand up with friends, in San Francisco
March: Started WFH
April: Washed my hands so much that my skin started peeling off. Learned to make Hakka Noodles
May, June: Sindhu made me a homemade cake for my birthday. It was awesome. Played a lot of board games. Sindhu even wrote a post about it here
July: Visited my cute little nieces. Decided to improve my health and stay fit. Started running and functional training
August, September, October: Comparing the health data from my previous years, these were the months that I had exercised the most. Also, experienced the worst wildfire impact in California. The orange pic below is an actual photo I took with no filter
November: Went hiking at Lands End. Moved to a new apartment. Celebrated Diwali
December: My sister and her family came to visit and I had a lovely time with my nieces. Celebrated my 5th wedding anniversary
Last year, I didn’t really have any resolutions. However, this year, I’m working on a few resolutions that I will share over the coming few months.
Everyone is hopeful that the world will be back to normal with the vaccines being out. From what I have read, it looks like the world might return to normalcy by summer. Hopefully, that’s the case.
To all the essential and healthcare workers – Thank you!!
Here’s to a new year filled with hope, good health, happiness, and positivity! Cheers! 🎉
I am a big fan of handwritten notes. I write down a lot while reading, brain-storming ideas, working on code, working on side projects etc. Naturally, I end up going over a lot of notebooks. I have some at work and some at home. To give you an idea, at work, it takes me around 1.5-2 months to finish an entire notebook. At home, it is usually around 3-4 months. That’s approximately 8-10 notebooks per year.
My biggest problem is storage. I am not a fan of storing these notes long term, since most of the notes are only useful at the time of my brain-storming. I usually store just the pages with notes I like to hang on to and throw away the notebook. I’ve always hated doing that.
I digitize my handwritten notes every now and then to store them permanently. This system has been working out ok for me so far. I was hoping to improve this process.
In order to solve this problem, I got the new reMarkable 2. I pre-ordered it in early March and after a lot of waiting, got it mid-October. After using it for two months, here are my thoughts.
What I like
I primarily use if for reading pdfs (love the highlighting and notes feature) and writing notes. What I like about it is that it has a distraction-free setup. The limited browsing access is something I really like. The display is great and the writing experience is just enjoyable. The sound that the marker makes while writing emulates the feel of writing on paper. The marker’s writing latency is just too good. It almost matches the Apple Pencil 2.
Also, the fact that it’s just a linux box open with the SSH interface, makes it more appealing to me.
The handwritten notes to text conversion feature in the reMarkable 2 tablet works well. I do have to make some changes to the final text, but that’s more easier than writing everything down again from the scratch.
What I don’t like
The price point of $399 (+ $49 for the pencil) seems high for what it offers and might not be right for everyone. I wish it was around $199. I do feel the marker is a bit heavy, but, it doesn’t bother me too much.
Its feature set is perfect for my usage and that was exactly what I was looking for.
I think the reMarkable 2 is a fantastic device and I like it. But, I don’t think it is meant for everyone. If you are like me who likes to write a ton, then it might for the right device for you. If you don’t care about the writing experience or are not bothered by the distractions an iPad ships with, then getting an iPad might be a better option.
My Google Chrome extension, Rearrange Tabs, hit the major milestone of 10,000 active users! I never expected this to happen and it goes without saying that I am elated.
I started the project so that I could move tabs around in the browser without having to use my mouse and to satiate my obsessive compulsiveness to arrange my tabs in a particular order. I decided to open source the code so that other users would benefit from it and maybe even build something better. To my surprise, I saw users contributing back to the project and adding new features, which was really cool. That’s the beauty of Open Source.
5.5 years later, the extension has now reached 10,000 active users. The fact that so many users actively use it and like it, makes me feel good.
Thanks to all the contributors of the project. Cheers to all of you and the extension’s userbase! 🥳 🎉
Starting a new project and not finishing it can be quite a discouraging experience. If it ends up becoming something you tend to do often, you lose the motivation to pursue new ideas and that can be bad.
How many times have you started a project and felt like you should’ve picked another one? What if you have a technique to figure out which idea/project to pick next? You should pick the one that you’re more inclined towards. But, how do you get clarity around this inclination?
It’s extremely important to have clarity on why you want to work on a project, how interested you are, and which technology you want to use. I’ve come up with a technique that I use myself for getting this clarity. It’s simple really.
PIT stands for Purpose Interest Technology. I consider these three as the key factors that provide clarity on which idea to pick next. I’ve tried this technique with a few ideas/projects now and I’m pleased to inform you that it has worked really well.
Who is it for?
Do you enjoy working on side projects in your spare time?
Do you have a lot of ideas that you want to work on, but never get around to?
Do you have trouble prioritizing your ideas?
If you’ve answered “Yes” to the above questions, this technique is for you. Although, it is not entirely just for people that fall in to this category.
How does it work?
The technique itself is fairly straight forward. You assign a certain inclination value for each of the key factors, for each of your ideas and calculate the PIT score of each idea and sort them by the score. Here’s how it is done.
I’ll be using the following list of ideas to explain and demonstrate the technique:
Learn Machine learning
Build a web UI for a CLI tool
Write a fun new game
Step 0: Define inclination values for each factor and assign scores
Each of the key factors i.e. Purpose, Interest, and Technology, need a pre-defined set of values that denote your inclination towards the corresponding idea.
Even though you can update these later, it will be rare.
For Purpose, your inclination values could be:
Learning new technology
Help solve a problem for others
For Interest, your inclination values could be:
May be with some external motivation
For Technology, your inclination values could be:
These are some examples that I’ve come up with. They can be customized and changed per your needs.
Assign a score to each of these inclination values. You need to be careful with assigning scores since they make or break this technique. You can set up a scale for yourself and assign a score from that scale. In the current example, I’ve used a scale from 1 to 10.
Some example scores are –
Acquire new skill
Help solve a problem for others
May be with some external motivation
These are just values that I’ve come up with. These are extremely subjective. So, you’d have to define these values appropriately, according to you. For instance, the scores you’d assign to “Unfamiliar” technology or “Acquire new skill” purpose, might be completely different from the scores I’d assign myself. As you’ll see, these scores play a crucial role in computing the PIT score.
Step 1: Apply PIT values to your ideas
For each of your idea, populate the Purpose inclination, Interest inclination, and Technology inclination values.
Learn Machine learning
Acquire new skill
Build a web UI for a CLI tool
Help solve a problem for others
Write a fun new game
Step 2: Calculate
This is by far the easiest part. You substitute the scores for each of the values and calculate the PIT score of each of your ideas using the following formula:
PITscore = Pscore + Iscore + Tscore
Here’s how the table would look like –
Learn Machine learning
Build a web UI for a CLI tool
Write a fun new game
Step 3: Sort
Sort the ideas by the PIT score in descending order. Voila! Your projects are now sorted by a score that provides clarity on which idea you’re most likely to finish once you start. This is due to the inclination you have towards the project or the idea.
Write a fun new game
Learn Machine learning
Build a web UI for a CLI tool
This sorted list provides clarity around the friction you’d face in order to start a project.
Higher the PIT score, lower the friction.
As you have probably noticed, even though the interest level is “Very interested” for the project “Build a web UI for a CLI tool”, the PIT score ended up being pretty low. This is due to the fact that the technology is “Unfamiliar” and the purpose is “Help solve a problem for others”, the scores of which are pretty low in the given example. Just by looking at the original list and assuming that you would want to start with that project would’ve been a mistake. On the other hand, “Write a fun new game” has the highest PIT score, even though the interest level is only “Interested”.
A spreadsheet can be a convenient option to maintain this list and the scores. Bonus, use spreadsheet functions to automate the calculation and sorting process. This is what I currently do. Building a simple web page to handle this would be really easy, but, it had a very low PIT score 😉 and so I avoided it.
In order for this technique to work, you need to be careful while picking the scores for the inclination values.
You can extend this technique to add more factors to your ideas, finer-grained inclination values, and better scoring.
Applying this technique to my personal list of projects surfaced a lot more information about my projects. I was happy with the outcome.
Given a range, calculating the mid is a straight forward process.
mid = (low + high) / 2;
But, there’s a problem with this line. Adding two large positive numbers can result in an overflow, if the sum is more than the max positive number.
One way to fix it is to use the following:
mid = low + ((high - low) / 2);
This’ll prevent the expression from overflowing to a negative value. I’ve read this line in random code so many times and wondered why anyone would want to write it this way instead of the simpler and more straight forward way I mentioned in the beginning of this blog. It wasn’t until I read this lovely blog post that I understood the reason behind it.
I got an email this morning, with the subject “North + Google” from North. According to the email, Google had acquired them. A quick Google search about the company pleasantly surprised me that it was Thalmic Labs. I didn’t realize Thalmic Labs changed their name to North.
I still remember getting excited when I received one of their very first few devices back when they launched and were still small. It was called Myo armband. It seemed really promising.
I played around with it for a few days and wrote a tiny application to track hand gestures and control my OS with the gestures. It was fun. Then, I got busy with other things and completely forgot about the product and the company. I knew they had potential.
I am quite happy for them and believe that Google will use North’s resources wisely. For me, personally, reading the email reminded me of how much I enjoy working on fun side projects. I am glad that hasn’t changed one bit even today!