Categories
Learning Thoughts Weekly

Weekly: Building a second brain part 1

This came about because of something I discovered recently about building a second brain. The prospect of it is extremely enticing for me.

Idea is that over time you build a second brain that is like a digital collection of all the knowledge that you’ve gained over your lifetime.

As someone working in the digital field, the amount of information that I go through on a daily basis is pretty huge. I’ve been taking notes for a million and one things, but I realize that I’ve almost never really gone through my notes and make something out of it. Which I felt has been really wasteful because, why would I even write them in the first place if I’m not going to use it? How many % of the things I’ve written can I actually remember in my dumb human brain?

Armed with the motivation to build a digital brain that I can tap into for creating new ideas and products, I embarked on part 1 of the journey.

Finding the right tool

The “original” tool (that I know of) is known as Roam Research, however, it’s a web only tool currently, and it’s a paid service of $15/month. This makes it slightly undesirable as I would prefer if it’s something that I could potentially migrate/export out of the system. I also wish that there exist a free option that I can try out to see if this second brain business is something that I really want.

I checked out 8 different not taking tools to see what works for me and compare across them.

Categories
Development Thoughts

Gitlab MR Bot

I’ve recently write a simple merge request “bot” for my team. To be honest it’s more of a glorified reminder but hey, it works! I’ve done a slightly more technical write up at dev.to.

Summary: It’s a bot that will collate all the open Merge Requests we have on our private and public Gitlab repositories, that have the Review Me label, but don’t have at least 2 reviewer labels yet, and send it to our Slack channel.

It’s been running since 3rd August, and in this post, I just want to note down my observations for the past 20 days.

The Positives

More people are actively taking on the role of reviewing the MRs. Before the bot our scrum master has to manually collect them and bring awareness to the team that there are MRs that needs people to take ownership of. But for the past 3 weeks, it seemed to have improved. Most of the times when someone ask for reviews on their MR, we usually have 2 people who take them up before the next reminder*.

*the reminders are set to run at 11am and 3pm (4 hours apart)

The team seemed to be quite receptive of the bot reminding them about the open MRs, the little easter eggs of encouragement seems to help with the team morale from time to time as well.

The Negatives

Hard to quantify, but the time taken for an MR to get approved seems to have shortened, which may indicate that people are more eager to approve and may not review as thoroughly. Case in point, I approved one MR that contains relatively inefficient code, that was pointed out my my colleague when she was working on that section.

People are taking on the role of reviewing but sometimes it slips under their radar and forget to approve even when all the issues have been resolved. I guess this is something that the bot can improve on but don’t really have a clear idea of what can be done about it yet.

Overall

I’m glad that I wrote it. It didn’t really take a long time, just some inspiration and inconvenience that prompted it. I am carefully considering adding metrics for how long an MR stays open for and all that. But I feel like this might create unwanted attention into our work so it’s something that I haven’t explore deeply into yet. But I think it would be pretty interesting!

Categories
Deployment DevOps Learning Weekly

Weekly: Migration

The past week has been extremely exciting and nerve-wrecking. My team has finally completed the migration from on-premise to the cloud. It’s the first time that I’ve done anything like this and I’m blessed to have someone senior to lead us through the migration period.

ps: I wrote but forgot to post so this was actually 2-3 weeks ago

I’m a part of the MyCareersFutureSG team, so our users are the working population of Singapore, and we host hundreds of thousands of job postings, so there are definitely some challenge in migrating the data.

It’s the first time that I’ve handled such huge amounts of data when migrating across platform and the validation and verification process is really scary, especially when we couldn’t get the two checksum to match. It’s also the first time that I’ve done multiple Kubernetes cluster base image upgrade rollover. There were multiple occasions where we were scared that the cluster will completely crash but it managed to survive the transition.

Let me sum up the things I’ve learnt over the migration.

  • When faced with large amount of data, divide and conquer. Split data into smaller subsets so that you have enough resource to compute.
  • When rolling nodes, having two separate auto scaling groups will allow you to test the new image before rolling every single node.
  • If you want to tweak the ASG itself, detach all the nodes first so that you will have an “unmanaged” cluster, then no matter what you do to the existing ASG, at least your cluster will still stay up.
  • When your database tells you that the checksum doesn’t match, make sure that when you dump the data, it’s in the right collation, or right encoding format
  • Point your error pages at a static provider like S3, because if you point it at some live resource, there’s a chance that a mis-configuration will show an ugly 503 message. (something that happened briefly for us)
  • Data less than 100GB is somewhat reasonable to migrate over the internet these days
  • Running checksum hash on thousands and thousands files is quite computationally and memory intensive, provision enough resources for it.

Overall, the migration actually went over quite well and we completed ahead of time. Of course, the testing afterwards is where we find bugs that we have never found before because it’s the first time in years that so many eyes are on the system at the same time.

The smoothness is also thanks to the team who has carefully planned the steps required to migrate the data over, as well as setup streaming backups to the new infrastructure so that half of the data is already in place and we just need to verify that the streamed data is bit perfect.

Since it’s been a couple of weeks since this happened, I realize that I am lucky to be blessed with the opportunity to do something like this. Cause I’ve just caught up with my friends and most of the times, their job scopes don’t really allow them to do something that far out of scope. Which… depending on your stage of life it could be viewed as a pro/con. I’m definitely viewing this 4 day migration effort over a public holiday weekend as positive cause it’s something not everyone can experience so early on in their career!

Categories
Keyboard Weekly

Weekly: Drop CTRL Keyboard

I think I missed out two weeks of entry because well… more discipline is needed when writing. However, it has been a really good two weeks because a lot of my purchases has come. One of the most notable one is the Drop CTRL Keyboard. a TKL keyboard that I’ve had my eyes on ever since it launched but couldn’t justify the purchase back then.

The version I got had a black aluminium case, with Halo True switches. This is my first experience with a more “premium” switch that isn’t Cherry MX or Gateron. It is also much heavier than I’m used to at 60g actuation force.

It felt way heavier than I’d liked at the start, but I’ve gotten used to it over the couple of weeks using it, and I’ve really gotten to liking how it feels. The tactile bump is much more pronounced than anything that I’ve tried before, and the very high force required for me to bottom out means that I rarely bottom out they keys which results in a quieter typing experience overall.

I’ve disassembled the keyboard, and lubed every single one of the switches with Krytox 205g0, also clipped, lubed and bandaid moded the stabilizers. All in all, it feels amazing and I never want to go back to using a keyboard that isn’t lubed like this anymore. The unfortunate part was that when I was lubing the stabilizers, I couldn’t get my hands on some thicker grease which would help with the dampening a little more. That has been rectified since.

I’m starting to build up my mechanical keyboard collection as I dive more into this hobby.

  • Krytox 205g0
  • Krytox 105
  • Superlube dielectric grease (PTFE)
  • 20 x Durock T1 switches
  • 10 x Durock Koala switches
  • Switch opener
  • Stem picker (4 prong)

Also bought two custom keycaps sets waiting for them to ship in a couple of months.

I’m extremely excited for GMK Mito Laster keycaps but I think it would only arrive next year, gotta keep my expectations in check.

All of these has made me realize that I really enjoy this hobby and I think I will consider getting more premium cases and boards next year. I am extremely curious about how it feels to use a keyboard with brass plate or carbon fiber plate.