Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

John Woods

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

Martin Fowler

If you think it's simple, then you have misunderstood the problem.

Bjarne Stroustrup

Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.

Larry Wall

Intelligence is the ability to avoid doing work, yet getting the work done.

Linus Torvalds

Adding manpower to a late software project makes it later.

Brook's Law

Posts for 2020

January


4
The GovTech Experience
"Son, you had me at Hello World."


8
An exploration of JavaScript's variable declaration keywords
"The looseness of JavaScript can be a boon in the sense that it's very forgiving, but in large-scale scripts, this can make errors hard to detect."


25
Film Review: Silicon Valley Season 5
"Not only do we get more of the same general tech-related hilarity, the team finally seems to be making strides after five entire Seasons of floundering."


30
Wuhan Coronavirus: A techie's random thoughts
"The Singapore Government will do what it deems fit, when it deems fit, which is pretty much their job in the first place."
February


2
Four Hundred Dollars Below Budget
"If there is a desirable result and you want to replicate it, it stands to reason that you have to repeat the process under the same conditions."


17
App Review: Paper Wings
"Paper Wings is a little more than your run-of-the-mill mobile game - it's a labor of love, and it shows."


21
POFMA saves the day... kind of
"Facebook doesn't have to like Singapore's laws - I'm not sure I'm entirely fond of them myself sometimes - but if Facebook wants to continue operating within Singapore, it is going to have to comply with those laws."


26
Five Good Questions To Ask Interviewers
"These are fair questions to ask, especially since interviewers consider them fair questions to ask you."
March


11
Some Rumination On Internal Links
"Internal Links aren't new. They've been around since HTML's birth."


15
More About Foreign Talent in the Tech Sector
"I see assimilating foreigners as a task akin to contributions into a code repository. The code comes from different developers, continuously, all from different backgrounds and programming styles, and is merged into a coherent whole that is far larger than the sum of all its parts."


21
Contact Tracing With TraceTogether
"TraceTogether is obviously a Minimum Viable Product that was hastily hammered out over the course of a couple sprints, and as such, there are sure to be a few rough edges."


25
A COVID-19 Election
"Some users only want security from a system as long as that security doesn't inconvenience them. Similarly, it seems some citizens are all for the concept of democracy but can't handle the ensuing obligations."


30
App Review: Wilderness Survival
"Make the wrong choice and you die. Make the correct choice and you might still die."
April


14
Google and Apple's Proposed Collaboration on Contact Tracing
"How do we balance a user's right to privacy with the immeasurable potential to save lives? There's no clear, correct answer."


19
Why some things should not be automated
"As outdated as I think my mother's worldview is, and as desperate as I am not to turn into my parents, I'm beginning to think Mom may have had a point there."


25
One Missing File
"As errors go, this was really elementary and I was horribly embarrassed."


29
Social Justice League: A TeochewThunder Project
"It's nothing more than an amalgamation of cultural references packaged in snarky homage to self-righteous SJWs everywhere. But I made it. It's mine."
May


20
Five ways to print a string ten times
"With any programming language, at your disposal, you have a set of tools - loops, variables, arrays, objects and functions - and with them, a programmer can solve problems."
June


2
Career Lessons From A Casanova
"If I want to interview successfully, interviewers have to be convinced that I genuinely want the job. And since I'm not that good an actor, I have to convince myself that I really fucking want that job."


7
App Review: Missing
"The creators of the game did a great job with the story here. It is kind of short, but compelling simply because it's based on real situations."


25
Making the contact tracing effort mandatory
"Maybe I haven't made myself perfectly clear the last few times I wrote about this, but fuck your precious privacy. Lives are at stake."
July


1
Code Cruft in the 2020 General Elections
"In other words, the assertion is that the Singapore General Elections are neither free nor fair, and your vote is not secret."


8
The Electoral Choice, explained in JavaScript
"Working to earn a vote that will never be given is nothing but a massive waste of time. Working to earn a vote that will always be given is also a colossal time-waster."


16
The Day The Penny Dropped
"That was when the lightbulb flickered. I was going about it all wrong."
August


2
GitHub's Arctic Archival
"Kind of like a time capsule with an apocalyptic twist."


8
Ten Problematic Tech Terms
"Naming things is one of the great struggles of software development. Congratulations, we just made it a whole lot harder."


12
When hubris is not a virtue
"People want to help you and share their know-how. All you gotta do is ask."


21
JavaScript array operations, the hard way
"Still, let's not let my youthful folly go to waste. Today, let's walk through how I managed to write functions to add and delete from arrays."
September


16
Reference Review: The Mythical Man-month: Essays on Software Engineering
"Brooks has an elegant yet chummy way of writing that puts you at ease, or to sleep - pick one."


28
The Math Behind the Halloween-Christmas Nerd Joke
"For years, I didn't get it, and honestly there were more fun things to do than obsess over this."
November


2
Film Review: Silicon Valley Season 6
"Silicon Valley is as loud and rude as ever, but it's (spoiler alert!) also pretty sad at the end."


26
Forty-eight hours with Red Airship
"I had everything to gain from this experience, and nothing to lose."
December


4
Five Ways To Reuse Tech Packaging Materials
"What if I told you there are uses for that shit? "


9
Cross-site Scripting Without JavaScript
"XSS is not about JavaScript."


26
A tiny Christmas e-commerce miracle
"Not only had it resolved the problem statement, it had exceeded my wildest expectations."
INFO

A collection of technical snippets and ruminations on the web industry and tech in general. Much of it is opinion-based, and as such, I fully expect people to disagree.

As with most opinion-based content, your mileage may vary.

RATINGS

Some posts are more popular than others. Here are what the ratings mean.

All-time high viewership.
Wildly popular.
Decent viewership. Moderate popularity.
TAGS

Some of these tags crop up frequently. Here's what they mean...

App Review
Where I share my thoughts on certain mobile apps I've used.
Applied Tech
Ruminations on tech happenings around the world and in society, how software technology has impacted us, and whether it's a good or bad thing.
Fiction Review
My findings in tech fiction.
Film Review
Movies or TV shows that revolve around technology.
Life As An Economic Digit
My thoughts on working life, specifically tech working life, though some of it is applicable generally - office politics, code of conduct, career thoughts.
Listicle
Little fun lists, because thoughts are easier to organize that way.
Profanity Alert
Sometimes the language I use isn't fit for polite company. You've been warned.
Redux
On the occasion that I revisit a previous blogpost, or issue a continuation of one.
Reference Review
Sources of information, be they programming books or online video tutorials.
Sexism In Tech
While I'm not a feminist or a raging SJW, I do firmly believe that coding is a gender-neutral pursuit.
Software Review
Mostly desktop software, or any software that isn't a mobile app.
War Stories
Not literally, but anecdotes I recall when I want to make a point.