• DHH on Design Tools

    DHH on Design Tools

    This post is part of the Constrained series.

    Start time: 09:14

    I like DHH. He’s been an inspiration to me for a lot of things. The interesting thing about him is that I find his views either very good or very bad. There’s no middle-ground with him. For the most part, I appreciate what he says. But then, there are times where he says shit like this: https://world.hey.com/dhh/design-for-the-web-without-figma-4bc3a218

    Here’s his tweet about it:

    The comment section is filled with developers agreeing with him. Which makes total sense.

    I get his intention behind the post. He’s mentioned Figma here, but it doesn’t really matter which design tool. He could’ve mentioned any other design tool and I’d still disagree with him. The point of these design tools is to give the designer the freedom and the utilities to create, iterate, and collaborate on designs. Imagine the pace at which you’d create designs if you were rawdogging it in HTML/CSS. This might be slightly reasonable if you were to just make some simple modifications to the existing designs or introduce new components that basically fully rely on the existing designs.

    Building a new design means going through so many iterations, re-doing a lot of things. Doing it in HTML/CSS works when you are the designer and the developer. Even then, it’s not always true. I’ve created designs myself and worked on implementing them. Almost all the time, I work faster designing the app in one of these tools and then implementing it in HTML/CSS.

    In a web world that’s increasingly been subdividing its expertise into ever smaller specialities, that might sound like a bit of a unicorn quest: Great designers that can also make their creations real? Good luck finding THAT! And yet we have, repeatedly, at 37signals, and we’re drawing huge dividends in productivity from doing so.

    I’m not a fan of 37Signals’ designs.

    Leave Figma to the early conceptual stages of web design. Or put it to good use for native mobile development, when you rarely have a choice. But embrace doing the bulk of the design for the web directly in the core elements of its periodic table.

    Most apps these days have a mobile and web version. Designing mobile apps in a design tool and web apps in the web just doesn’t scale. You want to design everything in the same tool. Iterating through designs on any platform is faster in a design tool. I don’t think any designer would disagree.

    His post feels like an unhappy backend developer venting about being forced to work on the frontend.

    Anyway, like I said, I like DHH. He doesn’t shy away from sharing his thoughts, which is great. He’s been wrong a number of times in the past and I’m sure he’s wrong about this one too.

    Stop time: 09:55

  • Cornell Note-taking System

    Cornell Note-taking System

    I’ve been using the Cornell Note-taking system since a little over an year now and I can say that it has been pretty good. If you don’t know what it is, check out the 4 min video above.

    Luckily, the reMarkable 2 tablet ships with with a Cornell Note-taking system template and that worked out perfectly well for me. I mostly find myself using it while reading technical papers, tracking new project onboarding, learning new technologies etc. It works well for gaining clarity around a concept that you’re trying to grasp. As the video suggests, it’s easy to implement on a plain paper.

  • Succeeding at building good software

    Software engineers during the early stages of their careers have a tendency to think that building software successfully means getting things right during the initial stages. I was that guy too. Over the years, I’ve learned that this is almost never the case. I can’t just say that it’s never the case ’cause there might be times where this is crucial, especially when implementing anything around user privacy, payments, handling sensitive information, etc. For the remainder, the key to succeed at building good software lies in its ability to change.

    You almost never get things right in the initial try. The initial try is usually accompanied by multiple iterations based on one of the most valuable things – user feedback. As you capture user feedback, you build a spec that essentially ends up being version 2.0 of your original software.

    This is not only true for products, but also software in general. These will help you build good software that your users like and appreciate.

  • Blogging myths by Julia Evans

    I’ve always said blogging is a creative outlet for me. It helps me put down my thoughts and is sort of a calming and fun process.

    Recently, I came across this post by Julia Evans: https://jvns.ca/blog/2023/06/05/some-blogging-myths/

    I’ve unknowingly always been bound by similar principles while blogging and it felt very nice reading this post. It sort of validated my ideology around blogging.

  • Twitter alternatives

    Twitter alternatives

    Ever since Elon took over Twitter, there have been a lot of users claiming to quit the platform and move to other alternatives. Not so surprisingly, a few very similar alternatives popped up. All of these applications are not open to sign up. They are all invite-only, except for Mastodon. I finally got the chance to sign up to all these networks and so far, they seem decent.

    I’ve compiled a small list of alternatives that I’ve tried below

    Bluesky

    My profile: https://bsky.app/profile/iam.mt

    This was by far the toughest invite to get. People have been going crazy over the invite codes. They have a huge demand and apparently they’re going for $200-$400 an invite. The app needs some love in term of UX. It has the early-days-of-twiter vibe. Bluesky’s authenticity check is done via domain name verification. This is an age-old technique and a great one at that.

    There’s not a lot of people on the platform yet, but I see potential. One of the most promising alternatives IMHO.

    I don’t have any invites at the moment (as seen in the screenshot). If you need one, leave a comment below and I will share one as soon as I get one. A buddy of mine already has dibs on the first one.

    T2

    My profile: https://t2.social/mohnish

    T2 doesn’t have a mobile app yet, but the mobile web app is very nicely implemented. Personally, I enjoy using it. It’s clean and minimalistic. The UI is really nice and I love the icons. The community seems very welcoming. The platform definitely needs more users. I am their 5026th user.

    T2 has a unique way of checking for authenticity. You can schedule a call with their co-founder. They will hop on a video-call with you and verify your Govt. ID. This process costs $5.

    This is 100% not going to scale, but, seems like a very interesting way to verify that a person is who they say they are.

    I have 3 invites to T2. If you’re interested, let me know by leaving a comment below and I will share the code with you.

    Mastodon

    My profile: https://mastodon.cloud/@mohnish

    Mastodon is by far the most boring social network I’ve used. I don’t know what it is, but there’s something very bothersome about the application. I got on to Mastodon back in 2018 and I’ve posted 3 times ever since. I signed in to my account after 4+ years and still feels the same to me. I don’t see myself using Mastodon in the future.

    This was the network of choice for all the folks with the “I’m going to leave Twitter” claims, in the initial days of Elon’s Twitter 2.0. The best part is that there’s a ton of servers out there and you don’t need an invitation to sign up for an account.

    Posts

    My profile: https://posts.cv/mt

    Posts is a confusing app in terms of context. Initially, it seemed like a professional network. After a month or so, now it seems more casual. I see users posting random things, like on Twitter.

    The UX feels sluggish. I haven’t used the iOS app yet and I honestly don’t intend to. It seems overly basic, to an extent where you don’t want to use the application.

    What’s next?

    Personally, I only enjoyed using Bluesky and T2. Both have potential. Twitter is definitely not going anywhere. The only way to dethrone Twitter from its spot is by quality user acquisition. It’s a hard problem to solve. Bluesky has a better chance at this and I want to see how they handle it.

    Right now, I want to stay active on Bluesky, T2, and Twitter. I might use Bluesky and T2 for posting and Twitter for consuming content. Doing so will surface the pros and cons I care about in these networks and make my decision-making easier. I don’t know how I’ll continue using these platforms. Whatever new platforms show up, my blog will always be my #1 place to post my thoughts.

  • WWDC 23

    WWDC 23

    Exactly 2 months ago, I got an Invitation to WWDC 2023 and I have been thrilled ever since.

    Today, I got to finally attend the conference.

    I woke up at 07:15 and got ready and hopped into an Uber by 07:45. I reached Apple Park Visitor Center at 08:15. I checked-in at 08:30 and picked up my badge for the event and some Apple Swag and stood in the line for security check.

    I was in a hurry to get in to the line and didn’t realize I wasn’t smiling for the selfie
    WWDC23 Swag

    Swag items

    1. Carter Wide Mug
    2. A sticker pack
    3. A bag
    4. A hat

    That was it. Usually conferences have a ton of swag, but it’s usually from all the attending/participating companies. WWDC is fully managed by Apple. So, you can’t really expect much else.

    Once I got past the security check, which took around 45 mins, I went on my way to enter the Apple Park, The Ring, the Spaceship campus. I was blown away by the beauty of the building. It’s massive and yet doesn’t feel that way. It’s just so very well built. You can tell that a lot of effort and planning went into it. The insanely clean glass, the structure, the plants, trees etc outside The Ring, everything looked beautiful.

    I was running out of time to grab my breakfast, which I didn’t want to miss out as I was quite hungry and so, I got to Caffé Macs, a cafe at the Apple Park. This cafe is nice, big and has a massive seating area. The seating area is where Apple setup their WWDC23 screening area.

    I thought the event would be live and at the Steve Jobs Theater, but to my surprise, I got to know from a Staff member that the event was pre-recorded. I was slightly disappointed, but it didn’t bother me.

    At 09:50, the welcome presentation by Tim Cook and Craig Federighi began.

    Tim Cook on the stage before the screening of the Keynote. Craig Federighi joined him a couple of mins later

    At 10:00 sharp, the Keynote screening started. Of course, it was great and I really loved some of the new features Apple introduced into macOS, iOS, and watchOS, but the One More Thing stole the show. I loved how insanely cool Vision Pro is.

    The keynote ended at 12:00 and all the developers headed for lunch at the same Caffé Macs. After waiting for food in the massive line, I was happy to grab food and finally settle down. They had some good food options. I found a table in the seating area and started eating and that’s when I noticed iJustine. At first, I thought I was confusing some other person with her and then I noticed Marques Brownlee. They were a few feet away from my table and taking pictures with some fans. I ran over to them to take a selfie with them and they obliged. Some other guy wanted to take a photo with them and he offered to take a photo of me with them if I did the same for him. Justine was very sweet and she said she would take another pic with me.

    I then went back to my table and finished up my lunch. It was 13:00 and the next session was the Platforms State of the Union (SoTU) at 13:30. I figured I’d head down to the seating area to get a good seat. Luckily, I was on time and was able to get a seat in the 3rd row, up close to the main stage.

    At 13:20, Craig Federighi joined the SoTU.

    At 13:30, the session started.

    It was fun. Unfortunately, the seat I picked was between two people who were clearly not interested in being there. The guy on my right kept saying that he didn’t like Apple and he’s an Android guy and kept mocking Apple. The lady on my left slept during the presentation…with a god damn snore. The session was scheduled for 1.5 hours. After about an hour, I moved to a different seat, so that I could focus on the presentation.

    At 15:00, the session ended and everyone headed out for some snacks, which included fruit from the Apple Park.

    Next up was the tours. The tours of –

    1. The Ring
    2. The inner meadows

    I wasn’t particularly interested in the inner meadows tour, but I was really interested in The Ring tour. The thing is, both these tours required conference attendees to register early. It was limited and the registration was full by the time I even opened the web page to register.

    So, I started wandering around. I wanted to head to the restroom and started walking towards it. As luck would have it, the first batch of The Ring tour had started. The folks leading the tour thought I was part of the first batch and just included me in it. And boom! I got into the tour 😀

    The tour was fun. I got to checkout The Ring and my god, it’s a beautiful building.

    The Ring is well documented online and you can find a ton of photos. That’s why I didn’t take a lot of photos as I wanted to focus on the tour of the beautiful building.

    Part of the tour was an art museum at the entrance.

    The art museum had various soils from the Apple Park

    After the tour, I went and hung out with the developers from the Swift and Developer Tools team, Design team, and a few other teams. I had some fun and interesting conversations with the developers and the designers as I talked to them about my app.

    I then headed back out to the seating area to see what was up next. As I was walked back, I bumped into Phil Schiller.

    Phil seemed really chill

    He seemed like a great guy. I spoke with him for a good 5 mins, something I didn’t expect to do with a person of his stature. He was patient and took time to answer my questions. I thanked him for his time and left.

    It was 16:40 and the only event left was the Apple Design Awards at 17:30. I was tired of walking around The Ring the whole day and decided to head back home.

    I walked 0.5 mile over to the Rideshare spot and booked myself an Uber and got home.

    Overall, the conference was very good. Apple did a phenomenal job at organizing the conference. They even had a team to help disabled attendees. I loved the conference and the sessions. I would love to go back again next year. I tried to attend this conference for 13 years and got lucky with the lottery this year. I am definitely applying again next year.

  • Platinum blonde

    I’m getting my hair bleached again right now. This is the 2nd sitting of the bleaching process to get to the full platinum blonde look I was going for. Also, this happens to be my first time blogging from the new Jetpack mobile application. The options available are not intuitive at all. I had to google how to add a link in the draft. I wanted to do a Constrained series post, but I wasn’t comfortable with the Jetpack mobile app.

    Anyway, the last time I was here, I spent almost 3 hours for the bleach to bleach my hair from black to blonde. That was my first time getting my hair fully bleached and didn’t expect the process to take that long. Naturally, I got to the hair salon unprepared and spent 3 hours browsing random websites and consuming information.

    This time, I wanted to come prepared and better utilize my time while I wait for the hair bleach to do its thing. Unfortunately, I forgot about it. So, here I am again, unprepared.

    I wanted to do something different and so I decided to blog during the waiting time. This reminds me of that one time I blogged on a flight. Basically, I’m shifting my stance from being a consumer of information to being a producer of information. It’s not that this particular post is going to be any interesting, but I just wanted to be on the other side of the spectrum where I am not the consumer.

    This particular thought of not consuming too much information came to my mind after I checked my Screen Time on my phone and noticed that I was spending way too much time on my phone being a consumer. I don’t mean to swap that time being a producer instead, but, I’d rather lower my consumption down.

    One of the main reasons I want to limit my consumption is to improve the quality of content I consume. The more I consume, the quicker I run out of good content and end up consuming random mindless content on the internet.

    I want to be able to retain higher qualify information and cultivate it to use it in ways that benefit me. For this to happen, I need to consumer less, but high quality information.

    Before I end this post, here’s a little hair salon trivia: There’re different types of licenses for hair stylists. Someone with a barber license isn’t allowed to do any chemical treatment on their customers’ hair. For them to be able to do that, they need to have a cosmetology license. Someone with just a cosmetology license, can’t do a beard shave that involves a single blade.

    This trivia is brought to you by my hair stylist – Erika!

    Note: This post was written a few hours ago at the hair salon. I’m posting it now ’cause I forgot to publish the post then.

  • World Cup 2026 logo

    World Cup 2026 logo

    Yesterday, Fifa unveiled the logo for World Cup 2026. It reminds me of the PS5 logo debacle.

    World Cup 2026 Official Logo

    The effort it took for this:

    1. Select a font
    2. Type 2
    3. Hit Enter
    4. Type 6

    That’s what the designer(s) did here. Just so people don’t get confused with it, they put the World Cup trophy in front of the 26. Look at the ones from the past.

    They have character. They have something about the host nation. The 2026 logo has nothing. It’s just something created by some pretentious designer thinking it would look dope. In reality, the logo is just so bad and bland.

    I hope Fifa comes up with another logo that takes more than 2 seconds to “design” it.

  • We are the Champions of Spain

    We are the Champions of Spain

    Madrid, cabron, saluda el campeon!

    Samuel Eto’o

    First off, props to Xavi for making us champions again. I didn’t have faith in him initially, when he was appointed the manager of Barca midway last season. But, that quickly changed as the previous season progressed. He was given a very bad team and he made the most out of it with the youngsters from La Masia. This hasn’t been an easy season, especially in Europe. We will get there. I’m sure we will be better next season. I think Xavi will also improve as a manager.

    It has been a while since Barca won La Liga. The last time we won it, it was the 2018/19 season. The team has changed completely ever since. I’m so happy that we’ve won the Spanish League title again. I want us to win the treble next season. There are rumors of the GOAT returning back to Barca, but I think it’s too good to be real. Barca don’t have the funds to comply with the Financial Fair Play and La Liga restrictions. I have faith in the current team though. We finally have a good defense line and a very good mid. Our attack line is the weakest and we need a very good attacking player. Lewandowski has been fine in the league, but not in the Champions League (CL).

    To be successful and win silverware, teams need a solid defense. That’s what gets you titles.

    Marc-Andre ter Stegen (MAtS), our goalie, has had a phenomenal season. 24 clean sheets.

    Christensen: The best signing of the season.

    Kounde: He’s been great so far, except for a few dumb mistakes that costed us.

    Araujo: Beast.

    Balde: Fantastic in attack and decent in defense. He will get better. He needs to improve his crossing.

    Lewandowski: He was great until the World Cup and lost his form right after. He’s picked it back up in the last few games.

    Gavi: Our Golden Boy has been great, pissing off our rivals the most. He is going to set the pitch on fire.

    Pedri: He’s been injured for the most part of the season, but he’s been great when he played.

    Frenkie: Fantastic player.

    Raphina: He’s been frustratingly good. I hope he improves his decision making.

    Dembele: He’s been very very good. Got injured and lost a few weeks, but he’s so much better than his past.

    Ansu, Ferran: Both have been bad.

    Also, this happens to be the last season for our club legend, Busi. So grateful for Busi for all his years at Barca. With him gone, it’ll be the end of an era, the one that had Xavi-Busi-Ini – the trio that produced pure magic every game they played. The beautiful football they played. *chef’s kiss*

    I’m very excited to see our new generation of players, Gavi – Frenkie – Pedri, dominate the midfield.

    For us to actually dominate Europe, ideally, I’d hope for the following to happen –

    Loan: Ansu – ever since his injury, he’s lost his explosiveness. It could also be the #10 jersey weighing him down

    Sell: Ferran – he’s been bad #Alludu

    Sell: Alonso – he’s been a surprisingly good signing, but he’s of no use anymore

    Sell: Jordi – if this happens, we could buy new players

    Sell: Kessie – sadly, he didn’t turn out to be the player we hoped him to be

    Buy: Fullbacks – left & right, a defensive mid, and a quality attacker

    With these reinforcements, I think we can become a team competing for the CL.

    Let’s win the treble next season and let’s enjoy the victory, culers.

    FORCA BARCA!

  • Poor design or versatile design?

    Poor design or versatile design?

    Recently, GitHub enrolled me into one of their beta features, a new site wide navigation on github.com. I noticed something odd in their navigation sidebar. Their “Upgrade” link uses the “Outbox” icon.

    The next day, I noticed that twitter.com uses the same icon for Sharing tweets.

    This got interesting and I started looking for web pages where this icon was being used. Google’s Bard uses it to export responses.

    Safari uses it to share a web page.

    Font awesome suggests that it’s the “upload” icon.

    iOS uses it for sharing a screenshot.

    Google Chrome uses a variant of it for “upload” functionality.

    LinkedIn’s iOS app uses it for post sharing.

    So, I’m not sure what the right usage for this icon is. If someone familiar with it could enlighten me, that’d be great.

  • Experiment

    There is no art without constraints. Constraints make art precious.

    I’m trying out an experiment. Basically, I blog about whatever comes to my mind. The only constraint is that I wrap it up in 45 mins.

    I’m calling this series – Constrained.

    Each post will have the format:

    Topic

    Start time: —

    Post

    Stop time: —

    My goal is to do this at least once every month for the coming 4 months – May, June, July, August. If I enjoy it, I will keep at it and maybe modify the constraints here and there. If not, well, it’s just an experiment. Honestly, I don’t know what I’m expecting out of it. I would definitely love to be surprised by an interesting outcome from this experiment.

  • Doodling

    Doodling

    I draw a lot and throw my drawings away. I’m not particularly good at it, but I enjoy it. I find it very calming. It has an effect similar to meditation on me.

    A while ago, I got this idea of using my drawings as the featured images on my blog posts. I’ve been doing that ever since. I started this with my Happy New Year 2022 post. I feel like it makes my blogs more unique.

    I’ve created a separate page to display my doodles. Right now, it just includes the ones I’ve used in my previous blog posts. I’ll be adding more of my random doodles / drawings to my upcoming posts. I use my reMarkable for all of my drawings.

  • Orson Welles

    The Enemy of Art Is the Absence of Limitations

    Orson Welles

  • Facebook cleanse

    Facebook cleanse

    Over the past few years, my usage of Facebook has gone down. Not because I don’t like it, but mostly because it has become my news aggregator. It used to be my friend news aggregator, but it turned into brand news aggregator. I have enough sources that are far more superior at aggregating these news types.

    Anyway, this week, I changed how my Facebook looked. I had to unfollow and “unlike” a ton of Pages. This included TV shows, movies, tons of fashion brands, products etc. Now, my News Feed only shows posts from my Facebook friends. The peace is back.

    At first, it felt nice and I was happy to see the posts from just my FB friends. A few hours in, I realized that these were posts from very few friends who were using it. Not a lot of my friends use or post on FB anymore. It’s the end of a beautiful era.

    FB was hot and I loved it. I still do. Not a fan of the UI but nevertheless, it’s an amazing platform. I thought about what would bring back its glory. I think making a user’s News Feed focus on content from their friends would make it wonderful and personal. If a user Likes or Follows a Page, or even joins a Group, FB should make the user explicitly opt-in to include their updates in the user’s News Feed as opposed to including them by default. This would be a better UX. Even having separate tabs to show all the updates from Pages and Groups would be nice. These are the UX changes that’d make FB feel more personal again.

    Right now, Instagram is all the hype. I love Instagram. Not the current one, but the original one without the Stories. It was so cool and felt so personal. Now, all I see is that the people I follow posting random re-posts of posts from accounts I don’t give a shit about. Over the past couple of years, I unfollowed so many of my friends who did this. The most critical feature of Instagram was not having this ability to re-post. Now they have it. It makes my feed terrible. I get why they want that feature, but I’m not a fan of it. It’s just bad UX.

    I miss the old Facebook and the old Instagram, the fantastic networks that made more people want to use it. Neither of these platforms are simple anymore. The UX is just way too convoluted.

  • Went blonde

    Went blonde

    Since 2019, I’ve had this idea to go fully blonde. Somehow I couldn’t find the right time to do it. This year I finally decided to go blonde for the summer. Blonde with a touch of platinum on the top. I love how it turned out to be.

  • 1Password’s “unlock with Apple Watch” feature is a thing of beauty

    1Password’s “unlock with Apple Watch” feature is a thing of beauty

    I love 1Password. I’ve been a paying customer since 2018. Before that, I used LastPass, Dashlane, and several other similar password managers and never really stuck with any of them for long enough.

    1Password is simple and doesn’t get in your way. Besides some nice features like the Watchtower, Sharable vaults, etc, there’s a fantastic feature that I really love and use every single day. Their “Unlock 1Password with Apple Watch” feature. You can enable this feature from your 1Password settings as shown below.

    Enable the feature here

    Once enabled, you can unlock your 1Password account on your Mac and your web browser by opening 1Password and double clicking your Apple Watch’s side button at the following prompt.

    The prompt on your watch looks something like this

    I use this at home and at my office, where my laptop lid is closed and connected to my monitor. This UX makes it easy for me to keep my 1Password locked at all times and only unlock it when I need a password, without typing in my Master Password every time.

    Great job, 1Password team 👏

  • Twitter Blew

    Twitter Blew

    Twitter’s bot problem

    Originally, Twitter verified profiles of people who were prominent in a particular field. Every verified profile would get the coveted Twitter Verified Checkmark. Having a verified checkmark meant that you were considered influential and the other users would trust you and follow you.

    As a Twitter user wanting to grow your network (followers), you’d have to produce content that your followers cared about. This could be anything – poetry, random interesting facts, fake news, sport information, tech updates, trolling celebrities, etc – as long as there are users interested in reading your tweets. As you can see, this is a time taking process and you really need some sort of a skill. By doing this, you’d increase your influence and this meant that there would be companies sponsoring your activities and you’d start making real money.

    The two key problems here:

    1. Skill required to create good content
    2. The time it takes to build your influence by growing your network

    To solve these problems, there have been some bad actors who have figure that they could create thousands of bot accounts and by taking payments, they’d have them follow your account. This solves both of your problems. You pay a certain amount of money, for say, 10,000 followers and expand your network. You didn’t have to post good content or had to wait for a few years. You solved both the problems by throwing money at the problem.

    With this expanded network, you apply to Twitter to verify your profile and Twitter obliges and marks your profile as verified and gives you the verified checkmark. Being a verified user, the possibilities are now endless. Produce content, get sponsorship deals, become a billionaire, invest in companies, watch them become unicorns, leprechauns and whatnot and then, write a book. If you don’t write a book, your success just didn’t happen. Ain’t nobody got time for that shit if there ain’t no book!

    Learning about the success of this business model, the other bad actors figured that they could replicate it easily. So, they created a ton of these fake bot networks and started selling them. These networks can make you seem really famous over a period of 2-4 days. Imagine having 25,000 followers and a verified checkmark in a matter of 1-2 weeks. More and more people started subscribing to this approach and thus, Twitter ended up having millions of bot accounts.

    Twitter’s solution to their bot problem

    After Elon took over Twitter, he immediately changed the way Twitter handled showing the verified checkmarks. Instead of forcing users to buy fake bot followers, he forced them to buy the Twitter Blue subscription. You pay $8/month and get the blue verified checkmark. You either pay for it, or lose your special privilege on the network.

    This basically discourages these influencers from buying follower bot networks as they get the blue verified checkmark by donating money to Elon. So far, it seems like the bot problem is being handled well.

    The under-appreciated beauty of Twitter

    Contrary to what most people claim on random Mastodon instances, Twitter isn’t going anywhere anytime soon. Twitter is a unique and wonderful place for users around the world to share their thoughts. What makes it beautiful is its constraints.

    • the 280 character limit (personally, I prefer the 140 limit)
    • the inability to edit a tweet after it’s posted

    These are the constraints that made it popular as they force a user to put more thought into crafting their tweets. If you use the 10,000 character limit, available for Twitter Blue subscribers, it’d be easier and the quality of your content wouldn’t necessarily be as high as your well thought out tweet within the 280 character limit.

    But..

    As of 04/22/2023

    Twitter Blue users won’t have these constraints, the ones that make Twitter what it is.

    My prediction

    With these constraints removed, Twitter is going to become a dull social network. I’ve always been rooting for Twitter to succeed, but the path that Twitter is heading down, doesn’t seem promising.

    My observation

    As of 04/20/2023 (Elon is obsessed with 420 and 69), all the original verified profiles lost their checkmarks. With this change, the way I viewed Twitter profiles has also changed. I browsed Twitter yesterday, it felt different. It felt nice. Most of the verified profiles that I had been following, suddenly seemed more approachable. I even tweeted about it yesterday.

    People buying the blue checkmark just seem desperate for attention and it just feels fake

    Elon has been trying so hard to shove Twitter Blue down Twitter’s users’ throats. He has been seen implying that freedom of speech can be preserved by subscribing to Twitter Blue. At its face value, it might sound silly, but the sheer number of users who’ve subscribed to his ideology and Twitter Blue, seem to love it. Good for them. However, the others are just happy being free unverified users.

    If I were the CEO of Twitter…

    Every social network, not just Twitter, suffers from this problem. If I were the CEO of Twitter, I’d solve the problem the following way:

    1. Separate out user verification and subscription
    2. Every account that wants to be verified will be charged a 1-time payment. The user would have to submit some sort of a government issued ID to verify that they are who they claim to be. Having a subscription tied to verification is outright stupid and doesn’t make sense at all. Suddenly you’re not verified after you stop paying the subscription price? That’s just silly
    3. The number of verified followers would dictate your reach on Twitter
    4. Every verified user will unlock features such as who can interact with them (just verified or non-verified too), etc
    5. Every non-verified user will have limitations. The number of users they can follow, the number users they can @mention in a tweet, the amount of interaction with other users etc
    6. Only verified users can opt in to a subscription
    7. A subscriber would not have Ads displayed on their accounts, can upload videos longer than the basic 2 min 20 sec limitation, highly likely to be discovered more on Twitter, support for analytics on a per tweet basis
    8. All follower count will be hidden

    At a large scale, there’s no right solution to handling this problem. There are only less-wrong solutions at best.

  • FUT 23

    FUT 23

    After a really long time, I have stopped playing FIFA. I bought the latest edition, FIFA 23 and lost interest in the game immediately. I played for maybe a month after its release but that was it.

    I’ve been playing FIFA since 2013/14. I started playing it mostly offline. I played FIFA as a kid with my friends. In 2016, I started FIFA Ultimate Team, more commonly referred to as FUT and that changed everything. It was fun back then.

    My friends and I organize FIFA tourneys. We take it very seriously. We even built a bot for it and it’s open source :). FIFA’s regular mode is still fun. I wish EA invested in creating a tourney mode to run tourneys among friends, like we do. They don’t seem to do that and they invest heavily in FUT mode, which makes sense for them since it’s their cash cow. Right now, it has become boring because it’s the same cards every year and there’s always one or two OP cards, the same ones, every damn year. I might get back to later towards the end of the season, but I still am not interested in it now. Also, I can’t stand Kylian Mbappe being the best card in the game. Even his gold card is pricier than some dope special cards. It’s April and the card is still half million. It’s ridiculous given that he isn’t even the best player in the world right now.

    I’ve switched to mostly playing Call Of Duty: Modern Warfare II. This is my third CoD title. First was Black Ops III, which I played like 3 times, followed by Black Ops Cold War (BOCW). BOCW was the first CoD title that I played seriously. I liked the game, but it got boring after maybe 6 months.

    I hope EA FC is better than FIFA. I will give it another shot next season. If I don’t like it, I will stop giving EA my money on a yearly basis.

  • Invitation to WWDC 2023

    Invitation to WWDC 2023

    The Worldwide Developers Conference (WWDC) is an information technology conference held annually by Apple Inc. Apple randomly (IDK if it truly is or if there’s some selection criteria) picks up applicants and invites them over to the conference. It’s held at Apple Park. It used to be held at the Moscone Center in San Francisco. I’ve been applying to visit WWDC since 2010, as a student pursuing my Master’s and later as a professional. Every single year. Finally, after 13 years, my application got picked in the lottery this year. I received the following email today:

    I immediately accepted the invite and RSVP’d to it and here’s the follow up email that I received:

    I’m excited. This was the first time I applied to WWDC thinking – “it’s ok if my application doesn’t get picked” – and voila – it got picked.

    It’s on the 06/05/2023 and I’m very much looking forward to it. I will definitely blog about my experience. Apple Park is not too far from my place. I’m expecting it to be a fun event. I’m excited to see what Apple has to announce at the conference. I’m sure there will be enhancements to Swift and new SDKs to build better apps. I am hoping for better and performant SwiftUI.

    Also, I’m hoping to pick up some fun swag!

  • CX.MT

    CX.MT

    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.

    CX.MT
    MT.CX | CX.MT as illustrated by the artist MT

    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.

    So, I went through the official listing from ICANN here: https://data.iana.org/TLD/tlds-alpha-by-domain.txt

    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!

  • Et tu, Gmail?

    Et tu, Gmail?

    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.

    This is the image from the email

    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.

    It’s funny how the message here says it’s “Important according to Google magic”

    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.

  • Running

    Running

    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.

  • How I removed friction when switching between computers – Part 1

    How I removed friction when switching between computers – Part 1

    Alternate titles

    • 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.

    My setup

    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.

    The annoyance

    Every time I switch between my computers to use the main display, I have to do the following:

    1. Unplug the monitor cable from my first computer
    2. Turn off my Magic Mouse1 connected to my first computer
    3. Plug the monitor cable to my second computer
    4. Turn on the Magic Mouse2 connected to my second computer
    5. 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.

    Friction points

    1. Having 2 mice and switching between them whenever I switch computers
    2. 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

    1. Multi-device support
    2. Rechargeable battery
    3. Wireless

    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.

    (Left) Keychron K3 Pro, (Right) Logitech MX Master 3S – on the SteelSeries QcK XXL Mouse Pad 67500 (blurred the surface out a little to remove the dust on the pad)

    How does the mouse fare against my requirements?

    1. 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
    2. 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
    3. 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
    4. 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)

    Cons

    1. 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
    2. 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.

    Conclusion

    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 🙂

  • 100

  • Rearrange Tabs 3.0.0

    Rearrange Tabs 3.0.0

    Antescript: Rearrange Tabs 3.0.0 is now live on the Chrome Web Store!

    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.

    What’s included?

    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!

    2. Performance

    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.

    Future

    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.

    <3

    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

    As always, feel free to contribute to the extension here: Rearrange Tabs on GitHub

    Your contribution could be a suggestion, feature request, a pull request, or filing a bug – your effort is always appreciated.

  • Two kinds of pain

    There are two kinds of pain in this world. The pain that hurts, the pain that alters.

    Robert McCall, The Equalizer (2014)

    This is such a profound thought. The way Denzel Washington delivers it in the movie makes it so much more intense.

  • Happy New Year 2023

    Happy New Year 2023

    Happy New Year 2023

    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.

    Rewind

    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.

    Health

    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.

    Travel

    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.

    Side projects

    I am in the middle of a project at the moment that I’m really excited to share with everyone in Q2 of 2023.

    Closing Notes

    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! 🍻

    Have a fantastic new year! Happy New Year 2023!

  • Argentina – World Cup 2022 Champions

    Argentina – World Cup 2022 Champions

    Argentina have won the World Cup 2022!

    Leo Messi is the greatest footballer ever to set foot on earth.

    Leo Messi is the GOAT

    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

  • Telegram channel for IAM.MT

    Telegram channel for IAM.MT

    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

    IAM.MT to Telegram Updates
    IAM.MT to Telegram Updates

    If you want to set one up for your own blog, here’s the official setup tutorial from Jetpack: https://jetpack.com/blog/publish-blog-posts-to-your-telegram-channel-automatically-with-jetpackwp-bot/

  • Happy New Year 2022

    Happy New Year 2022

    Happy New Year 2022, everyone!

    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 –

    Overview

    Health

    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.

    Side Projects

    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.

    Travel

    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.

    Hiking

    In April, my sister’s family came to visit us and we did the Round Top, Volcanic and Skyline Trail Loop.

    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.

    Learning

    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.

    New practices

    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.

    Resolutions

    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!