Roy Tang

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

Posts Comments Links Archives Resume About

Archive for 2009

:: 224 words

magic-the-gathering

Now, this is a bit awkward. One of the side projects that’s been in my backlog for a long time has been to work on an improved version of the MTGO Draft Converter at zizibaloob. I thought I would get started on that today, and in fact already had quite a bit of javascript done for the draft widget when I read a new post by Brian David-Marshall over on top8magic and found out that there was already a new draft recorder website: RareDraft.

read more

:: 765 words

December 17th. It was around 10pm, I was getting off the bus carrying a box of ensaymada in my right hand and using my left hand to make my way down the crowded aisle despite the speed and turbulence of the bus ride. As I alighted off the bus, I felt movement in my left pants pocket, where my wallet was. As soon as my left hand was free I checked to find my wallet missing and looked back accusingly at the mass of unfamiliar faces crowded along the door of the bus.

read more

:: 70 words

software-development

I got tired of having to maintain my own comment moderation system, and I decided against throwing out the django code and going back to wordpress. Instead, I’m migrating the comment system to DISQUS. I love this little mess of django code that’s running my blog. I wish I had time to clean it up. But for now, at least I can have a more industrial-strength comment system in place.

:: 355 words

magic-the-gathering

I was able to chain a sealed event into a number of drafts this weekend. Here’s one of my better drafts:   Pack 1 pick 1:   My Pick:   Pack 1 pick 2:   My Pick:   Pack 1 pick 3:   My Pick:   Pack 1 pick 4:   My Pick:   Pack 1 pick 5:   My Pick:   Pack 1 pick 6:   My Pick:   Pack 1 pick 7:   My Pick:   Pack 1 pick 8:   My Pick:   Pack 1 pick 9:

read more

:: 84 words

magic-the-gathering

The following are M10 sealed: Friday Oct 9, 8am Sunday Oct 11, 10pm Friday, Oct 16 6am Sunday, Oct 18 8pm The following are Zendikar sealed: Monday, Nov 9, 1am Friday, Nov 13, 8am Monday, Nov 16, 3am Sunday, Nov 22, 11pm Friday, Nov 27 7am Saturday, Nov 28, 8am Sunday, Nov 29, 9pm Friday, Dec 4, 8am Monday, Dec 6, 1am Monday, Dec 20, 3am Friday, Dec 25, 7am Monday, Dec 27, 3am Good luck to all Pinoys playing in the MTGO PTQs!

read more

:: 57 words

magic-the-gathering

Want to post decklists online to tweet to your friends? You can use the Decklist Sharing Tool! As an example, here’s a recent decklist posted to twitter by Evan Erwin that I converted using the tool: I wish I had more decklists to share, but to be honest, I haven’t thought much about Zendikar standard yet =p

:: 231 words

software-development

I’ve been meaning to write a nontrivial app using Google App Engine for a while, and here’s my first weekend project: Decklist Sharing Tool, an tool for MTG players to share decklists online. I had the decklist parsing and autocarding code available for a while (and used on my MTG related posts), so that part was fairly easy, I got it done under 3 hours I think. The rest of the time (around 5-ish hours) was spent on glue logic, fixing minor bugs, working on HTML layout, cleaning up text, etc.

read more

:: 675 words

magic-the-gathering

As you might have heard, there was a helluva storm in the Philippines yesterday, and I was pretty much stuck at the Titan Hobby Shop for most of the day. Luckily, that meant I get to play in the Zendikar prerelease. My Zendikar prerelease record: 1-3 =/ I had a decent pool and went with a UW build, but I played too loosely and the stars just weren’t aligned. My pool was very bad value-wise as well, having mostly “nice” rares like [Lullmage Mentor][2] and [Lorthos, the Tidemaker][3].

read more

:: 341 words

magic-the-gathering

Wanted to try out draft recording, the same method that pinoyraredrafter uses. The below is an ACR draft I tried this morning. I think the deck was decent, although I made a number of questionable picks. I don’t have match stories to go along though, I got mana screwed in game 1 then lost a nailbiter in game 3.   Pack 1 pick 1:   My Pick:   Pack 1 pick 2:   My Pick:

read more

:: 640 words

birthday

Days seem to fly by at such an unforgiving pace. Has it really been thirty-one years now? I have a lot to be thankful for the past thirty-one years. Family, friends and other wonderful people that provide love and support; a roof over my head, three square meals a day minimum and a nice, stable and well-paying job. For all of these, I am thankful. One would think that at such a point in my life, I would be very satisfied for having been so blessed.

read more

:: 1413 words

magic-the-gathering

Grand Prix Bangkok happens three weekends from now, and I’ve already booked the flight and hotel. All I need now are byes! The fourth GPT here was yesterday, Sunday Aug 2 at Robinson’s Galleria. The format is M10 Sealed and I found myself faced with the following sealed pool: White 1 Blinding Mage 1 Divine Verdict 1 Elite Vanguard 1 Harm's Way 1 Lifelink 2 Palace Guard 1 Righteousness 1 Safe Passage 1 Serra Angel 1 Silence 1 Veteran Armorsmith 2 Veteran Swordsmith 1 Wall of Faith 1 White Knight Blue 1 Air Elemental 1 Cancel 1 Convincing Mirage 1 Horned Turtle 1 Ice Cage 1 Merfolk Looter 1 Negate 2 Ponder 2 Sage Owl 1 Snapping Drake 1 Traumatize 1 Zephyr Sprite Black 1 Assassinate 1 Consume Spirit 2 Disentomb 2 Doom Blade 1 Dread Warlock 1 Gravedigger 1 Howling Banshee 1 Kelinore Bat 1 Megrim 1 Relentless Rats 1 Soul Bleed 1 Underworld Dreams 1 Unholy Strength 1 Weakness 1 Zombie Goliath Red 1 Berserkers of Blood Ridge 1 Burning Inquiry 1 Dragon Whelp 1 Goblin Artillery 2 Goblin Piker 1 Jackal Familiar 2 Kindled Fury 1 Lava Axe 1 Panic Attack 1 Shatter 1 Siege-Gang Commander 1 Wall of Fire 1 Warp World Green 1 Borderland Ranger 1 Bountiful Harvest 1 Craw Wurm 1 Cudgel Troll 1 Deadly Recluse 2 Elvish Visionary 1 Emerald Oryx 1 Garruk Wildspeaker 1 Llanowar Elves 1 Naturalize 1 Rampant Growth 1 Runeclaw Bear 2 Stampeding Rhino 1 Windstorm Artifacts 1 Coat of Arms 1 Rod of Ruin 1 Spellbook 1 Wurm's Tooth 1 Terramorphic Expanse This was only my second time with M10 Sealed, but the pool looked pretty solid to me.

read more

:: 362 words

magic-the-gathering

I haven’t been posting tournament reports lately, because frankly I haven’t been performing very well lately. Here are my last month and a half’s worth of results: May 23/GPT Bangkok #1 (SCR sealed): 0-2 drop May 31/GPT Bangkok #2 (SCR sealed): 2-3 drop June 6/GPT Bangkok #3 (SCR sealed): 4-2 June 7/Standard (Bant Finest Hour): 2-3 drop June 13/Standard-Nats Qualifier (Bant Finest Hour) 1-2 drop June 20/Standard-Nats Qualifier (Bant Finest Hour) 1-2 drop June 28/Standard-Nats Qualifier (BG Elves) 0-2 drop As you can see, I decided to switch to BG Elves after a few more tournaments with Bant.

read more

:: 338 words

opinions

Here’s the scenario: Last Sunday in the early morning, there was a fire in our office building, which hit some power stuff in the basement. So yesterday (Monday), the whole building was running on generators without air conditioning. Last night, we were notified that the power was back in the building, but just in case, we should come in to work in casual clothes (“dress down”), normally reserved for casual Fridays/Saturdays.

read more

:: 166 words

magic-the-gathering

A couple of friends were over from Singapore last weekend, and we decided to hang out and open a few boxes of Shards block cards to play casual sealed/draft, using the new M10 rules so we could get a feel for it. We played 1 sealed and 2 drafts; I personally played in the equivalent of around 10 rounds of limited, and my observations are: Number of times damage on the stack came up relevant: None Number of times there was a double-blocking situation: One, but we forgot to order blockers and I just immediately used a trick to get rid of one blocker.

read more

:: 266 words

magic-the-gathering

In case you haven’t heard, the internets are in an uproar over the announced M10 rules changes. A lot of famous Magic people like Randy Beuhler and Zvi Mowshowitz have chimed in with their opinions and in general a lot of forum posters are whining about the most controversial change: the removal of combat damage on the stack. I, for one, welcome our new non-damage stacking overlords. One of Magic’s strengths has always been that it is a dynamic, ever-changing game, and this is just another step in its’ evolution.

read more

:: 326 words

magic-the-gathering

The first GPT for Bangkok was last Saturday, May 23, 2009 at Robinson’s Galleria. Here’s the pool I was given to work with: White 1 Cradle of Vitality 1 Excommunicate 1 Rockcaster Platoon 1 Welkin Guide 1 Asha's Favor 1 Aven Trailblazer 1 Lapse of Certainty 1 Paragon of the Amesha 1 Valiant Guard Blue and Blue Hybrid 1 Call to Heel 1 Cloudheath Drake 1 Coma Veil 1 Kathari Screecher 1 Protomatter Powder 1 Faerie Mechanist 2 Grixis Illusionist 1 Master Transmuter 1 Parasitic Strix 1 Esper Stormblade Black and Black Hybrid 1 Archdemon of Unx 1 Bone Splinters 1 Executioner's Capsule 1 Fleshbag Marauder 1 Shadowfeed 1 Absorb Vis 1 Yoke of the Damned 1 Grixis Grimblade Red and Red Hybrid 1 Jund Battlemage 1 Thunder-Thrash Elder 1 Viashino Skeleton 1 Vithian Stinger 1 Kranioceros 1 Toxic Iguanar 1 Volcanic Fallout 2 Jund Hackblade Green and Green Hybrid 1 Court Archers 1 Gift of the Gargantuan 1 Topan Ascetic 1 Filigree Fracture 1 Nacatl Savage 1 Sylvan Bounty 1 Marisi's Twinclaws 2 Naya Hushblade White-Blue 1 Jhessian Balmgiver 1 Esper Cormorants 1 Aven Mimeomancer 1 Glassdust Hulk 1 Offering to Asha 1 Talon Trooper Blue-Black 1 Deny Reality 1 Soul Manipulation Black-Red 1 Bituminous Blast 1 Demonic Dread 1 Monstrous Carabid Red-Green 1 Exploding Borders 1 Nacatl Outlander 2 Firewild Borderpost Green-White 1 Steward of Valeron 1 Knight of the Reliquary 1 Valeron Outlander 1 Qasali Pridemage 1 Sigil Captain 1 Sigil of the Nayan Gods Esper 1 Windwright Mage 1 Tainted Sigil 1 Vectis Dominator Jund 1 Carrion Thrash 1 Morbid Bloom 1 Jund Sojourners Bant 1 Bant Charm 1 Waveskimmer Aven 2 Skyward Eye Prophets 1 Vedalken Heretic 1 Winged Coatl Grixis 1 Drastic Revelation Artifacts 1 Obelisk of Naya 1 Armillary Sphere 1 Kaleidostone Lands 1 Esper Panorama Let’s try something different and get some audience participation.

read more

:: 1049 words

magic-the-gathering

Last Friday, I was still unsure what to play at Regionals this year, having decided to nix Five-Color Control. Given the cards available, I could easily assemble RDW/Blightning or Chapin’s 5-Color Blood. But in the end, I gave in to the hype surrounding Tommy Ashton’s PTQ-winning decklist, Bant with Finest Hour: However, due to card availability issues, I didn’t have any [Dauntless Escort][3]s and only 1 [Noble Hierarch][4]. I moved cards around and tried to fit in [Vendillion Clique][5], which would serve as an additional evasive attacker on top of [Shorecrasher Mimic][6] and [Jhessian Infiltrator][7], plus a little extra disruption.

read more

:: 939 words

magic-the-gathering

Alara Reborn is finally available locally! For a while I thought about heading to Baguio for the King of the North tournament, but the fact is I have no standard deck ready at the moment. Besides, I wanted to practice sealed deckbuilding for the upcoming Bangkok GPTs, so this morning I was sleeving up a 40-card deck at Robinson’s Galleria. Hide DecklistShow Decklist -- Lands 1 Jungle Shrine 3 Plains 6 Island 5 Swamp Creatures 1 Cloudheath Drake 1 Master of Etherium 1 Fleshbag Marauder 1 Viscera Dragger 1 Sharuum the Hegemon 1 Tower Gargoyle 2 Ethersworn Shieldmage 1 Glassdust Hulk 1 Sanctum Plowbeast 2 Jhessian Zombies 1 Lord of Extinction 2 Grixis Grimblade Spells 1 Oblivion Ring 1 Scourglass 1 Agony Warp 1 Kiss of the Amesha 1 Obelisk of Bant 1 Mistvein Borderpost 1 Behemoth Sledge 1 Wildfield Borderpost 1 Slave of Bolas 1 Crystallization And the rest of the pool:

read more

:: 529 words

magic-the-gathering

And so, our delayed prerelease. My sealed deck (at least after initial tweaks – it varies slightly from my submitted list): Hide DecklistShow Decklist -- Lands 1 Crumbling Necropolis 1 Grixis Panorama 1 Jund Panorama 1 Jungle Shrine 2 Plains 1 Swamp 3 Mountain 5 Forest Creatures 1 Hell's Thunder 1 Hissing Iguanar 1 Druid of the Anima 1 Steward of Valeron 1 Igneous Pouncer 1 Monstrous Carabid 1 Pale Recluse 2 Qasali Pridemage 1 Maelstrom Pulse 2 Putrid Leech 2 Naya Sojourners 1 Jund Hackblade 1 Naya Hushblade 1 Messenger Falcons Spells 1 Oblivion Ring 1 Resounding Silence 1 Resounding Thunder 1 Fieldmist Borderpost 1 Bituminous Blast 2 Colossal Might 1 Firewild Borderpost And the rest of the pool:

read more

:: 399 words

limited magic-the-gathering

As any Filipino player can tell you, local prereleases had to be postponed due to some problems with customs. Since NG had already rented out the space for the prerelease at Galleria, they went ahead and held some constructed events + drafts for people who came, and graciously gave out freebies to those disappointed would-be prereleasers. Kudos to NG for handling the situation well. I lent out my 5cc deck for a friend to play, and went SSC drafting instead.

read more

:: 491 words

magic-the-gathering

Most probably my last tournament playing 5cc this season, the local City Champs was last Saturday, Apr 18 at Robinson’s Galleria. I slightly tweaked the decklist I’ve been using for the past month. I was able to borrow 2 [Exotic Orchard][1] to improve my mana base, and I put the fourth [Volcanic Fallout][2] in the board to improve the difficult Faeries matchup, plus an additional Terror to help with [Mistbind Clique][4].

read more

:: 362 words

magic-the-gathering

I went to NG Galleria hoping for more practice with the 5cc deck from last week. I made some minor modifications: Maindeck -1 Plumeveil +1 Mulldrifter, Sideboard -1 Mulldrifter +1 Scourglass. The aggro matchup seemed very solid already so I felt I could afford to lose the fourth Plumeveil. The fourth Mulldrifter would have been a land if I had any [Exotic Orchard][5]. The tournament was small (barely twenty people), since the TO had split the usual Saturday tournament into one flight for people who arrived on time, and one flight for people who arrived late.

read more

:: 1930 words

magic-the-gathering

Finally getting back into constructed play, I assembled the following 5-color control deck to bring to battle this weekend: Hide DecklistShow Decklist -- Lands 3 Sunken Ruins 4 Reflecting Pool 4 Vivid Creek 3 Vivid Meadow 3 Vivid Marsh 2 Cascade Bluffs 2 Mystic Gate 1 Fetid Heath 1 Vivid Crag 3 Island Spells 1 Celestial Purge 1 Terror 3 Volcanic Fallout 1 Wrath of God 1 Pithing Needle 2 Broken Ambitions 1 Remove Soul 1 Negate 2 Cruel Ultimatum 4 Cryptic Command 4 Esper Charm 1 Liliana Vess 1 Jace Beleren 1 Obelisk of Alara Creatures 3 Mulldrifter 4 Plumeveil 2 Wall of Reverence 1 Broodmate Dragon Sideboard 1 Negate 1 Remove Soul 2 Celestial Purge 2 Wrath of God 2 infest 1 Scourglass 1 Wydwen 2 Kitchen Finks 2 Jace Beleren 1 Mulldrifter Obviously based on Nassif’s deck, but tweaked with some singletons that I like.

read more

:: 480 words

magic-the-gathering

For the record: I hate trading. I realize it’s necessary to the way Magic’s business model works, and I realize it’s part of what makes opening booster packs fun, but make no mistakes about it: I hate trading. Don’t get me wrong, I love Magic. More precisely, I love playing Magic. I want to play spells, to match wits with my opponents, to recover from mana screw, to win from one life, to make bad plays then learn from them.

read more

:: 1658 words

travels

It’s 8:30 pm on Friday. I step out of Maxim’s, a fastfood place near the office in Hong Kong. I flew in to HK the morning of the day before, and had given a presentation over a conference call on Thursday night. This was the only free time I had during the entire trip since I had to fly back the next morning. I decided to take a walk for maybe an hour or 30 minutes, to savor the cool night’s weather before going back to hot and humid Manila the next day.

read more

:: 208 words

movies review pop-culture

I had actually read the much-acclaimed graphic novel only last year. And while I found the story decent enough, I wasn’t sure whether to like it or hate it. Undoubtedly it was an important point in the history of “superhero” comics, but I was never entirely sure about it’s point. So of course I saw the movie, and it had remained roughly 85-90% loyal to the source material, which made it a bit boring for me since I generally knew what was going to happen most of the time (except for you know, that thing about the bad guy’s master plan… ).

read more

:: 375 words

gaming

For the record, I purchased an original R1 copy of Street Fighter IV for the PS3 last Tuesday, and we’ve been pretty much playing it whenever we had free time at home. The one time I came in late to work during the month of February was because of Street Fighter IV. Street Fighter IV came in with ridiculously high reviews for both the XBox 360 and PS3 versions, the PS3 version garnering a 94 (universal acclaim) on Metacritic It can’t be denied that it’s an awesome game, although not everyone agrees.

read more

:: 769 words

magic-the-gathering

I reinstalled MTGO3 last week because I figured I could get some casual play out of it at least. After installation I found out that Conflux release events were this weekend so I might as well play, since I was not able to play IRL at this time. I was hoping MTGO3 had improved by now, and that they had sufficient server loading, etc. to handle the number of players without the servers being crashy and laggy and whatnot.

read more

:: 336 words

movies review pop-culture

I had time to kill before going to see my brother’s art exhibit at megamall, so I went and watched Street Fighter: The Legend of Chun-Li. It was so bad. I could’ve been able to forgive the fact that they roughly 80% of the story shied away from Street Fighter canon, had the movie’s storyline actually been good. As it is, you can expect short, unsatisfying fight scenes, ridiculous background stories, disjointed plot/scenes (reminds me of Smallville and/or Heroes writing =/), terrible wigs and the ridiculous sight of Michael Clark Duncan getting beaned by a pineapple.

read more

:: 451 words

royondjango software-development

You may have noticed the new color scheme and new “Theme Switcher” widget in the sidebar. I had done some CSS work during the past month in the office and it made me want to tweak the stylesheets on this site a bit. I figured I might as well make it easy to switch stylesheets, so I wrote a small Theme Switcher django app. (Well, it’s more of a stylesheet switcher I guess)

read more

:: 34 words

gaming

Fun little widget from Capcom allows you to put yourself into an SFIV battle video. Here’s me as Ryu! Street Fighter IV is out next week, hopefully we’ll be slinging fireballs by next weekend!

:: 101 words

software-development

Excellent talk given at the Canadian University Software Engineering Conference (CUSEC) last year (2008). The presenter is Zed Shaw who’s a famous Ruby guy or something. The video is around 70 minutes long. The first part of the talk is mostly about a Document Management System he worked on, kinda interesting, but the second part is better where he talks about people who program cool things as a hobby and how to avoid becoming just another corporate code.

read more

:: 337 words

gaming

Amazingly, despite my work schedule I still managed to finish a rather old-school RPG. I finished Star ocean: Second Evolution for the PSP today, clocking in 30 hours of playtime. I have to say I quite enjoy playing RPGs on handhelds. RPGs are usually rather long games so it’s nice being able to handle them in bite-sized chunks while commuting, et cetera. Star Ocean: The Second Story was probably one of the best Japanese RPGs to come out of the Playstation era, despite the lackluster translations of that time (hey, it was pre-year 2000, all translations were pretty bad then!

read more

:: 130 words

magic-the-gathering

At the Conflux release event, we were given posters of the four planeswalkers fighting againt big, bad Nicol Bolas. It got a friend and I talking: could Nicol Bolas actually win against the four planeswalkers? The situation is: Player A controls [Nicol Bolas, Planeswalker][1], at starting loyalty. Player B controls [Ajani Vengeant][2], [Tezzeret the Seeker][3], [Elspeth, Knight-Errant][4] and [Sarkhan Vol][5], all at starting loyalty. Assuming each player has no other permanents and they cannot play any other spells.

read more

:: 664 words

magic-the-gathering

I decided to attend the Conflux release event last Saturday, Feb 7 at Neutral Grounds Galleria. As usual, I still had to go to work first so I didn’t make it in time for the first 32-man flight and had to wait for NG to restock on product for the second flight. Unfortunately, they were short on SoA boosters, so we would be playing sealed with 6 boosters of Conflux. Yes, six.

read more

:: 562 words

software-development

I was doing code reviews on an interface file-processing framework to be used in one of our projects. The code was workable and already being used by several programs, and I didn’t see any major functional flaws. But design-wise I felt that it could stand for some improvements/refactoring to be “better object-oriented code” or “easier to maintain”. The current design required a lot of inheritance – the usual way of doing things in older Java code at work.

read more

:: 1412 words

magic-the-gathering

It’s my first Magic outing after more than a month of hibernation. Hopefully Conflux shakes up standard and makes Magic more fun again. Let’s go! Usually I have to register an awesome pool and then get passed a mediocre one. I knew it was different this time around when the guy two seats to my right announced he was able to form a good Naya deck from the Shards of Alara packs alone!

read more

:: 13 words

meta

Django admin works! I would write more but this input method is tedious.

:: 378 words

gaming

Finally finished Valkyria Chronicles last Saturday, clocking in at around 25 hours. Quick Review: Beautiful, beautiful game, even on my SD TV; it’s like watching a flowing watercolor painting When you start the game, all the dialogue/cutscenes seems a bit draggy but eventually you get used to the pacing and then you don’t mind because the battles are really engaging. Speaking of battles; I’m not sure if it would be good for beginners to tactical games.

read more

:: 393 words

royondjango software-development

I actually had some trouble using django-pingback on my custom blog engine; the django-pingback documentation is mostly fine, but there were some caveats that I had to discover myself through a bit of debugging: The URL specified for the XML-RPC endpoint in the HTML head needs to be a full absolute url including domain, i.e. http://roytang.net/xmlrpc/, which gave me trouble when I was trying to test using localhost pinging to an online server.

read more

:: 80 words

software-development

For the past few months, I’ve been encountering the COM Surrogate Has Stopped Working Error in Windows Vista, as described here. Unfortunately, most of the recommended fixes on this page didn’t work for me. (I had neither DivX nor Nero installed, etc.) Eventually, I had to download InstalledCodec and use trial and error disabling of all the codecs in my system to trace the problem. I narrowed it down to the Xvid Codec and ended up having to disable it.

read more