Monday, November 22, 2010

Cheating at Bejeweled Blitz on Facebook

My new bot is complete and is scoring greater than 800k.

Check it out at

Thursday, October 21, 2010

Your Android may one day be infected at it's core

Last night's BaltoMSDN presentation by Mike Wolf was on Windows Phone 7 development.  When I heard that all apps would need to be certified by Microsoft, I thought, "Oh, No.  Here we go with the oppressive oversight".  But after a little surfing this morning regarding mobile OS's and security I came across this white paper describing how the entire Android OS could be infected with Ad/Malware.

Let's hope Microsoft get's security right on the WP7 but is not as oppressive as Apple in app certification.

Sunday, October 10, 2010

HTML5 Canvas

I thought it was time to start learning some HTML5 so I dove into the Canvas element.

View it here

Friday, August 13, 2010

Node.js can't use multiple CPU/Cores

I just install Ubuntu 10.04 and got Node.js up and running.

It's scary how easy it is to create a highly scalable web / socket application.

Don't get too excited yet. The gurus at Yahoo had this to say:

But all is not sunshine and lollipops in NodeJS land. While single-process performance is quite good, eventually one CPU is not going to be enough; the platform provides no ability to scale out to take advantage of the multiple cores commonly present in today's server-class hardware. With current NodeJS builds, the practical limits of a single CPU acting as an HTTP proxy are around 2100 reqs/s for a 2.5GHz Intel Xeon.

While Node is relatively solid, it does still crash occasionally, adversely impacting availability if you're running only a single NodeJS process. Such problems can be particularly common when using a buggy compiled add-on that can suffer from the usual cornucopia of C++ goodies such as segfaults and memory scribbling. When handling requests with multiple processes, one processing going down will simply result in incoming requests being directed at the other processes.

And lastly, Alex Payne sums up what large scalability and why node.js might just remain the realm of the less than skilled programmers.

Threads are not dead!

This looks interesting for javascript :

Saturday, May 01, 2010

CQRS and User Interface Design

I am beginning to have a shift in thinking about user interface design as I study the CQRS architectural pattern. The pattern really forces you to think about design UI’s around tasks.

You have to ask yourself, “Why would a user want to change the state of the system?”

Why would the user want to change the address of a customer?  Was it a mistake?  Did they move?  These might be important to know.  If they made a mistake and they have pending orders about to ship it might imply very different business rules.

It also forces you to think about the experience from the user’s perspective.

Udi Dahan said it perfectly during one of his talks: "User Interface design is as much a part of architecture as anything else that you do"