Roy Tang

Programmer, engineer, scientist, critic, gamer, dreamer, and kid-at-heart.

Posts Photos Comments Links Archives Resume About

Roy Tang is a:

roytang.net is a personal site; I post about a random assortment of topics that interest me including software development, Magic the Gathering, pop culture, gaming, and tech life. This site is perpetually under renovation.

Recent activity

:: 378 words

books self-improvement pop-culture

I don’t know much about this Konmari thing. I think it’s been around for a while, but got a boost recently due to a Netflix special. I think I agree with it in principle, or at least what I know of it from secondary social media commentary. Minimalism is a worthwhile goal, and so is getting rid of things that do nothing for you other than take up space. Some people aren’t reacting well to the idea of throwing away books though:

read more

:: 435 words

software-development

Someone responded to my post on things to learn in 2019 by asking how one finds the inspiration to learn all of the things. Well, my first answer was that those are just things I find interesting and may look into, but that’s not really an answer for the inspiration part. Software development is a very wide field, one where the amount of things you can learn increases daily, so it’s almost impossible to keep up with everything.

read more

:: 608 words

gaming

I had been eyeing Lucas Pope’s acclaimed indie hit Papers Please on Steam for a while, but finally bit the bullet on it during the last sale. The story of the game itself is interesting, as Pope was more or less a one-man team, doing the design, code, music and art for the game himself. If you’re not familiar, the game places you in the role of a border inspector in a fictional 1980s totalitarian state called Arstotzka, a thinly-veiled parallel to communist East Germany and similar nations.

read more

:: 702 words

software-development

A while back we were tasked with helping a client’s internal dev team to migrate their repositories from Subversion to Git. The distributed VCS seemed ideal for their situation - they had a very small in-house dev team managing contributions from external subcontractors. The main rationale was that their process of merging contributions from the external developers was extremely complicated and often resulted in conflicts that were challenging to merge. Before this, I hadn’t actually used Git too deeply myself (aside from cloning stuff from Github), and especially not in a team setting, so the training one of our other engineers gave them was a good opportunity for me to become familiar with Git as well.

read more

:: 175 words

Sipunin, from the root word “sipon”, referring to the common cold. It refers to someone who is susceptible to and often has the common cold. Certainly applicable to me. For as long as I can remember I’ve always had the cold all the time, especially during the earlier and later months of the year. (I’m sure selective memory lets me forget all those days that my nose was actually not clogged…)

read more

:: 114 words

blogging writing

I think that’s one of the reasons why it’s difficult to keep up a blog. Blogs feel a bit like they have to be long-form, highly profound, useful or informative pieces or prose that a wide audience can appreciate. We don’t have this same pressure when posting to other social media like Twitter or Facebook. I like to think of a blog (or this blog at least, at this moment) as a living, evolving thing, with each post capturing a single moment in a timeline, building upon previous thoughts, helping us see how the author’s thinking changes with time.

read more

:: 208 words

self-improvement

Here I am writing about Duolingo and keeping up streaks, then just a few days later, this happens: Ah crap I broke a 97 day Duolingo streak D: — Roy Tang (@roytang) January 6, 2019 There’s a problem with Duolingo’s streak notifications that I’m not sure how to solve. It send you a daily reminder at around the same time you did the work the previous day. If you’re unable to do it at that time, there are no further reminders later in the day.

read more

:: 691 words

software-development

One of the things about self-identifying as a “Full Stack Developer” or “Solution Architect” is that there’s no shortage of things to learn, and oftentimes it’s good for your career-wise to at least have some passing knowledge of a bunch of technologies. It helps that I really like the field as well. I try to make sure I study or learn at least one new programming language or framework every year (though I am willing to stretch that definition as needed).

read more

:: 380 words

software-development

Although I still primarily identify as a “Full Stack Developer”, during the past few years I’ve also found myself in a role called “Solution Architect”. The thing about being a solution architect is that there isn’t really a clear definition of the role, what it involves, or the scope of responsibility. I suppose it depends largely on the organization and the project. The role mostly involves making techical decisions on a larger scale, like project-wide or organization-wide, rather than on the micro day-to-day technical decisions involved in a typical software development involves.

read more

:: 362 words

tech-life

A free web-based service I’ve found very useful over the past few years is IFTTT. The initialism is a bit unwieldy; it stands for “If this, then that”. It basically provides a way to “glue” different services and APIs together so you can set up some kind of automation. You set up rules with conditions and specify what to do when those conditions are met. One of my main uses for it was for social media cross-posting.

read more

:: 953 words

c++ software-development

This year I had the dubious privilege of having to work with a C++ project again. Although my college education was in C, that was a completely different animal. I did self-study C++ for a bit back even before I was working, mostly because I was interested in game development even back then. I remember trying some OpenGL and/or DirectX stuff back with good old Borland Turbo-C++ during the DOS days and using the Dev-C++ IDE when I shifted to Windows.

read more

:: 585 words

self-improvement

Happy new year! Last year I posted some year-end statistics. That seems like a good way to recap the year, so let’s do it again. Random statistics from 2018: Work, Learning and Self Improvement: Hours worked: 1,163 (up around 50% from last year) Programming languages/frameworks learned: I’ll say 4. I’m counting: C++ which I revisited this year after more than a decade of not using it Go, which I used for the templating in the Hugo blog Flask, which I had dabbled in before but only used in a full-scale project this year Laravel, which I also used in a couple of projects this year Books read: 4.

read more

:: 182 words

books self-improvement

New year’s resolutions are hard to maintain, so much so that people will make jokes about opening a gym that only runs during January, since most gym NYRs run out of steam by then. One of the best pieces of advice I’ve found regarding acquiring new behaviors comes from the first motivational books I ever read - The Greatest Salesman in the World by Og Mandino, which for some reason we had a copy of in our house when I was young.

read more

:: 308 words

self-improvement

New year’s resolutions are hard to maintain, so much so that people will make jokes about opening a gym that only runs during January, since most gym NYRs run out of steam by then. One of the best pieces of advise I’ve read on this is “Don’t break the chain”, most often anecdotally attributed to Jerry Seinfeld. This advice means that for a recurring activity, once you get a streak or chain going, as much as possible you should avoid breaking the chain.

read more

:: 438 words

self-improvement

Most of these are carried over from the 2017 checklist. Maybe an annual thing, eh? In no particular order: Greet your loved ones and friends and anyone else you hold dear. Maybe even those you disagree with Ponder why people give so much significance to the transition between an arbitrarily-chosen pair of 24 hour periods Take stock and reflect on the past year Think about what you’d like to learn this year or how you want to improve Count your blessings for the past year and be grateful Change your passwords Buy a new toothbrush Make a New Year’s joke (“If you must use fireworks of any kind tonight, at least try to limit your injuries to the left leg only.

read more

Want to read more? Browse ALL THE POSTS!