Friday, July 28, 2006

Javascript Helper Libraries

As I begin working on a new Javascript/AJAX web application, I've been poking around the web for helper libraries and best practices. Recently, a few interesting ones have come to light:


jQuery came to me from, of all places, a games blog, but it looks to be pretty interesting. The fluffy premise is that "jQuery makes writing Javascript fun." It does this by "taking common, repetitive tasks, stripping out all the unnecessary markup, and leaving them short, smart, and understandable." jQuery provides helper classes that assist in manipulating the DOM, handling events, and performing AJAX work.


Prototype is remarkably similar to jQuery, right down to the very heavy reliance on a $() function they define. Because of this, I doubt the two are compatible, and at this stage, I really have no idea what the relative strengths of each product is. Good documentation for Prototype (there is none at the download site) can be found here.


One thing Prototype has going for it is the fact that the very well-done Scriptaculous Javascript effects library is built upon it. Scriptaculous provides helper routines to do cool DOM tricks like sliding panels, fades-ins and fade-outs, and non-fluffy visual effects like letting users rearrange lists by dragging <div>'s around.

Tuesday, July 25, 2006

The Return of RuneQuest

One of the best RPG systems I've ever played was the one used in RuneQuest. This was back when Advanced Dungeons and Dragons (first edition) was king, when a house cat could kill your first level character, but your high-level character could walk off a sixty-foot cliff and know he'd survive. (Okay, well, it's still sorta like that.) RuneQuest's elegant advancement system, simple yet realistic combat system, and interesting magic system made for a great little game, and the improvements to the Dungeons and Dragons second edition seemed to borrow a lot of its game mechanic ideas. Like the d20 system, the early RuneQuest system proved to be adaptable to multiple game world settings, with its core rule system used in StormBringer, ElfQuest, and the critically acclaimed and still-going-strong Call of Cthulhu.

Well, now, Mongoose Publishing is releasing a new version of RuneQuest, and it's available for pre-order now at Amazon for $19.95. More companion rulebooks are slated to follow, including a massive guide to Glorantha, the original game world setting that was so popular.

Interestingly, they're releasing it under the same philosophy as the OGL that Wizards is releasing the d20 rules system under. Although I haven't perused the license agreement, from what I've read, it's similar to the OGL in that it allows people to freely publish content for the game so long as they do it with their own IP. Nice.

Monday, July 24, 2006

Who's to blame, Microsoft or Myspace?

Schenier pointed to an article today that describes how a hacked MySpace server infected a million computers with malware.

Now, first off, this doesn't sound like Myspace got hacked. It sounds like they just pipe in remote content like a million other web sites, and some of that remote content was infected with malware. And Windows users who viewed the web pages became infected because of bugs in Windows / Internet Explorer which allow malicious web content access to muck around with your system.

If this is the case, MySpace shouldn't take the brunt of this. Even if MySpace came up with a technological solution that could strip out all Windows exploits that pass through their servers (if such a technology were even possible), it still wouldn't solve the problem for the next web link you click on. It's infeasible to expect the administrator of every single web server to solve this problem. Web authors should be able to pipe in third-party web content from other sources without fear of killing their users' machines.

The appropriate place to lay blame is at Microsoft's feet. Your browser should not allow your computer to become infected no matter WHAT content you're browsing. It should be strictly contained in a sandbox. I understand that this was a patched vulnerability, but the Microsoft approach to security probably played a large role in the vulnerability being there in the first place; if you start with the premise that nothing should affect the system, you're more likely to succeed at protecting the system than if you go adding a bunch of feature-driven exceptions ("but wouldn't it be cool if you could just go to a web page and have the software installed FOR YOU?"). And there's always the question of the actual product quality out of Redmond. They shouldn't release software with millions of known bugs.

This is a failure of Microsoft, not MySpace, and until Microsoft changes their approach to security and the quality of their software, we're going to continue to see problems like this.

Wednesday, July 19, 2006

Django's pretty cool

I've been hearing a lot of buzz about Django lately, so I decided to download it and check it out. Django is a Python-based web application framework for quickly building web applications. And baby, it is hot. I'm really impressed with this product.

Django does out-of-the-box most of the stuff that I spend time building from scratch in PHP. You define what your data model is, and you get intuitive accessor classes and an admin interface for free. And its method for responding to server interactions is downright brilliant, using a Model-Template-View triad that brings all the benefits of Model-View-Controller but none of the cruft.

My only gripe with Django is that, as with most such products, it was a pain in the ass to get installed. I ascribe to the philosophy that you shouldn't have to type esoteric commands into a terminal window to get software installed. I guess I'm just spoiled by the Mac, but if you have to write an installation guide for your software that doesn't start with "Double-click the installer...", then I have to be pretty committed to try out your product or else I'm going to not bother. (Luckily, in the case of Django, the installation pain was worth it.)

I'm also new to Python as a language, but it seems pretty nice so far. It has some language features that I have always missed from other languages, such as being able to just name the arguments when you call a routine, like so:

choice = models.CharField(maxlength=200, core=True)

Objective C has a feature like this, but oddly, you don't name the first argument - only subsequent ones - which always seemed presumptuous. How does the language know that there is only one "natural" object for a method to work on?

Python also leaves off a lot of the extraneous syntax that most languages require, like trailing semicolons and such, but this nicety is counterbalanced by case sensitivity, which I really dislike in programming languages. If I type "post" when I should have typed "Post," the language shouldn't look at me like an idiot and go "huh?" Making a semantic distinction between "post" and "Post" is a bad idea. If the two things are distinct semantically or conceptually, they should have different names.

One curious aspect of the language, to me, was the idea that indentation has literal code meaning. I spent a good fifteen minutes trying to debug some code I typed in from the tutorial before I realized the whole code block was tabbed over one stop too far. Not sure whether I like that or not yet.

Saturday, July 15, 2006

New Dollywood ride looks pretty good!

I've never been too jazzed at the idea of going to Dollywood, Dolly Parton's theme park based on her childhood, because "growing up in the Ozarks" and "Country-Western Music" have just never resonated with me as compelling themes. But it looks like Dolly is starting to reach out to a wider audience. Coming in 2007, her new Mystery Mine attraction looks like it's going to be really cool. Like the Mummy ride at Universal Orlando, it appears to be a combination dark ride and roller coaster with state-of-the-art immersive effects to tell a story as you scream along the tracks. Way to go Dolly! Now, if I'm ever in the area, I want to go to your theme park.

Friday, July 14, 2006

NMSU Learning Games Lab featured in the Las Cruces Sun-News

Barb plays bongos with Kailey in the Game Lab
The Las Cruces Sun-News today featured the NMSU Learning Games Lab in an article titled Grading games: NMSU lab utilizes youth to test video game products. It's on the front page of the SunLife section.

Thursday, July 13, 2006

Las Cruces makes the "Odd News" section of NewsVine

Makes a guy proud when your town makes for some odd news. Apparently, a bird dropped a snake on power lines and caused a power outage.

It's good to know that news stories about Las Cruces don't perpetuate the false notion that we're a bunch of hicks in the desert sticks... "Hey, Ma! Bird dropped a rattler on the power lines agin. Get the bee-bee-kyoo sauce and some candles, willya?"

Wednesday, July 12, 2006

Steering Behaviors For Autonomous Characters

If you're looking to add intelligent collision avoidance and other steering behaviors, Steering Behaviors For Autonomous Characters is a great site that explains techniques for achieving these effects.

Sunday, July 09, 2006

Arkham Horror and 1000 Blank White Cards

We picked up Arkham Horror yesterday and gave it a spin. The production values on this game are incredible, and the game was pretty fun as well. (Of course, I'm a sucker for Call of Cthulhu stuff.) Arkham Horror is a remake of a 20-year-old game that used a lot more luck and random movement, and the updated rules improve the game considerably, I think.

The best part of this game is that it is a cooperative style game; the players are working together to thwart the designs of the "ancient one" (Hastur, Cthulhu, Yog-Sothoth, Nyarlathotop, or another randomly-chosen Great Old One), and either they all lose, or they all win, must like in the Lord of the Rings game. This makes for a fun session, since there is a lot of community-strategizing on how to best approach a rather complex puzzle.

The game is a little pricey, but worth it in my opinion - it's fun.

Also, I want to play 1000 Blank White Cards.

Tuesday, July 04, 2006

DAFE Update and Article on Astroworld's The Alpine Sleighs

DAFE (the Darkride and Funhouse Enthusiasts organization) has updated their web site with a new look, and to coincide with it, they've added a great, detailed article on the Alpine Sleighs attraction from the now-defunct Astroworld. It's a superb read if you're interested in dark rides, coasters, or other environment-based entertainment experiences. Of particular interest are the stories of things that failed and pranks that were played.

I very vaguely remember going to Astroworld as a kid, and even more vaguely remember the mountain that this unique ride was housed in. The only concrete memory I have of Astroworld, really, is the bumper sticker our little white Datsun B210 sported until its demise during my college years. But some of the photos in the article really sparked some memories for me, so this was an especially good read for me. This is why I life DAFE; they are supporting and extending this unique art form that I so enjoyed as a kid, hopefully for future generations. I guess we'll see if it ever comes back into vogue.

Best 4th of July Activity Possible

I just watched the shuttle launch. What better activity for the fourth of July than to again reach into space, one of man's greatest endeavors? As I write this, the shuttle's reaching 10,000 miles per hour, almost 70 miles above the Earth, having just broke out of the Earth's pull. They're in space now, and the external camera is showing the curvature of the earth and space beyond. Wow. With all the crap going on in Washington and all the partisan bickering, it's good to have something that reminds us of our drive for excellence, our courage, and our starry-eyed vision of what we can be. Happy Fourth, everyone.

Monday, July 03, 2006

Security? Huh?

Bruce Schneier pointed to an article that talks about how Microsoft will yet again weaken security rather than fixing their OS. This time, they're making a way for ActiveX controls to be "pre-approved" so they can automatically be installed on "Standard User" machines without an admin password:
In an interview with eWEEK, Microsoft security chief Ben Fathi said the decision to add the ActiveX installer was a direct result of demands from beta testers. 'The feedback we get is that UAC is great but, in the enterprise, there is a legitimate need to install applications on Standard User systems. We had to create a way to safely preapprove applications without the need for an admin password,' Fathi explained.
What a boon to hackers and virus-writers: executable code that can be installed without the admin password prompt. And people wonder why Windows has so many viruses.