(originally posted at

Oh CyanChat… where do I even begin?

I’d been vaguely aware of CyanChat since first finding Myst/Riven stuff online, back in 2000 or so (anyone else remember Leeloo’s Riven Hints site?), but the first time I actually joined CC was in 2006.
August 2nd, 2006 exactly. The day the first beta invites for MOUL went out. Gadren had posted on UruObsession that there was some sort of party going on in CyanChat, and Cyan’s intern RivenChan was giving everyone gold (guest) status.

So I went to see what was going on, and just kinda never left. There were a bunch of prominent community members in there; Tweek, Alahmnat, RIUM+, chucker, Aloys, and the occasional visit from RivenChan or greydragon.

I should mention that I was 15 or so at this point. I would go to the library at school during lunch and log in to the Java chat, reading chatlogs when I got home, and staying up far too late chatting about pretty much any topic imaginable with the people in CC.

As a programmer, one of the first things I did when I saw the CyanChat protocol spec was to start writing my own CC client. In C# first, then a server in C#, then a rewrite of the C# client, then some hacking on Kirsle’s Perl client, then one in Python, then one in C# to try out the new WPF technology, then a Pidgin plugin in C, then a few more C attempts to make a CC API library, and some C++ stuff, and bugfixes to a Ruby client… I wrote a LOT of CC clients, and it was my defacto “Learn this new language” project :P

By mid-2007, I’d become friends with some of the CC regulars. TW, vaaht, Nisan, M’buhir/Ku’mah, wandering_nomad, Edrick, theclam, Ki’Sak, Novah, Zadok, amonre… It was great with the ongoing Uru Live storylines too, because people would come in to CC from work/school to hear about what was going on in the cavern.

We started doing late night Skype calls at some point over the summer. Looking back, despite all the high-school angst and teenage insecurities and mild depression, that summer is one of my happiest memories. It always feels like the “golden days” of growing up.
It was some sort of crazy and wonderful happenstance that we all ended up in CC that summer and throughout much of the next year.

At some point, I decided to write a bot to transmit between CC and an IRC channel. Originally intended to temporarily work around an IP ban for mistyping something and triggering the language filter, the idea proved popular enough that several people switched to IRC full-time. I feel like that contributed significantly to the slow decline of CC, and I continually blame myself for that :(

As interest in Uru waned after the shutdown, and people got busy with jobs and life after school, the CC population dwindled. Ultimately it came down to only 4 of us and the IRC bot, and even on the IRC side nobody was really talking. After a year of that, I closed my CC client.
CyanChat and the people there were an incredible part of my life for those few years. It really felt like a family moreso than a chat room, and it was really hard to finally accept that most of you were gone and leaving a chat window open wasn’t going to make you come back.
I owe so much of my musical tastes to wandering_nomad and his CyanChatRadio shoutcast streaming.
I never would have completed NaNoWriMo in 2008 if vaaht hadn’t been reading my work and making suggestions. vaaht was a huge part of helping me to accept certain aspects of myself during those years.
I learned so much from Nadnerb, and especially liked our technical discussions and almost-telepathy.
Now everyone is off doing their own stuff, living their lives. I wish I’d made more of an effort to stay in contact outside of CyanChat, but that regret applies to almost everyone I’ve ever known.
There’s talk of shutting down CC, after almost 17 years of being the “official” chat room of the Myst community. I hate to see it go, knowing how much it meant to people and the friendships and relationships that grew as a result. But if nobody is connected, and nobody is talking, is it really worth keeping running?

Empty chairs at empty tables, where my friends will sit no more.


Firstly, we survived and we are awesome. There are few things better than seeing 5 groups send files back and forth over wireless modems on a protocol we designed and then being told that you are the first group in 20 years to accomplish that.

What was interesting for me (between periods of frantic bug hunting) was watching how people worked, how they tried to solve problems, and how they handled things going wrong. From watching that, I’ve realised some things.
I need to be less… controlling about things. I try to always be open to new ideas and new methods, but I always try to ensure that everything is done the way I would do it. This leads to other people feeling useless, and me reaching the point of burnout from trying to do everything. I will always have a need to know how the project as a whole works and how all the pieces fit together, I’m definitely not one for blackboxing. But I need to trust other people to do things, and trust that they can be help responsible for what they’ve done.
Almost as importantly, someone needs to hold me to similar standards. There should be debate about how to do something, and someone’s idea should not be used simply because it’s easy, or it sounds good. I should need to prove my reasons to people before I’m simply given the freedom to implement it.

Those of you who felt like you couldn’t contribute anything, or (worse) those of you who got stuck writing documentation at the last minute: Don’t let me do that to you again.

From My Hands

(Cross-posted from GoW Forums)

I… haven’t touched Blender in 2 months.
I haven’t done any meaningful work in Blender is far longer.
It’s sad for me to say that, because I have things that I want to do and ideas that I want to develop.

We’re losing people. I’ve seen more people lose interest over the past 6 months than I have in any other period of Uru. We’ve been given hopes and promises, and now we’re all waiting for something that might never come. Times change and people get busier, and I feel that need to seriously ask myself why I’m still here.

It’s not because I enjoy it: Uru is depressing these days, and I don’t want to build Ages that nobody will ever explore;
it’s not for the community: I’ve seen almost all the good people lose interest, leaving only the idiots on MOUL worshiping their Holy Blue Lords of Cyan;
it’s not for the potential: time killed whatever potential was left in Uru.
It’s not even for Plasma anymore, the more I see of it, the more I realise how much it could be improved and yet there’s no way to do that.

I thought things would be more open when MOULa started, but instead they’re more closed than before. Any incentive to work on stuff is crushed by Cyan’s continued silence, and the overwhelmingly vocal disapproval of many community members. We all have bad days where we ask “Why do I put up with this?”; but when you’re seriously asking yourself that question every time you think of Uru, maybe it’s time to move on. I don’t want to be part of this anymore.

Uru’s dead, more dead now than before MOULa started. I keep wanting things to change, but I can’t keep pretending that they ever will. Cyan can’t make Uru work. They’ve lost direction and fragmented so much that the only thing keeping them in business is rehashing existing games on new platforms. The “Golden era” ended with Prologue, and came to a crashing halt after Myst V. MOUL never managed to bring any of that back.

The future is uncertain. I can say for sure that prpl-uruki will probably never be finished, and libHSPlasma development has mostly stopped as all the developers lost interest. PyPRP2 is up in the air, very dependent on what happens with Blender and whether there’s still enough interest to keep developing it. Without maintenance and support for the current tools, Age builders will lose interest and drift away, and with them goes any lingering hope for Uru’s potential.

For now, we keep waiting… but maybe someday you have to accept that the story’s over.

Moodle 2.0 Theme Contest: Silvern

Announced at, I decided that this was the perfect excuse to actually finish the theme that I’ve been developing for over a year.

That year has been interesting, since almost every single piece of code related to themes has changes multiple times, requiring a number of theme rewrites to keep it all up-to-date. I seem to repeatedly have this issue with writing lots of code for something that’s in active development, and then rewriting that code to keep up with the API changes. >.>

The theme uses one of the new custom renderer classes to output HTML5, and includes a number of admin-configurable settings such as colours, welcome text, and the site logo.
My entry is called Silvern.

Silvern Moodle Theme

Silvern Moodle Theme

Edit: I almost forgot to mention: All the code for this theme is available on my github account. Enjoy :)

Future of the Web 20100521

“Future of the Web”

Given the amount of very cool things happening on a daily basis in the world of HTML5, CSS, SVG, and the web in general, it would be cool to have a place to share thoughts, ideas, and cool links. (Idea largely stolen from Sören‘s “Chuckellania”.) I always like to watch for cool developments, and since beginning work at Ayogo Games, Inc. as a co-op student, I’m seeing cool links on an almost daily basis.

  • Support for CSS’s @font-face construct is surprisingly widespread, support in some form or another by all major browsers. Of course, the font formats that are supported vary widly from platform to platform. IE supports only the strange EOT format, while everyone else supports TTF and OTF. Firefox prefers WOFF, which is also supported by Webkit and IE9.
    Google is now offering “web fonts” of the future, hosted CSS files that contain the @font-face definitions. They also have an entire webfonts API to control font loading.
    It is great to see fonts like Droid on there (which is an entirely free font, used by my blog and my Ubuntu theme). However, a quick look at their CSS seems to indicate that the fonts are in TTF format only, which might limit their use on IE.
  • I played around with the IE9 Preview 2, mostly in IETester so that I wasn’t restricted to example pages. I was highly surprised that the rendered output was on par with that of older Firefox builds, but with much smoother text. Seems that the switch to DirectWrite was worth it. Of the CSS features I had in my test, the only thing IE9 was noticeably missing was text-shadow, which is rather minor. Now we just hope for speedy adoption, which might be an issue given the lack of support for Windows XP.
  • On the subject of IE9’s standards compliance, it currently handles HTML5’s <svg> tag better than Webkit. Firefox 4 will support is with the HTML5 rendering engine, but Webkit browsers only support inline SVG content when the page is served at XHTML. The bugzilla issue doesn’t seem to have caught anyone’s attention yet.
  • HTML5 video is starting to take off, with IE9 announcing that they will support H.264 encoded video playback. As much as I would like to see a fully open codec used, with Apple, Microsoft, and Google (via YouTube) putting support behind H.264, I think the battle is over before it really began. It would be nice to see some sort of official agreement made that would allow an open-source H.264 codec to be shipped in all browsers without worrying about patent issues. Opera seems to be planning to use existing backends such as GStreamer for its video implementation, leaving Firefox as the only browser without a way to view H.264 content. On the flip side, IE9 could be the only browser without a way to view OGG Theora content. Safari uses QuickTime for video, so even it can play Theora files after installing a codec.
  • Ending on a complaint… It is 2010. IE9 is in a preview stage with very good support for HTML5. All other browsers have equal or better support. But I still have to hack around transparent PNG images because of IE6. It is 2010. It is time stop dealing with IE6’s flaws. I don’t mean simply showing messages warning users about upgrades, I mean an actual refusal to deal with those browser issues. When that happens, we can start the same treatment for IE7.