WorldMaker.netBlog2008 › February

Twittering it Old School

2 years ago

So, I'm still not entirely convinced about Twitter, but I'm tired of people talking about it as some sort of newly sliced bread so I've ventured into the world of Twitter. Now, you can read and follow my twitters from the website, but I figured that wasn't cool enough for retro street cred. I wrote a simple script that will now allow you to follow my twitter from the old school UNIX finger command: finger me@worldmaker.net.

For those curious, here's the simple and stupid Python script to generate a twitterified plan file: (I used Django utils because they were handy; you'll also need python-twitter and simplejson. Django utils need a settings module for translation apparently.)

#!/usr/bin/python
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'some.django.settings'
from django.utils.dateformat import format
from django.utils.text import wrap
import twitter
import datetime

"""
Simple script to populate a .plan from twitter updates.

Public Domain from Max Battcher.  No rights reserved.
http://www.worldmaker.net/
"""

PLAN_FILE = ".plan"
TWITTER_USER = "YourUsername"

f = open(PLAN_FILE, "w")
api = twitter.Api()
sts = api.GetUserTimeline(TWITTER_USER)
for st in sts:
    txt = """
%s: %s
-- """ % (format(datetime.datetime.fromtimestamp(st.GetCreatedAtInSeconds()),
        "F j, Y @H:i"),
        st.text)
    txt = wrap(txt, 75)
    print >>f, txt
f.close()

Design Decision: The Perils of PNRP

2 years ago

Most of my biggest design issues on working on my game have come from the wonderful world of networking. It's not that networking is hard, but it's more that there are way too many choices and currently no decent panaceas.

Currently drawing my ire: PNRP, the Peer Name Resolution Protocol. Ultimately PNRP is a very simple tool: it's a distributed hash table mapping keys to IP addresses. When it works, it's easy and scalable. Want to connect to a new "room"? Find some IPs from PNRP and connect to them and you're done. But it seems to a certain extent that it doesn't really work, at least, not reliably, and when it doesn't work it can be hard to diagnose and harder to fix. Not to mention the fact that on XP it's not installed by default and the install is irritating and quite prone to failure in my experience. It's not exactly PNRP's fault, and I still respect it as a technology, but it just seems that it's still too early to rely on PNRP in an actual application that you plan to distribute outside of a tightly controlled network.

I figured I would eventually have to replace PNRP, but was hoping to at least use it as a cost saving device early on during testing... But all of my difficulties in setting up test environments and working with testers have come from installing Windows Peer-To-Peer and getting PNRP set up and talking to the correct clouds and wondering about why things don't appear to work... So it looks like I'm going to have to replace it as a dependency sooner rather than later.

On a semi-related note: When can I get access to the Steamworks ...

Now you are thinking with loops!

2 years ago

I've been TAing CECS 121, which is now our "C for Non-Majors" class, mostly for experience. The class is being handled at what I know many programmer's would consider a snail's pace, but it's an attempt to keep it at least somewhat informative and useful to a group that now includes Psychology students among others. We've spent the last few weeks on loops. A few days of "while" loops, an introduction to "for" loops as cleaner "while" loops and today a project requiring nested for loops.

It's interesting how complicated loops seem to some of the people that I'm helping. There are the few that expect "spreadsheet" and still haven't quite grasped procedural code. Not that functional programming is an answer here, if for no other reason than recursion would seem even more complex to these same people...

I had that Portal line in mind every time I admitted to a person that "Now you are thinking in loops!"

CSS Rewrite

2 years ago

I rewrote the CSS that I was using using the YUI stack of foundational CSS files. For the most part I've been happy with the theme itself, but it had a few quirks and I've always preferred to write my own rather modify someone else's CSS. This rewrite affords me some interesting new design flexibility. (For instance, the Code pages now have a real sidebar.) I'm continuing to tweak and have a few plans for the new design flexibility... primary among those is I'm contemplating switching to a threaded style of comments once more.

Some intentional things you might notice changed with the new design: new logos, disappearance of the translucent version of the gear (I need to find some other way to bring the gear back, I think, I felt it was taking up too much space the old way), tabs have switched sides, new list bullet...

I'm making small adjustments and tweaks as I see them, but overall I think the rewrite appears to be a success...

World of the Moment: Wirepunk

2 years ago

I made the decision a while back to explore more of my world design imaginings here on my blog, particularly because it is preferable to losing them, and maybe I'll generate some support for them.

My latest world design came when my brother prodded me that a wireframe MMO might be a reasonably "cheap" thing to produce. Theoretically, after all, it might be considerably cheaper to find decent wireframe artists than good artists of any other sort. This was prompted partly from several hours of playing Rez HD.

Background

I'm still something of a fan of the goofy 80s films WarGames and Tron. The other day in a debate on the sci-fi worthiness of Tron I gave the opinion that I felt that part of my enjoyment of Tron was from the fact that I considered more historical fiction than sci-fi.

I started to posit a world in which the events of WarGames and Tron had actually taken place... and started to come up with probably one of my more compelling world designs in a while for a "wirepunk" epic that really could only be told in MMO form. I don't have a very good name for it, so right now I'm just going to call it Cloud. (The only name coming out of a very short brainstorm session was the amusingly alliterative but overlong SpiderWire, which might be a good project code name.)

The Basic Premise

The basic premise is pretty simple, but lovingly possible: In the 80s the US government put considerable work into a user-friendly protocol for the then-nascent ARPAnet/Internet, entirely classified ...

Blogs of the Round Table: The Art of Foley, plus Contractually-Obligated Usability Noises

2 years ago

First, I should preface this by saying that I have a healthy respect for the Foley artists in the world. It really is amazing to watch a good Foley artist at work (you can catch sometimes in DVD extras) making extraordinary sounds from careful manipulations of average, ordinary objects. We've known since the days of early radio dramas that our sense of sound is the easiest sense we know how to realistically fool. The many years of television and film production have nearly perfected much of the art of making the audio effects we hear "realistic".

Arguably there aren't any real innovations left to make in terms of audio effects. There is no "uncanny valley" for most sound effects and sound effects are the easiest and cheapest media we have the ability to record, re-record, manipulate, and re-manipulate. You can buy standard, over-used sound effects on CDs for cheap. They may be something that you've heard a million times, but they probably will still suffice for the job and there are some simple tricks that you can do with off the shelf software to help even the most recycled sound effect sound fresh and new.

So far the consensus in this month's round table is that audio can be critical to immersion. I certainly agree with that sentiment, but I think it is useful to dissect why audio effects are crucial to immersion. Audio effects, I think, are so effective in drawing immersion because they are ultimately "cheap sources of realism". In most cases it's going to be a lot more cost-effective to push for added realism in a sound composition than to attempt to fight the various valleys of uncanny in realm of graphics.

Here's a pitfall to be weary of, however: realism ...

Tagging happy...

2 years ago

I finally consolidated all of my tagging functionality here on my personal site to the more comprehensive, more "out of the box" experience of django-tagging. This means for me that tags now actually work on blog posts, so maybe I'll start using them more consistently... It also means that I now have my own tag cloud to stare at in wonder as opposed to a boring flat list. There's some other cleanup there on my tag pages, but the cloud is the most visible. Now I'm debating putting a blog-specific cloud on the blog main page.

The only real interesting bit of the code I had to figure out and write is my general "every model" cloud view, because while django-tagging provides clouds for individual models it is missing this particular ability:

def cloud(request):
    """
    Grand tag cloud for the whole ball o' wax.
    """
    tags = list(Tag.objects.extra(select={'count':
        '''SELECT COUNT(*) FROM tagging_taggeditem
        WHERE tagging_taggeditem.tag_id = tagging_tag.id'''}))
    return render_to_response('tagging/tag_list.html', {'object_list': calculate_cloud(tags)})

The only thing that should be noted is that extra select clause works for PostgreSQL, but won't work for MySQL, due to using a full sub-select.

A new key on my physical keychain to play with in the digital world...

2 years ago

I bought an Athena USB cryptographic token through Trustbearer Labs. First out of the gate is that I re-delegated my OpenID to Trustbearer's OpenID Provider and now am officially too secure for most normal OpenID usages (blog comments). Oh well, I'm hoping to play with the token and see what other cool things I can do... Right now I'm mostly curious if I can use it for OpenSSH keys...

On the OpenID front, I've been contemplating for a while that I want to switch from the current version of django.contrib.comments to django-threadedcomments. If I were to do the switch it would be a good opportunity to add in some niceties for people that want to login/validate with an OpenID... not that I get a lot of comments clamoring for such things, but mostly because I think it would be nice to have.

From the Telltale Interloper: Mike Stemmle shows up

2 years ago

Mike Stemmle is quite the legend in game writing for his credits on Sam and Max: Hit the Road and even Escape from Monkey Island (yes, it had good writing once you realized that it wasn't a Ron Monkey Island, much less a true sequel to the non-Ron Curse that would have been nice to have). This is great news for Telltale as the number of crazy funny writers that understand adventure game writing increases.

Unfortunately I'm assuming this is bad news for Star Trek Online. I knew the rumors have said that the project is all but dead, but considering that Mike Stemmle as STO head writer was one of the key things that gave me any hope at all for the project in the first place... It's certainly dead to me now if it has lost a talented head writer.

On GameTap Shuttering Uru

2 years ago

I've been thinking about this since the announcement occured and although I've already written my thoughts in a forum specific to topic I'm curious if they may have more weight in my blog where they are certainly less likely to get drowned out.

I've been an Uru fan since it's original debut over 4 years ago. I was quite upset with the original premature termination by a seemingly-panicking Ubisoft. I've retold that story a few terms, most recently as an aside in my thoughts on The Tragedy of Mythica. At the time it seemed obvious that Ubisoft had failed to give the matter due consideration: it seemed incredible that the project was canceled in essentially the 11th hour.

GameTap stepped in to resurrect the property, nearly three years after the original shutdown, and gave it an entire year to attract an audience, and stabilize as a platform. GameTap has recently announced that after this first year the company could not justify costs of Uru and that Uru would be shutdown.

I don't have any hard feelings this time, it seems like a clean break and an honest business decision.

Part of this is because I'm something of an [Adult Swim] fan. [as] has made a name for itself as being the home of a lot of niche (and some not so niche) comedy and anime programming, attracting mostly just the college student demographic, but making that work as a viable business decision. [as]'s comedy shows have been some of the most experimental/ludicrous comedy on television for the last few years, and amazing risks have been taken. (Cartoon Network/[Adult Swim] and GameTap are sister organizations within the Turner organization under media giant Time Warner.)

Part of this has come with ...

The Bitchun Society and "In it for the lulz..."

2 years, 1 month ago

In Down and Out in the Magic Kingdom a society, the Bitchun Society, was posited in which people were valued on their street cred and their determination to do cool things. In some ways that's the way the internet seems to work, at least the crazier and more fun sections. I've been talking recently about Project Chanology, not because I'm a member (I am not a member, nor have I ever been), but because its hard not to talk about it with all of the big Digg posts and Youtube hits. But what I fail to mention to the older people around me (and few have picked up from media coverage) is that so many of the Anonymous Legion are simply "in it for the lulz..." (in it for the laughs, and if that isn't worth your whuffie, I don't know what is). The revolution will televised, but it may also include the requisite amount of rickrolling and Bel Airs... For those last few terms you may be inclined to visit the Encyclopedia Dramatica, but be warned that this rabbit hole is most definitely NSFW.

Lawrence Lessig and Barak Obama

2 years, 1 month ago

Lawrence Lessig, someone that I've come to trust as a fighter for decency and intelligence, put together a 20 minute persuasive video on why he supports Obama. It's worth a watch. (Lawrence Lessig has been Obama's adviser on technology-related issues, by the way.)

Lessig posted a little bit later a YouTube music video of Obama's Yes, We Can speech. Also worth a watch.

I haven't spent much time forming an opinion for the primary as Kentucky doesn't have much of a voice in the weird caucus system that we see today. I do find myself leaning towards Obama over Clinton, particularly because of his involvement with Lawrence Lessig.

On Microsoft, Yahoo, Google and Competition

2 years, 1 month ago

I think right now every analysis I've seen tends to underestimate Microsoft, overestimate Google, and forget the lessons we should have learned from Yahoo. First of all, the obvious key here is not search or services, it's ads. Microsoft + Yahoo yields nearly as much advertising revenue as Google and a good deal more clout in attracting ad buys. It's obviously the big reason for the bid, with the other big reason being Google's multiple bids for Yahoo at this point. Here's the funny thing: Microsoft doesn't need the ad revenue. Microsoft has products and productized services that continue to make money and will so for the conceivable future. Yahoo needs the ad revenue, and always has. Yahoo is dependent upon that. It's quite likely that Yahoo would benefit from a Microsoft merger/takeover than Microsoft would.

I think that Google has a lot to lose if the deal goes through. Right now they are the undisputed kings of ad revenue, but the lesson people should have learned from Yahoo (and the companies that came before it) is that online ad revenue is a fickle, fickle beast. Yahoo used their lucrative leading position in ad revenue to bankroll a certain Stanford venture that eventually came to usurp their throne on the top of the ad revenue pile. Maybe Google is smarter than that and has a better eye for potential rivals than Yahoo, but every company has the potential to make bad business decisions that looked like good ones at the time.

I escaped Yahoo! Mail following the attempts to productize it in the era where their ad revenue was shrinking due to the bubble pop at the end of the .com boom. I have an escape plan should Google start to productize their ...

Improv Everywhere

2 years, 1 month ago

Heart: Improv Everywhere. I really do love this sort of thing... flash mobs, crowdsourcing, "storytelling in weird ways".

Colophon Copyright © 1999-2009 Max Battcher / WorldMaker. Some Rights Reserved. With our thoughts, we make our worlds.