Wearing dice on my head since 2008 Programmer, engineer, scientist, critic, gamer, dreamer, and kid-at-heart. Randomly amazed.

roytang.net

last update:

Discerning motives

| Categories: Philippines | Tags: politics

Scenario: Someone I know, let’s call him/her Person A, appears to be supporting Party B, who in my opinion represents some of the worsts traits of Philippine politics (including but not limited to corruption, patronage, personality politics, etc). Now, I like to be optimistic about people and give them the benefit of the doubt, so in a bid to understand I tried to list down some possible motivations for Person A to do so.

Zero Time Dilemma

| Categories: Gaming | Tags: vita

With the PS Vita recently being discontinued by Sony, I decided to work on reducing my Vita backlog a bit. One of the games I’d been meaning to play for a while now was Zero Time Dilemma, the third game in the Nonary Games trilogy. I’ve only previously played the 2nd game in the series, Virtue’s Last Reward, which is a bit appropriate given how the events in these games often unfold nonlinearly.

Another repost from my Quora answers, this time some info for anyone looking to move into programming. How much of what we learn in school helps us in real life? The stuff school teaches you - literature, mathematics, art, history, science, and so on - are intended to give you a broad enough base from which you can freely choose the direction you want to go in life. This means that as you specialize, many of these subjects may become “irrelevant” to you, but having this broad base of knowledge gives you a better foundation in life.

The Eternal Struggle

| Categories: Just Another Day | Tags: quotes

“If the world were merely seductive, that would be easy. If it were merely challenging, that would be no problem. But I arise in the morning torn between a desire to improve the world and a desire to enjoy the world. This makes it hard to plan the day.” - E.B. White I am fortunate that with my flexible working schedule I get to choose whether to derp around or to be productive every day.

Lies and marketing

| Categories: Software Development | Tags:

I mentioned before that as an engineer, I’m not fond of marketing. Image credit: Dilbert.com (Disclaimer: Liking the Dilbert comics is not an endorsement of Scott Adams’ politics) It’s not that I can’t be good at salesmanship either. I have a good grasp of communication skills and think I have a decent chance of writing good copy. My main issue is that I’ve been exposed many times to sales/marketing practices that just seem dishonest downright or scummy.

If I could give some advice to someone starting out in their software development career, it would be this: Don’t stay in the same place too long. The first company I worked at, I stayed with them for thirteen years, which I now feel was way too long. I have to admit, the work was hard and challenging, but I was young and had a lot of energy and was willing to work the long hours.

RIP Webfaction?

| Categories: Tech Life Meta | Tags: webfaction

A few months back, my current web host WebFaction announced they had been purchased by GoDaddy, which was worrying. Back then they hadn’t announced any details other than there would be some account migrations and single sign on, so it wasn’t a big deal yet. I initially joined WebFaction back in 2008 because they were a Python-friendly and developer-friendly host that had some reasonable budget options, allowing me some space to host this blog and any side projects I wanted to deploy.

I read this tweet from @GaryGulman, a standup comic who gives out tips for comedy writers: 70) Today, put together a list of the most embarrassing moments in your life. Take one or two and write them out in detail. Next time you’re in front of a warm crowd, work on telling the story. #GulManTip #WriteNow — (((GARY GULMAN))) (@GaryGulman) March 11, 2019 Today, put together a list of the most embarrassing moments in your life.

Routines

| Categories: Just Another Day | Tags:

I posted the other day about trying to get back into the habit of early morning walks. Unfortunately, I failed to continue that habit the very next day (hopefully I’m able to succeed on upcoming days). The main reason I failed is that I was unable to sleep early on the preceeding night. My sleep cycle is horribly irregular, given my flexible working hours. I tend to be easily tempted to take naps at odd hours.

Another repost from my Quora answers, this time some info for anyone looking to move into programming. What are the pros and cons of making your career in programming? Pros: It is a very rewarding career financially. Software development often ranks in the top 10 highest-earning careers in most countries There is a lot of scope - you could be developing web applications, mobile applications, embedded applications, client-side, server-side, data analysis, artificial intelligence, games, etc It is very difficult to be bored.

Break of dawn

| Categories: Daily Life | Tags: walking

I stepped out of the house a bit past five in the morning today. I haven’t done this in a while, taking my daily walk in the early morning. I used to do it pretty regularly, except back then I confined myself to the inner roads of our subdivision, or doing loops around the covered court in the nearby seminary. Walking the same routes every morning and doing repetitive routes got boring after a while, and combined with my erratic sleep schedule the habit soon fell off the wayside.

750 Words

| Categories: Writing | Tags:

I’ve mentioned 750 Words before. It’s a pretty neat service that allows you to write privately online. It’s not public like blogging is, so if you’d like to develop a daily writing habit but don’t want things to be available to the world, it’s a pretty good option. You can of course, just write on paper or on local files and just not upload anything to the cloud at all. But there’s some benefits to an online service like this one too - the most obvious one is that you can write anywhere, with any internet connected device, but they also have a few other nifty features like tracking streaks (which can be great for building habits), and 750words even allows you to attach daily metadata to your posts (such as a number indicating your mood for the day or how many hours you slept) and it can later show you a chart of how that metadata changes over time.

Unknowns

| Categories: Just Another Day | Tags:

Our instinct tells us to fear the unknowns, especially the ones that loom large in our imagination. The bigger the unknown, the more fear and uncertainty it generates, and in some cases it can lead us to paralysis and inability to move forward. Most often, the only way to conquer these unknown obstacles is to face them head on. Study them, attack them, break them apart, until you understand what they are.

Image source: r/GetMotivated It’s fun to think about what might have been, but often regret is tinged with optimism - the optimism that given another chance, we might have made different decisions and obtained better outcomes. But different doesn’t always mean better, so such visualizations are often pointless speculation.

Sometimes you just come up short. You try to work your brain but it always comes up dry. It happens, even to the best of us. There’s no shame in failure or in defeat. It’s only human. We can’t be at our best all the time, otherwise it’s not our best. What’s important is you pick yourself up and try again the next day. Tomorrow, we can do better.

Whatever doesn't kill you

| Categories: Just Another Day | Tags: quotes

“Whatever doesn’t kill you, only makes you stronger.” Nietzche I liked this quote a lot when I was younger and more gung-ho, especially about things like work. In fact, I may have considered it as a bit of a defining quote back then. I guess the idea was ‘ok, we’ll rush in and try anything, at worst we learn a lesson and be better for next time’.

RIP PS Vita

| Categories: Gaming | Tags: vita

The PS Vita has officially ended production. Sadness for the little handheld that could. The PSP that came before it was a juggernaut, and so was the 3DS it went into battle with. Unfortunately Sony never gave the Vita proper support, and third parties didn’t follow, so the handheld never lived up to its true potential. I haven’t had much opportunity for handheld gaming the past few years, since I don’t travel as much anymore.

If you haven’t figured it out yet, I watch a lot of TV shows, rarely on TV itself though. I outgrew scheduled television maybe more than a decade ago. I’m reminded of this because I was going through some old disks and found burned episodes of stuff like Smallville, Heroes, The Simpsons, various anime, and so on. Those were from the days before streaming though. These days an abundance of content is available online via the streaming services, no need to store all those episodes yourself.

Given my recent misgivings about Quora, I thought it might be a good idea to cross-post some of my answers from there into this blog, with some edits even. So here’s the first one! (stuff in italics were added during the cross-post) How can you read and study a large software project source code? Attacking a large, existing codebase that you are unfamiliar with can be a daunting endeavor.

Four Hundred Thousand Words

| Categories: Writing | Tags: Blogging

Sometime in the last week, I broke past four hundred thousand words total on this blog, as noted on the archive page. Four hundred thousand words! That number sounds insane for some reason. Over 17 years of blogging, that’s an average of 23,500+ words a year. I could have written like 17 short stories or 8ish novelettes or 3-4 decently sized novels. This post is just me navel-gazing over that number.

Ranked Ladders

| Categories: Gaming | Tags:

As I’m writing this, I’ve been grinding Eternal’s ranked ladder, trying to beat the end-of-month ladder reset and hoping to make Master rank again. Since this morning, I’ve been moving up and down the threshold of the Diamond I, the rank just below Master, hence frustratingly there has been little progress, less than 24 hours before the ladder reset. I usually do manage to hit Master rank a bit earlier than this, but I’ve been a bit busier this month for some reason, so my daily Eternal grinding had been reduced to the token one win per day.

Push off work

| Categories: Just Another Day | Tags:

The popular adage is that on your deathbed, you would not be regretting not having worked more. I think about this often, especially when there are people trying to convince me that I should do this work or that, because they have no one else to turn to or something or the work desperately needs to be done. It seems that there’s always work that desperately needs to be done, but if you look at it closely the consequences are rarely that life-altering.

Some things I’ve been watching lately, aside from the usual TV shows I follow: I watched Alita: Battle Angel, with the friend who introduced me to the series in the first place. The movie looked fantastic and the fight scenes were great. Plot was supercondensed, several books’ worth of story combined into one. Ended in a weird place, kinda? Easily the best western live action anime adaptation by far. After watching I immediately passed by a friend's house to borrow these.

Strange beds

| Categories: Just Another Day | Tags:

I have my share of sleeping problems, but it gets slightly worse when I’m sleeping on a new, strange, unfamiliar bed. It always takes me some time to adjust to any new trappings, and I almost always expect on my first few nights at a new place that I won’t get the correct amount of sleep or be awake at the proper times. I wonder if there is some primordial instinct that causes us to be wary of unfamiliar sleeping arrangements, granting (against our will) heightened awareness in case of predators.

EDSA

| Categories: Philippines | Tags: current events

The EDSA revolution was a promise. “Never again.” They cried. But the scope was never clear. Never again to a dictator? Okay, but if not that, then what? What of corruption, of patronage, of poverty, of oligarchy, of ignorance? We thought the job finished and patted ourselves on the back and assumed everything would go back to normal, without regard to what “normal” needed to be. The same evils took different guises, and today the forces of darkness and dictatorship are almost close to fulfilling their return.

It might have been

| Categories: Just Another Day | Tags: quotes regret

“Of all sad words of tongue or pen, the saddest are these, ‘It might have been.” ― John Greenleaf Whittier, Maud Muller - Pamphlet It is human nature perhaps, to think about those alternate realities that might have come from different decisions or different dispositions. If only I was braver. If only I was more decisive. If only I didn’t have something holding me back. If only I knew what I knew now.

There's no time for anything else

| Categories: Just Another Day | Tags: quotes

“None of us are getting out of here alive, so please stop treating yourself like an after-thought. Eat the delicious food. Walk in the sunshine. Jump in the ocean. Say the truth that you’re carrying in your heart like hidden treasure. Be silly. Be kind. Be weird. There’s no time for anything else.” — Keanu Reeves via swissmiss

Debt

| Categories: Just Another Day | Tags: quotes

For my first few years in elementary school, I didn’t get any pocket money. Instead I’d have a couple of sandwiches and a thermos of water. So I wasn’t used to handling money. One time while waiting for the school bus, I was a bit thirsty but my thermos was already out. For some reason, I decided to borrow five pesos from a classmate to buy a coke from the canteen.

This too shall pass

| Categories: Just Another Day | Tags: quotes

It is said an Eastern monarch once charged his wise men to invent him a sentence, to be ever in view, and which should be true and appropriate in all times and situations. They presented him the words: And this, too, shall pass away. How much it expresses! How chastening in the hour of pride!how consoling in the depth of affliction! - Abraham Lincoln More quotes! I like ones that have a level of ambiguity, a meaning that changes depending on situation.

I had some free time the other day so I randomly decided to post in the PH subreddit’s regular afternoon random discussion thread, asking for questions about software development. I ended up typing some longish answers, I thought I’d copy them over to the blog in case anyone was interested. TBH I meant more like StackOverflow type questions with specific technical problems, but I ended up answering mostly career-related questions, which is fine, but disclaimer: I don’t claim to be an expert, these are just my opinions on things.

Noisy channels

| Categories: Tech life | Tags:

There’s a significant risk of information overload nowadays. For someone like me who spends a lot of time on the internet, there’s a lot of feeds I follow. Not just social media like Facebook and Twitter, I also follow a set of RSS Feeds via Inoreader, I’ve signed up for a few newsletters, and on weekends I read through several Flipboard categories. Just another symptom of my tendency to want everything I guess.

The quote is from the 1980s cult classic Bill and Ted’s Excellent Adventure. I didn’t include this movie in my top 10 movies post, but it and the sequel Bill and Ted’s Bogus Journey are still among my childhood faves. These wise words are give by the Wyld Stallyns band composed of the epnoymous Bill and Ted, and form the philosophical basis of the future utopian civilization inspired by their music.

Pinoy Pride

| Categories: Philippines | Tags:

Filipinos have this weird concept of nationalistic/Pinoy pride where we as a nation brag about anyone who has even remote traces of Filipino blood and gets some sort of global recognition. I’ve even seen a few meme images about it: (Image credit: Reddit) I imagine that this tendency is because we are so starved of things to be proud of as a nation that we latch on to anything that is even remotely Filipino.

Game Review: Hollow Knight

| Categories: Gaming | Tags:

Back in 2017 during a Steam Sale, I was trying to choose a Metroidvania to play. My choices came down to either Ori and the Blind Forest or Hollow Knight. My impression that was that Ori had the more challenging platforming, while Hollow Knight had the more challenging combat. I chose Ori at that time, and I enjoyed that game. Last October, Hollow Knight was in a Humble Monthly, and I decided to go for it.

Speaking truth to power

| Categories: Opinions | Tags: current events

According to Wikipedia, Speaking truth to power is a non-violent political tactic, employed by dissidents against the received wisdom or propaganda of governments they regard as oppressive, authoritarian or an ideocracy. I always had the general sense of it before, but not that it was specifically for use against oppressive or authoritarian governments. It is believed the phrase has origins in a Quaker pamphlet published in 1955. I was reminded of this phrase today and looked it up because it seems relevant again recently, at least in the Philippines.

Last October I participated in #Hacktoberfest, sponsored by DigitalOcean and Github. It’s a “celebration” to promote open source activity, and basically you just need to submit 5 pull requests to any github repository, and they give away swag to anyone who completes the activity. Microsoft held a [counterpart celebration] where they only require you to submit 1 pull request to any Microsoft repository. I’ve always wanted to start participating in Open Source, but it’s a bit difficult to find a good place to contribute (other than logging issues of course).

In late 2017, the US moved to ban Kaspersky antivirus from use by federal agencies, because of suspected influence from the Russian government. In late 2018, the US and other countries have either banned or are considering banning the Chinese tech giant Huawei and its telecoms products, for security reasons. Both companies are under scrutiny for their perceived ties to their governments, both of which happen to have authoritarian leanings. From a certain POV, the bannings may be unfair, as they are “preventive” in nature, i.

Subtitles

| Categories: Pop Culture | Tags: tv

Interesting article on closed captioning, or as I like to call them, subtitles. My first exposure to subtitles was anime of course, but these days I vastly prefer having subtitles on any show, even if it’s dubbed in a language I do understand. From the article: “Why do you have captions on?” I asked. “It helps me with my ADHD: I can focus on the words, I catch things I missed, and I never have to go back,” she replied.

Insomnia

| Categories: Just Another Day | Tags:

I love sleeping. And taking naps. But I’m not very good at doing it at night. Insomnia is a common problem for me. I often find it difficult to go to sleep at night, taking upwards of 1-2 hours in bed before I can manage to fall asleep. Of course all that time lying there feels unproductive, so I’ll often be tempted to to grab a nearby screen and read something online or such, which makes it even harder to get to sleep.

Draw Something

| Categories: Tech Life | Tags: drawing

Just a fun little throwback: some years back me and some friends played an app called Draw Something for a while, where you draw stuff and send the drawings to your friends and they try to guess it. I had some screenshots stored in a Facebook post for a while and it showed up in the “Memories” thing, I thought I’d post them here on the blog too. We had a lot of fun with the app back then!

Broken Streak

| Categories: Tech Life Writing | Tags: blogging

I thought I had a post scheduled yesterday, but I didn’t. That broke a continuous streak of 124 days of daily blogging. I thought about writing a post and publishing it retroactively, but that seems like the kind of BS Type A behavior I kind of want to avoid these days. At least I did a lot better than the last time I tried daily blogging in October 2006, when I only managed 23 posts for the month.

I’m not much for public performance. But sometimes I think about doing some stuff that involves some level of public performance. My examples for this post are: game streaming public speaking standup comedy Public speaking and standup comedy are basically the same, and might be interesting to do (standup seems more fun). Like many people, I used to have a mild fear of speaking in front of a bunch of people/strangers, but as I’ve gotten older and cared less about what other people think, this kind of faded away.

Picking Your Battles

| Categories: Just Another Day | Tags:

I used to be super easy to goad into a debate. It’s a clear weakness to my projected DGAF attitude actually. Well, the main thing is that I enjoy lively discussion, even though it can often lead into chaos. I soured a bit on online debate during the 2016 election season though. Too many people I knew getting butthurt or reacting poorly. Someone I knew since high school unfriended me over some imagined slight even.

Being Chinese

| Categories: Just Another Day | Tags:

Today is Chinese New Year. It’s something my family celebrates. I am of course, ethnically Chinese, but I don’t talk about it much. When asked, I will often reply that I identify as a Filipino, not as Chinese (maybe slightly more relevant these days given our disagreement with our largely populated neighboring country). I don’t reject the heritage or anything - but I’m not particularly steeped in it either. I don’t speak the language (beyond a few token phrases).

Finishing Posts

| Categories: Just Another Day | Tags: writing

I saw the following question on Twitter: People who write a lot of blogposts… How do you know a post is done? — Andreas Klinger ✌️ (@andreasklinger) February 2, 2019 “People who write a lot of blogposts… How do you know when a post is done?” Having written daily posts since October, I feel like I already qualify for “People who write a lot of blogposts”, but I realized I don’t have a straight answer aside from “When I run out of things to say”.

A while back I started a Twitter trivia bot as a weekend project. That bot is still up and running on Twitter, you can check it out there! But today, I thought I’d write about the answer-checking mechanism used by the bot. It was a bit interesting to me because it was the first nontrivial use I had for Django’s unit testing framework. I’m not too keen on unit testing web functionality (something I still have to learn), but this seemed an appropriate first use of a unit test framework for several reasons:

Game Review: Slay the Spire

| Categories: Gaming | Tags:

I picked up Slay the Spire during the last (Winter) Steam Sale, not really knowing what I was getting into. I had heard some good things, but I didn’t really know much other than it was a roguelite where I had to go through a dungeon. But it was cheap so I took the dive. I was pleasantly surprised to find that not only was it a roguelite, it was also a deckbuilding game!

Trust

| Categories: Just Another Day | Tags:

Sometimes I stop and think and I’m amazed at how much trust we place in our fellow human beings, many of them strangers, enough so that society is able to function. Some examples of what I mean: My mom pays for thousands of pesos worth of groceries and doesn’t bother going through the receipt to make sure the cashier punched in the right items We order food in restaurants that is cooked and prepared outside of our view and trust that they are prepared appropriately and with proper regard for health standards I take naps in a taxi cab assuming the driver won’t take me to a secluded location and try to rob me We cross the street trusting that drivers are sensible people who won’t blow past traffic lights and suddenly careen towards us We go to work and trust that our coworkers will do their thing and our work will get done and the company is going to pay us We order stuff online and assume that the order will be fulfilled All of this, in spite of the fact that we know there are humans who exist who are incompetent, unreliable, or even downright malicious or sociopathic.

Some Youtube channels I’ve been enjoying recently: ComicTropes is a weekly show that does deep dives into various mainstream comics titles, and often includes the background history of characters and creators, so very interesting stuff for comic book nerds. GameMaker’s ToolKit talks about video game level design topics. His series “Boss Keys” does a deep dive into Zelda dungeons and analyzes them based on criteria like linearity. His level design analyses are strongly based on systems and gameplay and how they affect the player experience.