Blog | Admin | Archives

Google App Engine: Too Many Bugs?

I know that Google App Engine is “Beta” and all that. I also know that there are ways to work around both of the egregious bugs I have run into so far. However, after spending a large amount of driving time and downtime during my recent visit to Glacier National Park to refactor a huge amount of code in Concurr in part to work around the first of these bugs, only to be thwarted by the second bug, it begins to feel like Google App Engine is too immature for the real world. I mean, for heaven’s sake, I’m working on a simplistic game and GAE seems too immature even for that.

The first bug, we seem to be the first to discover: sometimes, entities in the data store don’t actually get deleted when App Engine says that they are deleted. I was able to work around this bug by adding a “valid” field to fleets, and invalidating any fleets that should never be returned again. Since storing updates (“putting”) to the data store always seems to work, this workaround seems to be effective. But the fact that it is necessary is disturbing.

The second bug had been discovered before I ran in to it; it was first reported way back in May, but it remains unresolved.

Unfixed four months later, I have to question whether the bug will ever be fixed.

And with two bugs of this magnitude, I have to wonder what other problems lie out in the murky depths. Certainly, I would not trust a “real” application to GAE. At this point, I think going towards the traditional server/database model is the right move for Concurr, and again, it is just a silly game that I happen to love.

When In Eugene

I drove down to Eugene, Oregon today to visit my sister and nephew. In addition, I am helping to bring my sister’s computer back to life and set my nephew up with my Dad’s old laptop. Setting up the laptop with Windows XP was some kind of adventure. I needed to upgrade the BIOS, but that required a diskette, which I no longer have the ability to create easily. Fortunately, the laptop itself knows how to create diskettes — but it has to have an operating system installed to do so. So I ended up installing FreeDOS on the laptop in order to create the disk to update the laptop’s own BIOS. With that done, I was able to install Windows XP, which on a PII at 300 MHz with 128 MB of RAM, ended up being an all-night ordeal. However, he now has the computer and he’s enjoyoing it immensely, so I guess it was all worth it.

As for my sister’s computer, she or my nephew seems to have downloaded some sort of nasty virus or spyware that does a fairly good job of masquerading as an official Microsoft Windows antivirus program. As her computer is a Pentium III, this is also quite an adventure.

By “adventure” I mean of course a lot of watching progress bars and being patient.

Repurposing

With a little help from my friends, I was able to get Nexus into a new case last night, with some new hard drives, a new motherboard, processor, 1280 megs of RAM, etc. The process was remarkably smooth once we found a power supply that could reach the motherboard from the Antec Three Hundred’s power supply tray at the bottom of the case. The CPU fan is a little loud, but tucked under my desk I was unable to hear it last night. I may still even get a quieter fan for the CPU, and two quiet 120mm fans to help keep the hard drives extra ventilated. I probably need to throw in one more SATA adapter to allow a full compliment of hard drives, and then Nexus will be set for probably the next five years.

The major hiccup during the upgrading of Nexus was a dead graphics card; however, the Radeon 9700 Pro from the currently languishing Kaleidoscope fit the bill and got the project back on track. However, it got me to thinking about what Kaleidoscope’s future will be, and this morning I figured it out. Kaleidoscope will become a Media Center PC. All it needs is a suitable AGP card with Media support (component video + HDMI, perhaps?). Since AGP is so out of fashion, I should be able to find a decent card for cheap, and with a few cables It’ll be ready to go. The surround sound addition will also be nice. The weakest link will certainly be the size and picture quality of the TV.

Google Appengine Sucks [Whoops]

It is an interesting idea, but it appears to be incredibly slow. Indeed, a few hundred add operations bring it to its knees. Lame.

UPDATE: See comments.

Nexus Upgrades On The Way

A few of these in the past few weeks:

This is an automatically generated mail message from mdadm
running on nexus

A DegradedArray event had been detected on md device /dev/md0.

Faithfully yours, etc.

P.S. The /proc/mdstat file currently contains the following:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda[0]
732574464 blocks [2/1] [U_]

unused devices: <none>

Followed by the real downer:

This is an automatically generated mail message from mdadm
running on nexus

A FailSpare event had been detected on md device /dev/md0.

It could be related to component device /dev/sdb.

Faithfully yours, etc.

P.S. The /proc/mdstat file currently contains the following:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[2](F) sda[0]
732574464 blocks [2/1] [U_]

unused devices: <none>

Led quite quickly to this:

1 x ($59.95) CASE ANTEC|THREE HUNDRED BK RT – Retail $59.95
4 x ($109.99) HD 750G|SAMG 7K 32M SATA2 HD753LJ – OEM $439.96

Which should be arriving from NewEgg sometime next week.

I plan to reuse former roommate Dan’s old motherboard and power supply in the upgrade. probably I will build a RAID 5 array from the four just-purchased disks and keep the good 750 that is still in Nexus around as a spare. The flaky drive will probably become available for cheap or free if anyone wants to risk it.
The new case will hopefully keep the new drives cool and comfy, lowering the risk of any future issues.

Summer LAN Party

Ananth hosted another of his famous and wonderful LAN parties yesterday. Despite telling myself that I wasn’t going to stay up all night (as I had a pretty full day today), the party was a lot of fun and I ended up staying up all night anyway. The games of the night were the ever-popular DotA, Theo’s excellent, if buggy, alpha release of the galactic dominion game Concurr, and the best games of SupCom that I have ever played.

Fortunately, I have most of the day’s activities still in front of me. Church was pretty much a lost cause by the time I broke the 5am mark, and I managed to miss the Blue Angels show for the first time in a number of years (I’ll make it up next year!), but I’m still looking forward to a wedding, a visit with the folks, and a home theater movie night.

With Scrabulous Gone…

…Facebook is dumb again.

The correct move for Hasbro and Mattel, if they want both control and goodwill, would be to buy out Scrabulous. With their lawsuit, they may gain control, but they will not gain my goodwill. In other news, these forever-long copyrights are out of control.

I hereby state that I will never play the officially sanctioned online game.