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


last update:

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.

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.

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.

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!

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.

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.

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.

Gaming in 2009


I wanted to make a calendar of game release dates in 2009 (so I won’t forget), but apparently details are sparse. The only games that I’m remotely interested in that already have release dates are: 20 Jan 2009: Mana Khemia: Student Alliance (PSP) Star Ocean: Second Evolution (PSP) 17 Feb 2009: Dragon Quest V: Hand of the Heavenly Bride (NDS) Street Fighter IV (PS3) 17 Mar 2009:

Speed Reading

links meta

I came across a website that provided an online Speed Reading Test. Most people I know generally know me to be a fast reader so I decided to take the test. My results: 472 words per minute screen reading, at 82% comprehension, which the website says classifies me as a “good reader”. Apparently the best readers can read at 700wpm at 85% comprehension, sounds tough =/ Try the quiz and post your results here.

My current blog app supports syntax highlighting in the blog posts, something I cribbed off Djangosnippet #119 One problem I encountered was that there was no quick visual reference for the styles available with pygments, so I wrote a short demo page here so that I could easily see the appearance of each syntax highlighting class. Of course, I haven’t had a chance to use it in a post yet…

The last limited tournament of the season, it was last week, December 20 at Robinson’s Galleria. The format was Shards of Alara sealed deck. For once, I opened a pretty good pool. Unfortunately, I failed to make the follow through. Decklist and (short) tournament report follows. Creatures 1 Sigiled Paladin 1 Welkin Guide 1 Viscera Dragger 1 Exuberant Firestoker 1 Predator Dragon 1 Ridge Rannet 1 Rockslide Elemental 1 Cylian Elf 1 Mosstodon 1 Mycoloth 1 Wild Nacatl 1 Bull Cerodon 1 Rip-Clan Crasher 1 Steward of Valeron Spells 2 Oblivion Ring 1 Resounding Silence 1 Dragon Fodder 1 Magma Spray 1 Resounding Thunder 1 Skeletonize 1 Soul's Fire Lands 1 Obelisk of Naya 1 Arcane Sanctum 2 Bant Panorama 3 Plains 6 Mountain 5 Forest Sideboard 2 Angelic Benediction 1 Angelsong 1 Dispeller's Capsule 1 Gustrider Exuberant 1 Sanctum Gargoyle 1 Cloudheath Drake 1 Coma Veil 1 Courier's Capsule 1 Covenant of Minds 1 Dawnray Archer 1 Etherium Sculptor 1 Jhessian Lookout 1 Outrider of Jhess 1 Spell Snip 1 Vectis Silencers 1 Bone Splinters 1 Corpse Connoisseur 1 Dreg Reaver 1 Immortal Coil 1 Infest 2 Shore Snapper 2 Undead Leotau 1 Dragon's Herald 1 Goblin Mountaineer 1 Lightning Talons 1 Viashino Skeleton 1 Ooze Garden 1 Resounding Roar 2 Savage Hunger 1 Soul's Might 1 Carrion Thrash 1 Deft Duelist 1 Fire-Field Ogre 2 Goblin Deathraiders 1 Hindering Light 1 Jhessian Infiltrator 1 Kederekt Creeper 1 Sprouting Thrinax 1 Obelisk of Esper 1 Obelisk of Grixis 1 Esper Panorama (The decklist above only lists 39 cards… not sure what the missing 40th card was )

Frontend: All page templates are valid (X)HTML. However, I choose not to claim valid XHTML (and no doc type declaration) since I can’t guarantee that blog posts I write are compliant! The site uses standard CSS and uses the Blueprint CSS Framework for the grid layout of the page. The site design is entirely original (if not simple and bland – I’m not very good with website design yet!). The site has minor usage of JQuery Javascript library in some parts.

Previously I hosted two separate WordPress blogs on roytang.net, the old one I’ve had since forever, and a separate one that discussed only magic related articles. It was a bit bothersome to have two WordPress installs though. Now that I’ve migrated to a Django backend, I decided to merge the blogs back into one. The blog now has the following sections/categories: Magic the Gathering – for posts related to MTG Software Development – for posts related to Software Development (hopefully I can write more about this topic) Gaming – originally I didn’t have this category, but looking at previous contents of the blog and my delicious links, this is one of the things I write about the most, so I made it a separate category Weblog – everything else I can think of Each category has a separate RSS feed you can subscribe to – so that if you’re only interested in MTG posts you can subscribe to the MTG category feed, etc.

Well, it’s a bit early. But if you’re reading this then I’ve successfully migrated the roytang.net website to a new host. See you after the jump! Merry Christmas! Comments Comment by mikong on 2008-12-26 17:27:44 +0000 Congrats! powered by django, nice ūüôā Comment by roy on 2008-12-27 00:20:18 +0000 More details later. I think the timezone on the server is wrong, using this comment to test.



I purchased a PS3 last week! As is typically with me making large purchases, a was wishy-washy about it for a whole two weeks (although Alvin had been egging me to buy one for months). To show how indecisive we are, here’s the conversation we had at the store: _ Saleslady: Sir, anong kulay ang gusto nyo? Black, silver or white? Me: Alvin, ano gusto mo? Alvin: Kahit ano, silver na lang siguro.

I’m on vacation, so it means I actually have time to hit FNM. I sleeved up the Kithkin deck (no more Blightning for me!) and headed over to Robinson’s Galleria (Getting robbed along the way fyi). Nothing surprising, I managed to make 3-1, good enough for fourth place and four packs with crap rares inside. My loss was to the mirror match, most probably due to my lower card quality, as I had only 1 planeswalker in my deck.

My Phone Was Stolen

I wish there was more to the story, but the true story is rather short: I had a moment of carelessness as I hurriedly tried to disemabark from the crowded MRT, and by the time I was getting on an FX at Megamall I noticed that the front pocket of my bag was open and my phone was missing. The PSP which was in the same pocket was still there so I guess the thief was in a hurry.

I actually initially thought that there would be a PTQ this weekend. When I found out there would just be a normal Standard tournament the night before, I assembled a deck quickly. I went with Blightning Beatdown:

Unfortunately, things did not go well for our hero. Tournament report follows.

HOWTO: Be more productive (Aaron Swartz's Raw Thought) (tags: lifehacks productivity) Comments Comment by Tim Reynolds on 2008-12-08 08:07:20 +0000 Nice post. Thank you for the info. Keep it up.

I played around with the built-in comments app today, trying to clean it up. Some findings: Some of the moderation views, such as flagging a post or deleting a post, accept a next parameter that determines where the view will redirect to after the operation. However, the way the url’s are set up, there’s no easy way to pass this parameter normally, even through query strings. THis lovely bug is documented in http://code.

I’ve been busy at work so fell a bit behind with Django. Last night I worked on a WordPress importer, so that I could migrate posts from my current blog(s) into the Django-powered blog that I’m coding. I’m using BeautifulSoup to parse the WordPress export file and insert them as Django objects. Since I was running the script repeatedly, I had to figure out how to easily run it from the command line, without having to run it from inside manage.

The PTQ was last Sunday, November 17 at Robinson’s Galleria. As per usual, I opened and registered a pretty good pool with 2 [Battlegrace Angel][1] and [Tezzeret the Seeker][2] . The pool I got passed to me and the deck I built below: Lands 1 Grixis Panorama 1 Naya Panorama 1 Plains 3 Swamp 5 Mountain 4 Forest Creatures 1 Skeletal Kathari 1 Viscera Dragger 1 Hell's Thunder 2 Hissing Iguanar 1 Jund Battlemage 1 Algae Gharial 1 Cavern Thoctar 1 Jungle Weaver 1 Manaplasm 1 Rhox Charger 1 Blood Cultist 1 Carrion Thrash 2 Goblin Deathraiders 1 Kresh the Bloodbraided 1 Rip-Clan Crasher Spells 1 Oblivion Ring 1 Resounding Silence 1 Skeletonize 1 Soul's Fire 1 Branching Bolt 1 Jund Charm 1 Obelisk of Grixis 1 Arcane Sanctum Sideboard 1 Angel's Herald 1 Ethersworn Canonist 1 Excommunicate 2 Knight of the Skyward Eye 1 Marble Chalice 1 Soul's Grace 1 Welkin Guide 1 Call to Heel 2 Cancel 1 Cloudheath Drake 2 Coma Veil 1 Jhessian Lookout 1 Outrider of Jhess 1 Resounding Wave 1 Sphinx's Herald 1 Vectis Silencers 1 Banewasp Affliction 2 Deathgreeter 1 Immortal Coil 1 Resounding Scream 1 Scavenger Drake 1 Shadowfeed 1 Shore Snapper 1 Bloodthorn Taunter 1 Exuberant Firestoker 1 Goblin Mountaineer 1 Incurable Ogre 1 Viashino Skeleton 1 Volcanic Submersion 1 Lush Growth 1 Resounding Roar 1 Soul's Might 1 Topan Ascetic 1 Carrion Thrash 1 Fire-Field Ogre 1 Kederekt Creeper 1 Kiss of the Amesha 1 Qasali Ambusher 1 Rakeclaw Gargantuan 1 Sigil Blessing 1 Waveskimmer Aven 1 Obelisk of Bant The pool had decent removal, but no big game-winning bombs.

Just kidding. I don’t have a draft cap or anything. I went drafting with our would-be GP Taipei contingent last November 12 (Wednesday). I actually almost never play sanctioned matches outside of the weekend tournaments, but I was a bit tired from work and wanted to blow off steam, so I went ahead to Robinson’s Galleria and waited a couple of hours for the 8-man draft to fill up. I opened with Cruel Ultimatum as my first pick, then got a couple of white weenies (Akrasan Squire and Sigiled Paladin) before getting a 4th-pick Agony Warp.

21112008130.jpg Originally uploaded by zroytang A while back I got an email telling me that Adobe was sending out free Flex T-Shirts to people who had contributed to Flex 3. I had reported a few bugs on Flex JIRA, apparently that was enough for me to get a free shirt! The picture here shows the back of the shirt, the front just has a small Adobe logo.

Simple Search -- Gatherer -- Magic: The Gathering Beta version of the new Gatherer (tags:¬†magicthegathering) BrowserPlus‚ĄĘ (tags:¬†programming¬†javascript¬†web¬†framework) Snackr: an RSS ticker for Windows/Mac/Linux built using Adobe AIR and Flex. (tags:¬†flash¬†software¬†cool)

Tournament was last November 2 at Robinson’s Galleria. The format is Shards of Alara sealed. Because the store lacked tourney packs, the tournament was split into two halves; one half would get 1 tourney pack + 2 boosters, the other half would get 5 boosters. I played in the tourney pack half. My pool and decklist to follow. Basically, I played Naya again, splashing blue for (this is ridiculous) 2 Kederekt Leviathans!

“Clearly Chris Woltereck was one of the best players in the room, and probably could have won the tournament with a ham sandwich.” – Gerry Thompson on Cruel Control winning the 25-Oct SCG 5k Standard Tournament

I wanted to add some basic tagging to my blog app so I tried out django-tagging. Unfortunately, the featured downloads on the Google Code site are quite out-of-date and would not work with Django 1.0, so I did a subversion checkout instead. If you’re getting an error like “ImportError: cannot import name parse_lookup”, then you need to get the source code from SVN. Adding the tagging to the blog was pretty easy:

2nd Trial for Taipei was last Sunday, October 17 at Robinson’s Galleria. I open to register a very mediocre pool while the rest of the guys at my table open awesome pools with lots of bombs. “Gee, I hope we don’t keep this pool.” The judge comes over, rolls the dice and we keep our pools. Awkward. Lands 2 Crumbling Necropolis 9 Plains 1 Mountain 5 Forest Creatures 2 Akrasan Squire 1 Ranger of Eos 1 Rockcaster Platoon 1 Sighted-Caste Sorcerer 1 Sigiled Paladin 1 Yoked Plowbeast 1 Jund Battlemage 1 Ridge Rannet 1 Vithian Stinger 1 Cavern Thoctar 1 Court Archers 1 Drumhunter 1 Jungle Weaver 1 Wild Nacatl 1 Steward of Valeron 1 Woolly Thoctar Spells 1 Oblivion Ring 1 Magma Spray 1 Resounding Thunder 1 Sigil Blessing 1 Obelisk of Jund 1 Quietus Spike Sideboard 1 Angel's Herald 1 Angelsong 2 Dispeller's Capsule 1 Sunseed Nurturer 1 Call to Heel 2 Cathartic Adept 1 Coma Veil 1 Courier's Capsule 2 Jhessian Lookout 1 Kathari Screecher 1 Mindlock Orb 1 Outrider of Jhess 1 Spell Snip 1 Tortoise Formation 2 Blister Beetle 1 Bone Splinters 1 Dreg Reaver 1 Dregscape Zombie 1 Executioner's Capsule 1 Skeletal Kathari 1 Undead Leotau 1 Goblin Mountaineer 2 Lightning Talons 1 Thorn-Thrash Viashino 1 Thunder-Thrash Elder 1 Volcanic Submersion 2 Behemoth's Herald 1 Godtoucher 1 Sacellum Godspeaker 1 Savage Hunger 1 Soul's Might 1 Agony Warp 1 Blightning 1 Fire-Field Ogre 1 Hindering Light 1 Kederekt Creeper 1 Necrogenesis 1 Punish Ignorance 1 Sprouting Thrinax 1 Tidehollow Strix 1 Obelisk of Esper I guess I pretty much misbuilt the deck.

So I got a basic blog app up and running. Posting, paged archives, etc. Comments implemented using the django.contrib.comments. No problems here, the only caveat being most of the current documentation found by Google searches refer to the pre-1.0 version. Need to peruse the official docs for 1.0 stuff. RSS feeds implemented using django.contrib.syndication, this one seems fine. I tested it and it’s running fine on localhost. I also have a free django hosting account at http://bells-n-whistles.

My dad asked me to help book a flight from Manila to Boracay for my uncle who would be a balikbayan this weekend. The rates at PAL were better, so we decided to book using their website. I did the search for the flights, booked the seats, input my uncle’s details, etc. When we got to the screen to input the credit card info, my dad went to call my uncle to confirm and to get his credit card.



My brother pointed me to a new (to me at least) online music service called¬†imeem. The website caught my interest for two reasons. It uses Adobe Flex, a technology which I’ve been using for the past year or so. Any Flex developer knows it’s Flex just by looking at the widgets. (Click to enlarge the screenshot!) The service allowed me to find an mp3 which I’ve never found before and have used as a benchmark for how good an mp3 search service is.

“when redirecting, how can I make the redirect URL decoupled from the urls.py of the parent app?” -> It turns out that HttpResponseRedirect supports relative paths, so this was fine. return HttpResponseRedirect(“../” + str(post.id) + “/”) I got the basic posting structure up. /post/new/ -> To make new posts /post// -> To view a single post /post/all/ -> To view all posts I should probably start thinking of a better url scheme.

The quintessential app to learn from is of course a blog. Started using a simple Post model. Added the new post form and view. Can now successfully insert posts into the DB. Next: – create the detail page that will show the post after saving Figure out: – when redirecting, how can I make the redirect URL decoupled from the urls.py of the parent app? i.e. if the parent app has the following mapping:

Actually, I’m writing this post to test comments on the blog, which someone has reported to be currently borken. See ya in the comments. Comments Comment by Roy on 2008-10-15 21:08:39 +0000 Test comment. Comment by Roy on 2008-10-15 21:08:59 +0000 Nakapacomment naman. Comment by Roy on 2008-10-15 21:15:32 +0000 Test using IE Comment by Roy on 2008-10-15 21:16:53 +0000 Baka malas lang. Comment by Roy on 2008-10-16 21:07:41 +0000 Testing IE6

The eyeballing game Flash game to check how good you are eyeballing geometry. I got a score of 6.62. (tags:¬†games¬†flash) Comments Comment by noems on 2008-10-17 09:24:41 +0000 you changed your theme … for me?! hahaha for the record, my eyeballing game score was 5.53. (lower is better ūüėõ ) balik mo na sa dating theme. hehe Comment by KC on 2008-10-18 16:45:02 +0000 neat.

I haven’t had a top eight result in a while. Thank goodness for limited season! I registered a deck that I would have loved to play, with highlights such as Caldera Hellion, 2 Oblivion Rings and 2 Resounding Thunders, plus a lot of good blue/black stuff. Of course, we pass the card pools and here’s the one I ended up playing: Lands 5 Plains 2 Island 1 Swamp 1 Mountain 5 Forest 1 Bant Panorama 1 Jund Panorama 1 Naya Panorama Creatures 1 Cavern Thoctar 1 Court Archers 1 Druid of the Anima 1 Mosstodon 1 Naya Battlemage 1 Broodmate Dragon 1 Deft Duelist 2 Qasali Ambusher 1 Stoic Angel 1 Waveskimmer Aven 1 Resounding Thunder 1 Guardians of Akrasa 1 Knight of the Skyward Eye 1 Sanctum Gargoyle 1 Sigiled Paladin Spells 1 Obelisk of Esper 1 Obelisk of Grixis 1 Infest 1 Bant Charm 1 Oblivion Ring 1 Resounding Silence 1 Scourglass Sideboard 1 Obelisk of Jund 1 Banewasp Affliction 1 Blister Beetle 1 Dregscape Zombie 1 Glaze Fiend 1 Onyx Goblet 1 Puppet Conjurer 1 Shadowfeed 1 Undead Leotau 1 Cancel 1 Coma Veil 1 Courier's Capsule 2 Fatestitcher 2 Jhessian Lookout 1 Outrider of Jhess 1 Sphinx's Herald 1 Behemoth's Herald 1 Cavern Thoctar 1 Cylian Elf 1 Gift of the Gargantuan 1 Godtoucher 1 Ooze Garden 1 Resounding Roar 1 Blightning 1 Carrion Thrash 1 Goblin Deathraiders 1 Prince of Thralls 1 Sangrite Surge 1 Sigil Blessing 1 Sprouting Thrinax 1 Swerve 1 Bloodpyre Elemental 1 Dragon Fodder 1 Dragon's Herald 1 Goblin Mountaineer 2 Lightning Talons 1 Ridge Rannet 2 Soul's Fire 1 Volcanic Submersion 1 Angelsong 1 Guardians of Akrasa 1 Welkin Guide 1 Yoked Plowbeast The exalted theme is pretty good and I was glad for a chance to try it out.

If you’ve been having trouble with Bayan DSL web connections to some websites (which we have for the past few weeks or so), you may be surprised to know that they have an HTTP proxy server you can use. Strange, considering that when reporting such problems to their trunkline, they never ask whether you’re using that proxy server or not. I don’t recall ever being told about it by the Bayan DSL staff.

On a whim, my brother and I went to Trinoma to see Eagle Eye, barely catching the last full show (including the trailers of course, we love watching trailers). Our mom had said we’d like the movie and she still owed us one since it was her fault we watched Big Stan. So we’re giving her a chance to redeem herself. The spoilerless review: Since Eagle Eye trailers seem to be everywhere, you probably have some idea of at least the start of the story.

I hit the first flight at Eastwood City last Saturday, September 27. Here’s my sealed pool: Lands 1 Arcane Sanctum 1 Bant Panorama 1 Crumbling Necropolis 1 Savage Lands 4 Plains 4 Island 5 Forest Spells 1 Obelisk of Esper 1 Courier's Capsule 1 Resounding Wave 1 Branching Bolt 1 Sigil Blessing 1 Magma Spray 1 Oblivion Ring Creatures 1 Cloudheath Drake 2 Kathari Screecher 1 Kederekt Leviathan 2 Druid of the Anima 1 Drumhunter 1 Jungle Weaver 1 Mosstodon 1 Naya Battlemage 1 Mayael the Anima 1 Rafiq of the Many 2 Steward of Valeron 1 Bant Battlemage 1 Yoked Plowbeast Sideboard 1 Relic of Progenitus 1 Bone Splinters 1 Deathgreeter 1 Dregscape Zombie 1 Glaze Fiend 1 Onyx Goblet 1 Puppet Conjurer 1 Skeletal Kathari 1 Undead Leotau 1 Viscera Dragger 1 Call to Heel 1 Cathartic Adept 1 Courier's Capsule 1 Etherium Astrolabe 1 Etherium Sculptor 1 Fatestitcher 1 Outrider of Jhess 1 Spell Snip 1 Tortoise Formation 1 Godtoucher 2 Lush Growth 1 Mighty Emergence 1 Manaplasm 1 Ooze Garden 1 Savage Hunger 3 Soul's Might 1 Topan Ascetic 1 Wild Nacatl 1 Grixis Panorama 1 Blightning 1 Grixis Charm 1 Kederekt Creeper 1 Kiss of the Amesha 1 Necrogenesis 1 Qasali Ambusher 1 Realm Razer 1 Rip-Clan Crasher 2 Tidehollow Strix 1 Bloodpyre Elemental 1 Dragon's Herald 1 Exuberant Firestoker 1 Goblin Mountaineer 1 Lightning Talons 1 Ridge Rannet 2 Thorn-Thrash Viashino 1 Vithian Stinger 1 Volcanic Submersion 1 Akrasan Squire 1 Angelsong 1 Dispeller's Capsule 1 Excommunicate 1 Gustrider Exuberant 1 Marble Chalice 1 Soul's Grace 1 Sunseed Nurturer The pool was pretty good, decent removal and I built the deck around fatties (Naya, obviously).

I Claim My Name


After trying out¬†usernamecheck.com, I decided to try claiming my username “roytang” at various websites. Here’s a list of various websites where I have this username. http://friendfeed.com/roytang– This one actually seems useful. http://twitter.com/roytang– Okay, I admit it. I’ve actually had this for a few weeks now. http://pownce.com/roytang/– I’m not yet too clear on what it’s used for. http://roytang.posterous.com/– would be useful if I didn’t already have a blog http://roytang.livejournal.com/– now I can be emo!

I was looking to try out some Flex stuff at home, but of course I didn’t have a personal Flex Builder license I could use. (A coworker of mine wisely advised me not to try using my work license at home.) So I looked around to see if there were any free (as in beer and as in speech) alternatives. The one I found was FlashDevelop. Although the IDE looks Eclipse-like, it’s actually built using .

Catching up on my tournament reports now: Sep 7, Pre-Alara Triple Treat (Prerelease passes at stake) I’m playing the same deck as I did in the GP Manila Day Two PTQs. Round 1 vs 5-color merfolk: 2-0 win. Round 2 vs Kithkin (mirror match) 0-2 loss. I generally don’t know how to play the mirror match. Round 3 vs 5-color control: 1-2 loss. His build was too strong against Kithkin; in addition to Firespouts and Hallowed Burials, he also had Soul Snuffers.