One of the duties as a Male in Singapore is to serve the national service, and we are called back between 1-3 weeks every year for our “reservist” until we reach MR or “operational ready”.
The past 2 weeks was my turn, and I decided to bring in a cheap $200 android tablet and a keyboard to see how far I could push it. In other words, I want to see what else I could do with it other than just consuming media.
It started with curiosity of finding out how close to Linux I can get Android to be. Termux is an awesome terminal emulator that provides an almost desktop-like experience. I will have a separate write up on how I customized it.
Ever since I’ve taken on the role as a full-time devops in my new team, the amount of tasks that I have to juggle in a workday has exploded exponentially. I’ve written/complained about it nearly 2 months ago on organizing chaotic information.
It is now time to share what I’ve tried, what worked and what didn’t.
Food for thought used to be a series in my old blogs for something that I just dump my random musings, I’m reviving it now because I’m in a new phase of life.
Up until recently, I felt that people are jaded/spoilt when they spend “unnecessarily” on things they want instead of things they need, or getting the more premium option when the normal option would’ve worked fine.
But after reviewing my spending trends across the past year, I feel like I’m starting to become that kind of person. For example, taking a cab used to be: “I’ll take a cab only if I’m really tired or it’s really just way too troublesome to get there”. Nowadays it’s more like: “I’ll take the public transport only if I’m feel energetic and I feel like it”.
I’m attributing this change to having a job, and not having many obligations (yet). “Adult money” as me and my partner would like to call it, is dangerous to us. Given the means, there is an increasing number of things where it does not makes sense to spend the extra/time and effort when money can solve it.
When I think about money as a function of my life energy that I’m exchanging for, I want to spend the remaining life energy (and time), on the things that I truly care about. When I’m meeting friends, the part that matters is meeting the people, not the travelling to the destination. If I can find a tool that gives me a better working experience, it’s worth the extra because it reduces the friction of doing “something”, which has a multiplicative effect on the consumption of life energy.
function of life energy: spending X amount of life to get Y money.
I feel that the relationship between income and the amount someone is willing to spend on conveniences is approximately proportional. The (rough) graph drawn below shows the relationship, and I feel like I’m breaching into the conveniences territory which prompted this FFT post.
This also reminded me of The Last Bit in the Container post I’ve read may years ago. TLDR; squeeze your toothpaste if it only takes a few seconds, else it’s not worth it.
Light bulb moment
Have I been misunderstanding those people who have been spending for convenience and quality of life? Is this because that I have not reached the same phase of life as them?
Moments like this really make me hit the pause button and think really hard about my life.
An interesting conversation I had sometime ago was an advice to “be kind to the older folks in IT” even though sometimes their ideas/suggestion may seem very outdated. It’s because their reality has been shaped by the experience of working with the older systems and they have learnt many lessons the hard way; instead of dismissing it as “irrelevant in current context”, it could just be an old solution to a still plausible problem (that we may have missed).
I feel like I’m experiencing the “You’ll understand when you’re a parent yourself” moment before becoming a parent.
Getting back on track, I don’t think I would change my spending drastically even with this realization because I’m still able to justify for them. What I would do instead, is question myself: “would this money be better spent invested in something?”.
(Ending off this post as I sip coffee on my new $20 thermos mug)
In preparation for my upcoming AWS Exams, I’ve gotten some PDF materials to go through and study. However, the formatting of the document is terrible, and it made it really hard for me to study.
So I moved to my iPad, hoping that some Apple magic might help with making the text more readable instead of sprawling across the entire width of the screen. That didn’t help.
“There has got to be a way to reflow the text”, I thought. I ended up downloading 3 different PDF reader apps looking for that magical bullet that would solve all my problems.
One didn’t have the functionality
One worked but it made the format worse
One works beautifully, but I cannot annotate or highlight in the “Reflow” mode which made it basically useless for studying
I gave up on the iPad and I thought, there has to be a way on the Desktop that would help me to reflow the text. My default go-to PDF reader: SumatraPDF didn’t have that option. After Googling for way too many minutes, there was basically no obvious option that could solve my problem of having reflowable text and still annotatable (and free).
It was when I came across (rediscovered) that yes, you could convert a PDF into a Word document. So I quickly searched for “Word” in my start menu and guess what, I don’t have it; because I recently formatted my computer. The version I had in the past was my education version that I shouldn’t have access to anymore. But I still tried, logging into my old school email to dig for that option that allows me to install Office.
That led me to searching online for what’s the cheapest way to get Office legitimately, preferably something that is a one-time license and not a subscription fee for a product that I only use infrequently. It was during this search that I saw someone mention that “education” should be free. I thought, okay, why not give it another shot.
Bam! Logging in with my student email through the official Microsoft Office site gave me an option to download a genuine version of Office that is properly licensed. The best part? I apparently performed some kind of voodoo in the past for claiming office, and the license actually belongs to my personal account and it all ties in nicely with my existing documents.
I finally have Word now.
Yes, it was able to convert PDFs into a Word document, no problem. This solves my reflow and annotation problems.
Then I thought, hey, doesn’t this mean that I could now study on my iPad?
Pushed the document over to my iPad then I thought, “wouldn’t it be nice to have Word here too”. I remembered that I was able to use it freely on my 8″ Xiaomi Tablet. Downloaded it, fired it up and it asked for my account, I logged in, only for it to tell me that
Confused, I did a quick check online, so…
Apparently, any devices >10 inches are considered professional use, which basically rules out all iPad Pros out there. Which means that I would need to purchase a subscription in order to use it. Nevertheless, this caused me to open the Pages app for the first time ever, and it managed to open up the document flawlessly.
It was at this point when my girlfriend asked me, “why not just print this out?”
In my relentless pursue for a digital solution to read a damn PDF comfortably, it totally slipped my mind that sometimes having a physical copy is much simpler and elegant.
The title sounds grander than this really is. It was one of those work days where I felt like I didn’t get much done. I checked my calendar and there wasn’t many meetings, only the one in the morning. It felt like a really busy day but I couldn’t think of a concrete task that I have accomplished that day.
As I lay in my bed, tossing and turning, being unable to sleep, I figured out why I couldn’t get my tasks done for the day, and came up with a simple workflow that would solve this.
Why I wasn’t able to work on my tasks
A day in the life of a software/devops engineer is pretty chaotic. You have various information requiring different context streaming in from multiple sources throughout the day. For example, I was working on updating some configuration mapping on Kubernetes for our new SES SMTP Relay credentials. Then I get a message clarifying about a story that I completed yesterday, about a backend API written in GO. Then I had to join a meeting about decoupling our entire platform from an external service that many of our logic is intertwined with.
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.
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.
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.
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.
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!
Well, skipping the things that I had to do, one of the fun things that I’ve been exploring is Google Analytics. I’ve heard so much about it, and we actually used it in my current team (just that I haven’t really worked on this portion yet).
Went through the GA For Beginners course and it actually gives me a nice little certificate of completion. So that’s nice. I’m bringing this up because I want to experiment with it, which means that I’ve integrated it with this blog, as well as my landing page. Hopefully I can get some kind of metric at the end of the month. Unless the visitors of my sites are all bots, which would be a little disheartening.
The past week has been pretty hectic changing between roles as a dev and ops, helping out with other projects till 2-3am every day has really taken its toll and I feel old.
Unsurprisingly, I haven’t been able to really work on any of my own projects but I did learn something interesting that I wish to write about.
Recently facing an issue on Gitlab CI pipeline, where I want to run integration/regression tests on the latest docker build. However, since each image is meant to be production ready, it means that it will be ran as a non-root user. Which means that it will restrict what the user can do when the container starts. Here’s why this problem has caused me such a headache.
Beware, below is really more of a rant about the troubles I faced.