The Spell

“It’s so hard to read this gibberish!” Dina said to herself with the stolen spellbook open in front of her. “There must be a better way to get a prom date!”

“No, this is all Adrian’s fault!” she reasoned. “If only he was in love with me, then I wouldn’t have had to resort to magic!”

She was by no means an experienced spell caster. She was far from one. Dina had spent exactly
one day under the tutelage of the Great Theodore, one of the school’s most powerful wizards before she found herself stealing one of his advanced spell books and attempting spells beyond her means.

Tonight was the school’s prom night and she had decided to test the seduction spell on Adrian because she wanted a dance. Things didn’t go accordingly, and she killed everybody in the vicinity instead. Now she was by herself, trying to figure out how to undo the damage.

Dina flipped through the pages of the book, looking for pictures that resembled mass resurrection. There was nothing as far as she could see. “Maybe that’s in volume two…”

Nearing the end of the book, her eyes widened when she saw a drawing of what appeared to be a tombstone with a crack going through it. “Could this be the spell to raise the dead? Only one way to find out.”

Dina cleared her throat, raised her wand, and did her best to utter the words on the page. “Du’s ra tha rath guia eh ko luu chai!”

Her wand started glowing and lighting shot out from its tip to the corpse closest to her, and bounced around from corpse to corpse, electrocuting each body and bringing them back to life.

“Yes!” she exclaimed, happy that the spell worked.

As the previously dead people rose to their feet, they all looked at Dina, eyes blinking in confusion, demanding an explanation. Eventually, everybody was alive in the hall, including Adrian who was now stumbling towards Dina. However, the lighting continued bouncing around and started striking people once again, sending their bodies into convulsions before turning them into ash and ending their second lives.

Dina realized what was happening and quickly returned to the book for a spell to end her previous spell.

“Dina, what’s going on here? Did you do this?” asked a dazed and concerned Adrian.

“No time to explain!” said Dina, as her eyes frantically scanned the pages of the book. “Ah hah!”

Raising her wand again, Dina yelled, “Suu kai la thri roos rhah!”

Her wand let out a small spark and quickly extended itself, turning itself into a lightning rod. The lightning redirected itself to Dina’s wand, dissipating almost immediately. “Phew.”

She collapsed to the floor, exhausted from the ordeal.


Haven’t done a writing prompt in a while, decided to get back into it today. Prompt from /r/promptoftheday “She resurrected”

An Interlude

“What happened to my drive to write?” some of you may have asked. Not really, I see the stats, people don’t come here for my rambling. But that’s okay. This blog is just an outlet for me to release what’s pent up on my mind (most of the time).

You see, I’ve had a lot of time to myself over the past month. There’s not much else to do when you’re not working. I guess I kinda took for granted how much of my time work took up. And to clarify: I’m not complaining either – I’m far from unhappy or bored, I’m enjoying my break a lot. I enjoyed it the last time it happened as well.

What I am anxious about though is my next job. I’m still not completely sure where I’ll be ending up (I’m supposed to have an answer tomorrow). I’m also tired of having to explain to people I don’t know where I’m going yet – because I don’t. Can’t wait to get that out of the way.

In any case, I’ve been spending a lot of time catching up on shows I’ve been meaning to watch, playing games that have been sitting around in my Steam library, and even picking up the guitar to figure out some new chord progressions. Heck, I even completed a Unity 2D platformer tutorial the other day! Life has been great – I know this state is only temporary, so I’ll enjoy it while it lasts.

Speaking of being productive, I’ve been updating Animal Bus weekly. It’s been pretty tough trying to maintain the schedule, but I can tell you firsthand that it’s not easy. I understand why people work in teams – honestly, if I had the money I’d probably hire a letterer, colorist, and artist to help me out. Mainly because I’m lazy, but also I’m terrible at visuals and would like to stick to just writing. However, the comic isn’t dead yet, so I’ll keep pushing out new chapters until I’ve decided that I’ve had enough. In the meantime, if you haven’t read it yet – check it out.

I rarely write about books, despite my book sales background (lol). However, I feel that Richard Dawkin’s Outgrowing God is too important to not share about. If you want to read about why religion and believing in it is inane, look no further. Dawkins gets his points across in a succinct, sometimes funny, and easy to understand manner. Highly recommended if you’re interested in challenging your faith or reaffirming your beliefs in a godless world.

Angry at a Thief

“Life is what you make it” is a common phrase that I say all the time and believe in. Sometimes it becomes interesting even if you don’t do anything. I guess you could say this was my fault, but let me begin.

I leave my flip flops outside, on the welcome mat of my home. I have been doing that for years with no issues until a couple of days ago. There’s always a first time for everything.

As I was about to head out of the house in the afternoon, I realized my flip flops were missing and in their place was a hideous pair belonging to a stranger. “What the fuck?” I exclaimed.

I asked my mom if she had brought my flip flops into the house – negative. I told her that they were gone. She laughed. I wasn’t so amused about it.

They were my favorite pair of flip flops! And they weren’t cheap! And last I checked, Miniso had stopped selling them. I was pissed off. Immediately, I began to wish the worst upon whoever had switched my footwear. I was talking to myself, calling the thief all sorts of names. My mind began generating evil thoughts – leaving out another pair of flip flops with diseased needles protruding from the bottom, the thief getting his/her foot trapped in an escalator, the thief stumbling down a large flight of stairs to their death – everything under the sun. I had never hated someone as much as I did that day.

It took me a day to cool down until I returned home and saw that my flip flops weren’t on my welcome mat, which reminded me of that miscreant. I was still mad.

I haven’t been this angry in a while. I know my words don’t hold any power, but it is cathartic to let it out.

To the owner of the flip flops above (who knows if they were stolen too): fuck you, you lowlife degenerate. I hope stealing my flip flops will be the cause of your downfall. May you and your family be plagued by foot diseases, victims of abuse, and robbed blind. Sooner rather than later. You don’t deserve such comfortable footwear.

GNGKB75: A Custom Keyboard

The Design

Earlier this year, I spoke on The Board podcast about plans creating a custom keyboard of my own. I had no idea that it was going to be a project that I’d finish before the year ended.

I was thinking about what kind of layout I wanted for my custom keyboard, I decided I needed something to replace my daily driver (a KBD 19X). I would have used one of my many HHKB layout keyboards at home, but they were missing the dedicated F-row which I needed for gaming. That became my starting point for the keyboard – an HHKB layout with an F-row.

For those of you wondering why didn’t I just buy the EVE Meteor, when it was on sale I was still new to the hobby and wasn’t sure about dropping that much money on a custom keyboard (let alone one that I had to solder). The GNGKB75 was inspired by its design, along with the Plum 75. The TX-75 would have been my next choice if I didn’t commit to this project.

The PCB

I drew up what it would look like in Keyboard Layout Editor and pitched it to Don, who gladly took the design and started working on the PCB. During the process, contrary to what he initially assumed, we both learned that I knew nothing about making keyboards. It was an entertaining back and forth process (thanks for being so patient with me) which didn’t take very long.

For the layout, it wasn’t anything special – just a regular HHKB layout with a row for the function keys. In my original layout, I had left some space in between the number row and the F-row – Don missed it out (it was only discovered after the PCBs had been sent for manufacturing), but it wasn’t that big of a deal to me – at least the gaps separating the blocks of F keys were still present, which was more important to me. The gaps beside F clusters allowed me to hit the keys on the sides without looking at the keyboard (important for gaming).

There was the question of what to do with the additional key on the top row – Don suggested a rotary encoder, which I was immediately on board with. I thought it gave the keyboard a nice touch, was in a nice position, and I enjoyed using the one I had on my Planck. It also gave him the chance to experiment with using encoder footprints on the PCB.

The Case

For the case of the keyboard, I had wanted it to look like a Model F – however, after learning how much it would cost to create such a case, I scrapped those plans and decided on an acrylic sandwich instead. Again, Don whipped up the files for the plates in no time. I got them cut at a local shop (thanks Evolve3D!)

However, I learned that the plate for the keyboard wasn’t perfect when trying to put it together. There was something wrong with the size of the holes for the switches – when one side had the switches put in, the other side would be crooked, and when I straightened the crooked side first, the other side would become crooked instead. To solve this, I used a filing tool to expand the affected holes by about 1mm, and all was fine.

Unfortunately for me, I only noticed this issue after I had soldered the switches in (I have nobody to blame but myself) so I had to spend time desoldering the switches first – which lead me to lift one of the pads on the PCB. This meant I had to jump the switch using a wire – a new experience for me.

The Flaws

One of the problems building my prototype was the switches I used for the keyboard – Everglided Oreos (from Drop). The switch for the space bar was having trouble returning after I put the keycap it on. Initially, I thought that I had installed the stabilizers wrongly, but after checking them thoroughly, it wasn’t the case. I thought, maybe it was a problem with the plate – I filed the stab and switch holes down to no avail. I thought, maybe I had too much lube on the stab, so I wiped it off – no difference. I tried using the switch and stabs with no plate – again, it didn’t help. I went through about five different switches, still no improvement. In the end, I replaced it with a T1 switch, and everything was well again. Based on the solution, it certainly seems like a fault of the Oreo switch, but I’m not convinced – the switch spring isn’t even that light. Anyway, the space bar returns normally now, so I don’t have to worry about it.

The hardest part about building the keyboard? The long wait for all the parts to arrive (diodes, standoffs, screws, etc) so I could build it. It was then about a day of troubleshooting, including desoldering switches, filing the plate, and jumping a lifted pad.

Acrylic sheets not being exactly 3mm meant that my standoffs were slightly too long – I didn’t account for it, which meant I had some gaps in between the top layers of my case.

The corners of the acrylic sheets are way too sharp – something I didn’t take into account during the design stage. The blockers for the F-row cluster gaps are also missing (an oversight).

The Future

This was my first time dipping my toes into the keyboard designing experience, and I had a lot of fun doing it. While my first keyboard isn’t perfect and there’s plenty of room for improvement, I’m happy that it has been completed and I have a functional input device to use. This post was written on it!

If I were to continue to improve this keyboard (which I’ll probably do in the future since I still have some extra PCBs), I would make the following changes:

  • Include rounded corners so my keyboard doesn’t accidentally cut anybody
  • Figure out what caused the plate to be cut incorrectly so no additional filing needs to be done
  • Include blockers for the F-row clusters
  • Increase the size of the standoffs and screws to M3
  • Produce a metal case if I have the funds for it

Edit 2/1/20 – forgot to include the typing test video I recorded for the keyboard

GNGKB75 (Acrylic case)
– JTK Hyperfuse
– Everglide Oreo switches


If you’re interested in building one of these yourself, I’ve got 4 spare PCBs available – I can sell them at cost ($15) + shipping (depending on your location) – you’ll have to source the onboard components and case yourself. Just drop me a message (on Reddit or comment here) to let me know.

All files for the keyboard are open-source and available on Github.


Once again, thanks to Don for all his help. Without him, this project wouldn’t have even taken off. I would still be at step zero.

2019 Season Finale: Part Three

“The end of the year is here. What are you thankful for, George?”

That’s what I was asked earlier today. I replied, “I don’t have anything to be thankful for.”

It’s just another year. I’m still alive. Thank me for that?

After much consideration, I realized I do have things to be thankful for.

My family – for being the best family I could ever ask for. My little sister and her husband for hosting me earlier this year when I was in Austin, Texas for their wedding. My nephews for bringing extra noise and happiness into my life.

My bosses and colleagues for providing me with a wonderful environment to work in. I couldn’t have asked for better workmates.

Thanks to my friends, the year would have been dull without you. Thanks to my girlfriend for putting up with me. Thanks to Spotify, Netflix, Youtube for recommending me random shows and songs to check out (Dragon’s Den is my favorite new discovery). Thanks to Post Malone and Dance Gavin Dance for the wonderful music.

Thanks to Valve for Dota 2, I still haven’t grown sick of the game yet (Underlords on the other hand…). Thanks to Don, and the wonderful The Board Podcast community for elevating my hobby to the next level (more on that in a future post). Thanks to the couriers who ensured all my deliveries ended up in my hands and not lost (there’s still plenty of room for improvement).

Thanks to Doiffee for the countless cups of long black.

Thanks to internet-webhosting.com for another year of hosting this blog. Thanks to the folks at WordPress for working hard on updating the platform. Thanks to Reddit for all the entertaining posts.

Thanks to Touch n Go for advancing Malaysia (if you’re not on the cashless train right now, you’re holding the country back).

No thanks to ASUS for the terrible laptop repair service. No thanks to double parkers for ruining the Malaysian driving experience. No thanks to people who pray for change. No thanks to people who ask you to ‘pm for price’.

2019 Season Finale: Part Two, Hello Oxy

Another post about being old, how boring


I’m now thirty-four, and I realize that I’m still facing some of the same problems I have faced many decades ago: pimples. By the way, did you know that acne and pimples aren’t the same things? The more you know.

I remember being the pimply-faced kid back in school. I was relieved when I grew out of it after many years. I’m not sure if it was the facial sessions I went to, me washing my face with skincare products, or just my body adapting to hormonal changes – my face eventually cleared up.

While I’m free from outbreaks, I still get the occasional pimple popping up now and then (probably due to my bad sleeping habits). The other day, I was thinking to myself, I should do something about a pimple that kept popping up in the same spot. I visited a pharmacy and bought myself a tube of Oxy.

I chose Oxy 10 instead of Oxy 5 because why would you pay for something weaker? (It didn’t occur to me that it would affect some people differently, fortunately for me, I haven’t experienced any side effects).

Long story short – I’ve started using Oxy daily for the past week, and man this shit is pretty good! While it’s not instant like pimple popping at a facial (god, that shit hurts), it has been very effective in taking care of the pimples on my face.

The other day a bright idea came into my head – why not try it out on the pimples on my ass? I’ve been bothered by a couple of pimples that have surfaced there and refused to go away.

And if you’ve been wondering about the answer – yes, it works. Not that you’ll be able to verify my buttcheeks, but you can take my word for it (or try it out for yourself). I don’t know why I was so surprised to find out that it was just as effective. Skin is skin, and pimples are pimples, right?

Well, I guess you do learn something every day.

2019 Season Finale: Part One

I’m not sure how many of these I’m going to write, but I thought it’d be good writing practice to just put my thoughts down about the year (and more) before the year ends.


And so, we’ve arrived at the conclusion of another year. Time to recap what happened over the past fifty-two weeks and plot down what’s going to happen next. This is kind of silly since we all know that time is a man-made construct and only has any value because that’s what we’ve given it.

Like who said one second had to be one second long? I feel like I’m rambling, but I guess it’s better than not writing anything on this blog. I’ve been slipping up, haven’t been updating as frequently as I have in the past, but that’s okay. I recognize it and I know that it’s not a big deal. I don’t have a thousand readers a day coming to find out what’s been going on in my life, and what’s running through my mind.

I’ve grown older by another year, and I feel like life has begun to slow down for me. I don’t do as much as I used to because I don’t feel like it. These days, I’m happy just chilling at home with a nice show, some twitch stream or just sitting in a cafe with a coffee and a book, or having a conversation with a friend. I don’t miss partying at all, it’s weird.

When I was younger, I enjoyed it immensely, don’t get me wrong. I don’t regret (most of) the times I used to spend with my buddies, getting smashed at clubs, eating Maggi Goreng at mamaks after and nursing a hangover the next day.

Sure, it was a waste of time in hindsight, which is probably why I don’t do it anymore, but it was just something I did in the past. I mean, if I was to turn back time, what else would I have done back then? Spent those nights studying or learning a new language? Probably way more beneficial, but also I wouldn’t have had all these alcohol-fueled experiences I’ve mostly forgotten.

I guess the main thing, is I had fun doing it, and it’s great to spend time with people close to you. That’s one thing that you shouldn’t take for granted. There’s no telling what’s going to happen to them in the future, you’ll never know when you’ll see each other again, and that reason alone is probably enough. Don’t regret spending time to have fun – if you feel like you could be more productive – start now. Unless something you want to do has a definite deadline (like traveling to the sun after 5 billion years (the estimated time it will take to die, in case you were wondering (wait, you’d be dead long before that))) – it’s never too late to do something.

The worst thing you can do is sit around regretting something you didn’t do in the past. Be the change in your own life, make the most of the time you have left.

On another note, I used to read my Facebook ‘what happened x years ago’ notifications daily. These days the only time I click on it is by accident or when somebody makes a comment or reaction to something in the past. Not sure why I stopped, but it hasn’t affected my life. Like religion. Or horoscopes. And personality tests.

Shaving Foam Revelation

For those of you who have been following this blog, you would know that back in 2015, I decided to upgrade to an electric shaver and haven’t gone back. My first shaver lasted me until earlier this year when I visited a barber for facial grooming.

The dude was using one of those head shavers but without any combs, so it cut the hair as close as possible to my face and was done in a matter of seconds (my beard isn’t very thick, unfortunately). Long story short, I was so impressed that I knew I had to get one of those shavers.

So after the shave, I spoke to the barber who showed me the shaver he used. A few days later, I found myself at Mr. DIY and saw one of those shavers for purchase. I knew I was going to get what I paid for, but I had never used such a tool before and I thought, better to try using a cheap one then regret buying something expensive.

I bought an RM30 shaver which worked well, but I dropped it on the floor a few months later, which caused it to stop working. I promptly took the opportunity to purchase myself this bad boy.

Quick breakdown
Pros: fast, efficient, painless (compared to rotary shavers that pulled the hair before cutting them aka my first electric shaver), super long battery life (I’ve only charged it like twice since I got it in April), comes with so many different headpieces and combs – there’s one for every situation, including nose hair and body hair.

Cons: you can cut yourself if you’re not using the combs. I took a really long time to shave confidently initially, but after many months I have become proficient with using it. It is kinda noisy, but shouldn’t be a bother if you’re not spending hours shaving (which you shouldn’t). Pricey, but I think it’s worth it.

Anyway, I’m not sure why I bothered writing out the history of my shaving devices but I thought I’d update whoever cared enough (or comes to this blog for grooming advice kek).

Well, remember the first shaver I bought? It came with a can of shaving foam that I thought I had misplaced, and found it last week and waited until today to shave off my Movember mustache.

And here comes the point of this whole post – did you know that shaving foam helps you not make a mess when you shave your facial hair?! Instead of it flying all over the place, it is stuck to the foam which you can just wipe off or flick into your sink. Holy shit, I never realized it until today! After so many years of shaving without it (I would only use it in the shower until I misplaced it and never bothered buying a new can) because I found it troublesome to clean up. But today, I discovered its other function! Whether intended or not (I’d like to think it was), I’m definitely not skipping it in the future. It also makes an already smooth shave even smoother. And you can pretend to be Santa Claus or old Hitler for a brief moment.

Sure, there’s an additional step of washing your face again after the shave, but you don’t have to hunt those hairs on your bathroom counter anymore! It doesn’t ruin the look of a clean sink! I’ve been doing it wrong all these years. I’m so glad I found my can of shaving foam.

Animal Bus Launch

It’s December, George! Have you abandoned this blog? Nope, just that I’ve spent the whole of last month drawing a couple of pages a day for Animal Bus. I’m happy to report that sticking to targets gets you results! (who would’ve thunk?) If you’ve been waiting to read Animal Bus, it’s here.

First up, I’d like to put a disclaimer that should put all your questions to rest:

The art style for this comic is going to be highly inconsistent. It will depend on my mood, what I use to draw, and the weather. Really. I haven’t locked down any of the designs for my characters, so expect them to change over time if I think of a cooler way to draw someone. Just think of it as multiple terrible artists working on the same comic, except that they’re all me.

I decided that if I don’t go ahead and push the comic out to hold myself accountable for keeping it updated, it would never see the light of day. I’m really good at procrastinating. So, instead of releasing something that’s completely polished, you’re going to see a mess of a comic. Sure, you can call me lazy or just full of excuses, or unskilled – I’m okay with that because it’s the truth. This comic is an outlet for me to fuck around with painting software and my Wacom Intuos.

I used a story I’ve written in the past just so I can output something cohesive instead of just putting out random sketches. Also, people have been wanting to read Animal Bus for a while, so why not kill two birds with one stone?

The art will be shitty, though hopefully (don’t hold your breath) it will improve over time. I’ll be drawing my comics on my PC, on my tablet, phone, and paper. It will be colored and uncolored. The only thing I can guarantee is text that is typed out since I have illegible handwriting.

Also, the story was written many years ago, and even though the meat of it has been determined, I’m working with the first draft of Nanowrimo script, so expect some plotholes, corrections, changes, and some things that don’t make a whole lot of sense because I may have overlooked them. My aim is to learn from this ‘project’, and if things go well, I can use the lessons to put out better comics in the future.

So yeah, head over to Line Webtoon to check out Animal Bus. Make sure to subscribe to be notified of future chapters. Enjoy!

Coming Soon

Announcing your projects is a good way to hold yourself accountable, right? At least that’s what I thought. I announced Animal Bus a while ago and I haven’t made any significant progress since then. Chalk it down to laziness. I’ve got no excuses and I’ve only got myself to blame. Then again, nobody has seen what I’ve done so far, so it’s not like people are asking for me to publish it.

Nanowrimo is just around the corner and I’ve decided that instead of participating this year, I’ll be working on Animal Bus instead. Yes. For the month of November, I’ll be committing myself to draw at least a page a day (according to NaGraNoWriMo – National Graphic Novel Writing Month, which was supposed to be in October, the goal is to write a 48-page comic script in a month). While I probably won’t be able to finish the comic within a month, at least I’ll have sufficient content for people to read. And if people are actually enjoying it, that will hopefully push me to finish the comic in the following months. If people don’t – I’ll still finish it anyway, it’s just something I want to get out there. So, look out for Animal Bus this December. I’ll update my blog when it goes live!

If you’ve been following my Instagram, I’ve been having fun participating in Inktober, so the momentum should carry through. Perfect timing.