Recent blog entries for trs80

The map of the Mozpad universe was recently linked from planet mozilla, and lists some apps built upon XUL and other mozilla technologies. Spicebird in particular looks quite interesting, almost an open source Outlook with an HTML today page (Gecko instead of MSHTML), email and calendaring (IMAP and CalDAV instead of Exchange) and IM integration (XMPP instead of MSN).

This reminded me that it's been over half a year since the RIA buzz peaked, so let's see how the other RIA platforms are going:

Eclipse has a list of open source and commercial RCP apps, although claiming Azureus as an RCP just because it uses SWT is stretching it a bit. There's a fair few AIR apps showcased but the Silverlight showcase requires Silverlight, so who knows how many apps they have ;-)

JavaFX's main competitor is probably Android, so it'll be interesting if it gets marketshare before Android ships late next year (which is also when they've promised the source - until then it's basically proprietory vaporware). Neither seems likely to have an easy time porting to the iPhone.

Also in the realm of "I can't believe it's not JavaScript" is Crockford's HMTL 5 with the nasty bits removed, which might be implemented in IE8 if the scuttlebutt is to be believed.

Prism is more AIR than XULRunner, although in Prism you can use XUL, Java and Silverlight as well as Flash and AJAX. WebKit continues to gain more brainshare, ending up in Qt4.4, epiphany, AIR, Android and the iPhone.

This was originally an email to sogrady, but as I was rereading the comments on the RIA Q&A, I noticed him admonishing me for emailing instead of blogging. Coming soon: an extended blessay on a variety of subjects, with a common thread of change.

7 Sep 2007 (updated 7 Sep 2007 at 01:07 UTC) »
StevenRainwater: Vala is an object-oriented language based around GObject and GLib that compiles to C. ncm: C still has the advantage of being the ABI on many platforms, something none of the VMs (or even C++) can claim. As for iPodLinux on the new nano, apparently it won't happen, because the firmware is encrypted.
8 Aug 2007 (updated 8 Aug 2007 at 05:09 UTC) »

As promised, I'm going to talk about communities, which is a horribly multivalent word, but it's the best there is1. No, I'm not going to give you advice on how to manage a community or trott out Clay Shirky, I'm going to talk about what happens when someone fucks up.

First, let's set the stage. There are many websites whose visitors form a community - wanting to belong is part of human nature. There are discussions, flame wars, friendships2, disagreements. And then, out of the blue, someone in power does something that crosses the norms of the community, and all hell breaks loose. Why? Because most of the time, 90% of the user base is silent, so when the shit hits the fan there's suddenly 10 times the volume of comments. I'll give some examples of the reactions to poor community management.

Back in May, Digg started quietly pulling stories containing 09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0, the AACS MKBv1 processing key, and banning the users that submitted them. Digg users are more technologically inclined than the average person, and have quite a dislike for DRM. So when the Digg blog said this was happening because they'd been served DMCA takedown notices, the Digg users revolted, posting the story continuously. Digg management responds by banning more people, and eventually taking down the submission page. Eight hours later, the whole site is taken down for maintenance and Digg capitulates to this civil disobedience.

Flickr recently expanded into several countries and languages. However, as part of this they decided that due to a German law, German users were not allowed to see pictures labeled "moderate" and "restricted", as they did not have measures in place to stop minors seeing them. This change again occurred with no warning, causing users to moan loudly and leave, and note that Flickr was misreading the law, as the German definition of inappropriate for minors covers less than US laws, and Flickr only needed to take down photos when notified, instead of pre-emptively filtering them. After a few days Flickr started talking and after a week relented to allow "moderate" pictures to be shown, but still banned "restricted" images.

Eve Online has been subject to continued allegations that CCP employees have been giving favors to one of the main factions. Some allegations have proved true, others turned out to be disinformation. CCP already had an internal affairs division that performed regular audits, but there were still accusations of bias. So CCP will hold elections for an oversight committee which will audit CCP's operations.

The LiveJournal section of this post exploded so I've moved it to a separate page. The short version is that SixApart has consistently acted against the LiveJournal community in an arbitrary and unjust fashion, while the community has been unable to effect much change - most often after a scandal LiveJournal claims nothing has or needs to be changed: "We are making no major policy changes, we have made no changes to the TOS, and we do not anticipate making any changes in the future." Even open letters with suggestions and asking for clarifications are being ignored for days.

Facebook had over 700,000 people protest over its introduction of News Feeds which broadcast everyone's activities to the world. At first Facebook claimed everything was ok because "The privacy rules haven't changed" but then three days later backed down and added more privacy controls.

So what can we learn from the above cases if you're the owner of a site that has a community? Firstly, don't govern by stealth, banning people on the sly and leaving no traces, because people will notice and complain. Inform your community of the rule changes you're making ahead of time, and make it clear who is affected by them. This is now backed up by law, due to the recent Ninth Circuit3 decision requiring notification when terms of service change. Secondly, communicate. As Hugh McLeod says, corporate blogging reduces the difference in conversations between the company and the community, so the company understands what the community is on about, and is therefore less likely to act stupidly and piss them off. And when you do fuck up, communicate quickly to say you know you've fucked up, explain why you fucked up, and are working on fixing things. Otherwise people will continue to rant and lose faith in the site owners. Thirdly, be consistent. Don't ban some people and not others. In particular, don't let yourself appear to be doing the bidding of a third party with an agenda. List your rules, make a decision about edge cases, and stick to them impartially. Ideally you should involve your community in making these rules, but sometimes that isn't possible.

Or, to steal the conclusion of Governing Transformative Technological Innovation: Who's in Charge? which I chanced upon in the Co-op Bookshop while buying Accelerando (synopsis: Singularity, Stephenson-style), governance must be Accountable, Responsible and Transparent. In particular, I applaud CCP for their creation of a player-based audit committee. The second most recent LiveJournal fuckup prompted this response proposing

that any business entity that is primarily driven by and dependent on an active and content-generating user base be obligated to assign some share of real and actualized decision-making power to democratically chosen representatives of that user base.
It remains to be seen if more businesses will open themselves up to scrutiny by their community.

However, there's a bigger issue at play here - in the case of sites devoted entirely to community, there exists terrible lock-in. Or, to quote Blizzard:

Advantages that accrue to highly successful MMORPGs... high consumer switching costs - the player has to leave their characters and friends!
This removes a lot of the incentive for the owners to behave responsibly, since they'd have to fuck up incredibly badly to force people to leave. LiveJournal seems to have managed this, but the diaspora is spread across a variety of sites based on the LiveJournal code, causing pain for those whose friends are now on different sites. It's somewhat ironic that the "network effects" these sites have accrue by making everyone use the same database instead of being spread out over the network. It's just another level of N=1 thinking, and leads to pleas like "You can have any social network you want, as long as you all pick the same one."

But everyone using the same system is never going to happen, no matter how much Google, Facebook, Microsoft or Yahoo desire it. Which is why the Online Desktop excites me so much, in particular the work towards an open service definition and applications that fulfill it. It's proposing a counter-narrative to the silos of the online behemoths. This is what Eben's talking about. Or as Luis put it:

We are standing at the brink of a huge change in how people store the data that makes up the emotional content of their lives. We must start coming to grips with the policy implications of that ... and I’m excited to think that free and open services could be part of that.

So what I am going to do about it? As a natural sysadmin I have the confidence to host online services myself, and UCC provides the perfect place to host them and provide them for my friends as well. But that doesn't help with integrating with the rest of the world. So for my fourth year project I hope to work on integrating identity across online services. I'll go into more detail once my proposal is submitted.

One closing thought - IRC can act as a social network system, or at the very least helps create an identity story. I talk with most of my friends via IRC, it's a nice unmediated public. And yet IRC is used mostly by the technically inclined, in part because it's most rewarding if you stay connected all the time, which requires technical assets (knowing how to use screen, or having a computer on all the time). IRC is pretty much a non-starter from a mobile device, unlike IM, SMS or any of the web-base social network systems.

1.Calling the people who frequent a website users is too passive, participants is too vague, contributors is too active. Lacking a more specific term I'll use community for the rest of the post.

2. Friend, now there's a multi-valent word that causes issues.

3 Which includes California, Oregon and Washington, hence Google, Amazon, Yahoo, Microsoft, SixApart and many other dotcoms.

I feel confident in predicting that 2007 is the year of free standards-based calendaring. Why? Because it works already - I'm using Lightning with Bedework (which is not shit(tm) despite being a java webapp), and there's also RSCDS which is a simple PHP CalDAV server, and Leopard's iCal will have CalDAV support to go with Apple's Darwin Calendar Server. There's also a Outlook CalDAV connector, the somewhat fear-worthy OpenGroupware fork Scalable OpenGroupware project which has a WebUI designed to mimic Thunderbird and Sunbird, as well as having a GroupDAV extension for Thunderbird's contacts and an extension to do free/busy in Lightning. And who knows, Chandler might even ship this year ;-).

Actually, OS X Server 10.5 looks really hot, and I'd even go so far as to recommend it to to people wanting to move away from Windows Server. And with any luck Apple will open source more of the components, or said people will get a taste of open source quality and move to a distro with real update support (ie, Debian or Ubuntu).

Steve Yegge was definitely correct in saying JavaScript is the next big language - Pyro, the plethora non-webbrowser usages that have appeared lately, plus the sheer size of the web creating new 1 ecosystems like most RIA platforms and the ever growing number of widget engines.

Life On Mars is pretty awesome. At the end of Transformers, when Optimus Prime is giving his speech while two humans get it on on Bumblebee, this image just popped into my head.

Uni started this week, I'm doing Databases, HCI, my final year project, and Software Engineering Industry Project Leadership which has to be in the running for "most uninformative unit name". The main task is "coaching the team [who are doing Professional Computing through several of the development stages." Hopefully there will be a team with UCCans in it, which I think is fairly likely as PC isn't being offered in semester 1 2008. The BCS is also being reworked next year, resulting in the new Web Technologies and Entertainment Technologies majors and a Game Design and Multimedia unit, with the how to use a word processor and spreadsheet first-year unit replaced with Web Technologies.

At work I'm migrating work's address book from FoxPro (ugh) to LDAP, using ConTagged, which is a nice web frontend for LDAP address books. I'm also coding up some wrappers for PBSmapping, which is an R mapping library.

Meta: I know I said I'd talk more about communities in this post, but it'll have to wait until next time. And yes, I did make as many phrases link to a relevant page as I possibly could.

1. http://iphone.fiveforty.net/wiki/index.php/ARM/Mach-O_Toolchain notwithstanding

Stephen O'Grady has a distinctive Q&A style he uses for many of his in-depth posts. He's posted a little (item 2) about why he uses it, but I've now got a slightly deeper look at why it works. Jon Udell has posted the answers to some questions about screencasting. He talks about the "conversational demo" as a type of screencast, but I think it can also be applied to the Q&A (in fact I thought he was applying it to his Q&A) which is an attempt to provide a conversation in one blog post. People have conversations with each other via their blogs, but that's hard to do when you're the person with all the info and want to explain it to people, hence the Q&A.

Via jgovernor comes Zen and the Art of Attention, and in the comments people talk about ignoring unread item counts. All I'll add is my bookmarks page doesn't have unread counts, and I love it.

The three religions of RIAs takes me back to last month when every man and his dog was announcing a RIA toolkit. My particular interest was to do with the discussion surrounding XULRunner as a RIA platform, which resulted in providing a bunch of links for Stephen's RIA Q&A. For a while on Planet Mozilla there were vague rumblings about XULRunner as a competitor to Adobe's Apoll^WAIR, which intensified with the announcement of Silverlight at MIX and Chris Messina's hour-long ramble. Discussion went back and forth on the planet, and then there came the announcement that MoFoCo wasn't planning on making a pre-packaged/standalone XULRunner binary distribution until Mozilla 2 was first read as "we're ignoring it", although that was later clarified to say there would be no system-level XULRunner, but that it would still be developed. Which is fair enough, particularly given MoFoCo's limited resources, and Brendan Eich's justified belief that XUL's best hopes for becoming a fully armed and operational web/RIA platform is Mozilla 2.

However, people are building applications on XULRunner now, leaving an unmet desire for developer support, so various interested parties (including AllPeers, Songbird, Flock, ActiveState, IBM, Joost, SeaMonkey, TomTom) started up Mozpad. This was partly possible due to the flexible nature of the term "Mozilla" - MoFoCo are quite happy to let it cover every aspect of the wider Mozilla community rather than exercising strict control over what can be called "Mozilla". So everyone ended up fairly happy. But what happens when there isn't this sort of flexibility available to a community at odds with its host? I'll be going into some examples in my next post.

Other notes: OpenStreetMap is kind of addictive. Also, hate to udev and alsa - renumbering my cards to a consistent order is a right pain, particularly since when testing udev rules you have to reboot to test each change.

Warning: blogorrhea ahead. I'm trying to clean out my thoughts for some more in-depth posts later.

Wolfenstein: Enemy Territory is being played at UCC again - its popularity waxes and wanes. This latest jump might be due to severe drop-off of WoW players after Blizzard fucked up most of the classes in the expansion. In anticipation of Enemy Territory: Quake Wars I bought a new PC - C2D 2.13@3.2, 2GB RAM, 8800 GTS 320MB OC. I kept my SoundBlaster Live as I know it works under Linux, unlike the X-Fi. I also bought STALKER - Shadow of Chernobyl collector's edition, although I haven't gotten it working under wine yet, so I haven't played it. As should now be obvious, I'm only running Linux on this computer - specifically, Debian Etch, the same installation on my old computer that dates from September 2000. One of the last things keeping me in Windows was iTunes with its database of ratings and last played times which fed into some complex smart playlists, but banshee-itunes-import-plugin did most of the work, and provided the information required to recreate smart playlists based on smart playlists, which it doesn't handle. I've also converted my locale to en_AU.UTF-8 after getting utf8 to work in IRC by compiling new versions of screen and ircii on morwong and tartarus.

Life: While I could probably earn a fair bit being a VOIP monkey, I'm going back to uni to finish off my degree. Re-enrolment needs to be done by Friday June 1st. For other events around that date, see the news (which the observant have already spotted) on my bookmarks page.

While flash has made video on the web much more prevalent, it's also dropped us back 1996, when MPC 3 specified 320 x 240, 15 bits/pixel, 30 frames/second. I suppose it shouldn't be that surprising given the bandwidth of the average net connection is about as fast as CD-ROMs were back then. OTOH I see no reason to upgrade to an ADSL2+ modem because my upload would be the same, and the real constraint on my downloads is monthly download quota. This is also why I'm not bothering to sign up for Joost even though it's free, since I've a) got a functioning MythTV setup already b) I'd just have to pay for more downloads. Hooray for there being only a few fibre cables under the Pacific, and Telstra's local loop monopoly. Although the community features of Joost could be interesting - I barely use MythTV because I don't keep track of what's on FTA, and my friends all download TV shows.

StevenRainwater was kind enough to wrap diary entries in div tags with class="node username" so I can hide syndicated diaries that I read elsewhere with this in my userContent.css:

@-moz-document domain(advogato.org) {
    div.user { display: none; }
}
Somewhat related is the concept of a snooze button for social sites. I also hunted down a LiveJournal (and other sites) Greasemonkey killfile script for a friend. It'll hide comments from people, and in my copy I've enabled hiding on your friends page as well. It might need some changes for your specific friends page - contact me and I can do it for you.

Finally, some accumulated cruft from using Advogato's diary page as floating data storage:

A first-hand account from UCC that swapping hard disk controller boards still works in this day and age. The UWA Computer Science department got reviewed resulting in a report that lists its problems as "financial, organizational, strategic and cultural in nature."

24 Feb 2007 (updated 24 Feb 2007 at 06:51 UTC) »

thoughts while driving home a few nights ago • feeling limerent and anti-liminal - a sense of belonging and connectedness • openldap needs better docs, particularly examples • freshers wandering back from the cap s, that general feeling of semester starting again • lent in the southern hemisphere • heroes rocking, despite being spoiled by steve, and me squeeing at vm like a fangirl • why does ldap seem so much nicer than sql? maybe it's just a domain-specific database? • driving music new order - 60 miles an hour which reminds me of pete sullivan in expiration date

23 May 2006 (updated 23 May 2006 at 12:07 UTC) »

So apparently the forthcoming Ubuntu Dapper release will include on a forth, yet-to-be-announced architecture. There have been a lot of SPARC fixes going in ... and it's a Forth architecture ... it must be Ubuntu Open Firmware!

We cleaned out UCC's Shenton Park storage area, and the sheer number of vt320s gave me an idea for the UCC vt320 delivery service:

Playing a whole lot of ET recently, can't wait for ET:Quake Wars to be released.

Set up 1.6TB of RAID 1+0 at work, and it struck me how document and data management is quickly becoming a mainstream problem. Most people store their files without any software assistance, but this breaks down once you get a few hundred GB of stuff. It's probably a solved problem for large businesses, but I haven't really seen any small-scale tech for this. Is great search like Beagle or the various Desktop searchapps the solution, or will WinFS be required? What's the Free desktop's answer to this problem? Also related is Long-term backup.

I know UCC could sure do with some help organising its amorphous mass of data that's spread over too many filesystems. Maybe what I want is some sort of intranet/CMS/wiki site for top-level organisation, but that supports direct links into the filesystem that work regardless of which computer you're using. Actually, with the gnome-vfs integration in mozilla plus sftp this might actually work on Linux.

11 Mar 2006 (updated 12 Mar 2006 at 09:06 UTC) »

There was dew on the grass as I left the MINCS LAN tonight, autumn has finally arrived.

gobry: There is DOAP, which seems to be used by CodeZoo among others, subscribing to it over Atom.

38 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!