Or how I became a hacker - A few months ago, I finished the Advanced Cybersecurity Program at Stanford University online, and I thought I would share my thoughts on it. For a while, I had been meaning to learn the basics of cybersecurity from a developer’s perspective. When looking at courses, many were either very risk-focused...
My latest hobby - For those of you who’ve read my blog or know me in person, you would probably not be surprised that even outside of my 9-5, I am found not far from my computer. Most of my hobbies involve being at a computer, which, after years, has finally taken a toll...
And I don't care... - Last year, during a particularly hectic period, I neglected my email inbox and regrettably overlooked several warnings from my domain registrar about the impending expiration of my domain, brendonbody.com. I had owned this domain for over 10 years, and while it had expired once before, I was always able to...
My exam preparation experience - Over the past few years, I’ve aspired to earn the AWS Solutions Architect Associate certification. Despite facing setbacks and procrastination, I finally committed to a three-week study plan that culminated in taking the exam. I’d like to share my study journey, highlighting the steps I took and my thoughts on...
For when you can't commit to a language or a version - I am a simple man. I want to keep things simple. I want to clone a project from GitHub and have it Just Work™. Over time, my projects have ended up using different languages and different versions. This was fine when I was just using Ruby for a single project,...
Nose to the book...stone - In the past, I would normally write about my New Year’s resolutions, but most of my goals are too personal, so I don’t feel comfortable sharing them anymore. Instead, I thought I would share the books I plan to read this year. I don’t have a preferred method of reading,...
GitHub does my homework for me - It feels like over the last few weeks ChatGPT has been on everyone’s lips. However, I don’t want to talk about that today. Instead, late to the party as always, I want to talk about GitHub Copilot. Years ago, I tried a tool that used AI to generate unit tests....
Developers sitting in the slow lane - I have wanted to write this article for more than five years, but I have struggled each time I have tried to write it. Recently, I felt a sense of clarity, so here are my thoughts. I was originally inspired by something a colleague said. When I worked for a...
Procrastination productivity - Like a lot of “wantrepreneurs”, I’m guilty of binging Shark Tank and Dragons Den more than I’d like to admit. So I built something to make my binge more efficient. When watching these shows I often find myself looking up the company in the video. Asking: Are they still around?...
Getting to inbox zero with Gmail - When talking to friends and peers, they’re always surprised that my inbox usually has fewer than 30 emails at any point in time. On a good day, it will even maintain inbox zero. They accuse me of having too much free time or claim they don’t have enough time themselves....
Should you share your embarrassing code? - A friend of mine has recently been working on his own game engine. I don’t know much about game development, but to me this seems like an impressive feat. I have been encouraging him to put his code up on GitHub (even if it is a private repo), so I...
Why should only dogs get to eat all the good stuff? - Dogfooding: the use of a newly developed product or service by a company’s staff to test it before it is made available to customers. – Lexico Powered by Oxford The origin of the term is somewhat disputed as to whether it was a human or dog that would try the...
Reducing the time I spend testing - While interviewing for jobs the topic of testing often comes up, in most of my roles I have advocated testing and even introduced it. To the interviewers’ surprise, some of my personal projects have test suites. Personal projects are often things you do for fun, a way to learn/express creativity....
The team members who enjoy doing boring testing and deployments - Often in my work, the CI/CD process has been handled by someone else and I’ve very rarely needed to peek behind the curtain. I think names like Jenkins and Travis are great for CI/CD tools; I tend to anthropomorphize them, thinking of them as team members. When explaining CI/CD to...
Or How I Learned to Stop Coding and Love the Result - Despite it being a long hard road, one of the skills I have inadvertently picked up over the last few years is knowing when to stop a project. It hasn’t been easy nor am I perfect at it, but every project should end at some stage, this is even in...
What's going on in my ears - One of the questions I often get from friends and colleagues is: what podcasts do I listen to? To be honest, I am not a big podcast person—I would say I consume audiobooks more. However, I do listen to a few podcasts, probably once or twice a week, normally during...
Because electronic emojis are so 2016 - Riffing off Framed Tweets, I thought of an idea of sending a small violin to people in the mail. After some research on Alibaba, I found little violins (think brass figurines) were a bit more expensive than I expected. So I went back to the drawing board and somehow came...
Or how I learnt to pursue my ideas - Like most of us, I have my fair share of ideas that I want to pursue. For many years I had many books, courses, projects, and other endeavors that I wanted to pursue but never really got them done. Recently, while talking to a friend about a few of my...
A physical reminder of size - When I worked in an E-commerce company, performance was important although to the developers’ dismay, not very important to the business. This changed once we started using Google’s Impact Calculator, it provided a real value to what load time could do. One night I couldn’t sleep, so I was browsing...
Useful before ECMA6 - In my first frontend web developer job, I worked with AngularJS… yes, you read that right, AngularJS 1.x. Unfortunately, the build process couldn’t be changed to transpile from ECMA6 to ECMA5, so no ECMA6 Template Strings were available. I found myself trying to automate boring and repetitive tasks, similar to...