The errors of a design flaw

GetDealt will be live any day now. That means it is safe to admit that there are a few design flaws that will be there when it launches. (No major flaws, mind you, just hindsight 20/20.) One flaw has to do with the transition mechanism in the state machine engine. The game is designed around a state machineState Machines on wikipedia: http://en.wikipedia.org/wiki/Finite-state_machine implementation that restricts actions and transitions at the state-level instead of the machine level. When it was being designed, it did not occur to me that the game would require automated transitions from one state to another. Once that was discovered, a daemon feature was added which moves a game from state to state over time. (ie: Move to state X, wait 3 seconds, move to state...

Read More

For consistency sake – be lazy.

If you have done any IOS development, especially if you’re like me and have started using Xamarin for everything, you’ve no doubt ran into the ubiquitous gem: UIKit Consistency Error: you are calling a UIKit method that can only be invoked from the UI thread. When I saw this in the logs for GetDealt, I immediately started to chastise myself. How could such a simple error get through the cracks? As I started parsing the stack trace, I noticed something interesting: The executing code was already wrapped in a InvokeOnMainThread() call. Wait, what? A double check revealed: this.InvokeOnMainThread(delegate() { //...Code Here... }); If you were sitting next to me when I discovered this, you too would have caused time to freeze as your mind succumbed to...

Read More

Blog Introductions are silly stupid

This website shall showcase things that both are worth the time to write and occur to me when I have the time to invest. Most likely it will consist of annoyances, but hopefully there will be plenty of wonderful things to see. For now, I’m simply testing the website. You can, if you desire, stop reading this post and wait till the next one. If not, enjoy: Let’s see what happens when I use this code snippet plugin. It should show this code snippet in a nicely styled box. Here goes nothing: [/code] internal void Construct() { try { WordPressApp instance = Host.CreateWordPress(false); // too bad instance.Theme = com.wordpress.theme.retrieve("Something Different"); instance.Persist(Host.CurrentHostingContext); } catch (Exception ex) {...

Read More