Personal Updates July 2022
Some life updates, tech I've been learning and books I've been reading
It has been months since I posted anything of substance, so here's an update of what I have been learning, reading and working on.
What have I been up to?
Work-wise, I am still on the same team, working on the same React product for the same client at Staizen. Earlier this year, I got promoted and I am now a Mid-Level software engineer. I have expressed interest in pivoting to a full-stack role, so be prepared to hear more about that soon ✌️.
I gave an internal Brown bag session in front of half the company about Apple Shortcuts, what they do and how I use them every day.
Studies-wise, I am still a full-time Computer Science undergrad at NTU, projected to complete my program in December of 2022. ~yawn~
Right, I am also the personal owner of a new Macbook Air with the M1 processor. Not the best timing, but more details will follow, so keep reading.
Have been learning
NestJS - In preparation for my transition to a (relatively) full stack role, I took a Udemy class to learn more about NestJS and other backend concepts. On a high level, both the frontend and backend platforms are functionally the same, we fetch data from a source and parse it into a format friendly for consumption. But due to each's unique constraints, both platforms have very different and creative ways to solve their respective problems. That Udemy course I took jolted my memory of many backend concepts like ORM, Entity patterns, containerization and low-level programming styles like decorators.
AWS - Did I mention? I am currently a AWS Certified Cloud Practitioner. Here are my thoughts on the certification. It has a duality focus on both technical and operation concepts of AWS. On one hand, we are required to know basic IT and cloud concepts with context about AWS services like Route53 or S3. On the other hand, we are tested on areas like S3 billing, IAM access and coming up with solutions for basic compliance cases. Overall, I think it's a well-balanced entry-level certification.
Have been using
Locality of React file structure - I started adopting a pattern of locality to organize my react components, both at work and for personal projects. This concept is super simple. Code that operates together should be placed near each other.
- An API call that is used only within this page? Put it right beside the page component
- A style that is shared within 2 components in this widget? Put it beside the widget component
- A bunch of table renderers that are only used in this one table? Put it right beside that table component
By grouping files similar to how the render tree looks, it expresses clear intent of its purpose and we can categorise the code visually just by looking at its file location.
New Computer - A few months ago, I got fed up with the unreliable performance, unsatisfying battery life and unreasonable heat coming out from my ThinkPad laptop. I was waiting for the M2 Macbook air to be released, but Apple was dragging on their feet. Some rumours pointed to an announcement in January, but it didn't. And then March rolled along, still no announcement.
And then April came and now there are two opposing thoughts in my head. I could either wait until WWDC where Apple might kick the ball (i.e. Macbook Air with M2) further down the road, or I can buy the current Macbook Air, a product whose price, performance and reliability are well known and beyond satisfactory to me. So, I pulled the plug on a new Macbook Air M1 in April of 2022 and I never looked back. WWDC came along and the Macbook Air M2 is announced. Did I regret buying the Macbook Air that early? Maybe, but today, right in this instance, I have an actual product on my hand that I've been using for months, whose performance is beyond what I need, battery life beyond my expectations, all for a reasonable price.
Mac Apps I love - Now that I am fully immersed in the Apple Ecosystem, here are a few apps that I learned to love
- Things3 - this is really pricy, but it has excellent Shortcut support and you can see the thought put in by the developers through the collection of keyboard shortcuts, beautiful widgets and tons of well-thought-out features
- Speed Reader for Safari - if you haven't heard of Bionic Reading, it is a reading system that improves focus and speed, check it out
Mac Apps that shouldn't need to exist - As much as I love Apple's incredible software design, there are some fundamental flaws, most of which are patched by these applications
- BetterMouse - if you connect an external mouse, you can configure everything. From setting gestures, removing mouse acceleration, setting the scroll acceleration and direction
- AltTab - I very much prefer the per-window on each desktop switching on Windows11 you get with
Alt+Tab
as compared to the unhelpfulCMD+Tab
on the Mac. This app brings back a Windows11-like behavior for changing between opened windows - Rectangle - MacOS doesn't have great window management support, thus this. Many YouTubers will recommend Magnet, I have never tried it since Rectangle is free to use and (as far as I am concerned), does the same thing
Non-tech topics I am reading up on
Yes, I am a human being with interests outside of tech.
Introspective but not boring
Books that provided a different perspective on life and helped me to reflect.
- The Midnight Library (fiction) - a beautiful fictional book that explores the concept of regret and the consequences of the decisions we make and how it affects us for the rest of our lives
- Thanks a Thousand (non-fiction) - an author tried to thank every person who made his morning coffee possible by going on a gratitude journey
Historical Fiction and Genocide
Books that helped me to understand the lives of a previous generation at a different time under very different, very painful circumstances.
- The Book Thief (historical-fiction) - a story of a young girl trying to find her identity in Nazi Germany between stealing books and keeping the Jewish refugee in her family's basement a secret
- The Rape of Nanking (history) - while WWII was happening in Europe, the Second Shino-Japanese War took place in parallel in China. Unspeakable atrocities ensued when an aggressive inhumane army marches up to a defensive-less city with unmotivated soldiers and innocents civilians to fend for themselves
Reading for the joy of it
Nice chill books to read on the weekend or before bed time.
- A Wizard's guide to defensive baking (fiction) - a cute children's book about a teenage bread wizard becoming her city's main line of defence against invaders. There's not much to learn from this book; it is super cute and enjoyable to read and great when you want to take the edge off a long week
- Artemis (science-fiction) - Andy Weir explores how a moon colony will function socially. How different ethnicities interact, how the social order is maintained and the creative financial exploits for lunar natives
Follow me on my Telegram Channel @devstuff for daily reads about software engineering and web development.