June 28, 2009
The reason I favour some console applications over their graphical equivalents is that they’re designed to be easy to use with a keyboard. A little while ago I wrote about a day I spent trying to perform my usual online and music-listening tasks using console applications, just for fun. These days I spend my time in KDE4 and have my graphical web browser back so that I can keep up with xkcd. I’m still using cmus to play my music and irssi is going to remain my IRC client of choice for some time.
There are practical reasons why one might be restricted to console apps—connecting remotely with no X forwarding, or perhaps being on a romantic computing date with a hopelessly ancient terminal. There are also reasons why one might need a mouse. Graphics or audio editing, games, some website layouts and many other applications call for the more analogue-ish input of a mouse.
Where does this leave software in the middle? Mail clients, web browsers, chat clients, file/directory browsers, PIM and calendar software are all types of application which could feasibly have a keyboard or mouse-based interface. Increasingly, applications are adding features which specifically require you to use the mouse. I come up against this all the time but to pick an easy example (all platforms are guilty here), OS X Finder only lets you move files by dragging with the mouse. Cut and paste was evidently too complicated for their target audience.
I’m a keyboard nut, so having to reach for my three-buttoned friend annoys me when I know that a little more work in the software would allow me to do the same thing more quickly with a quick jump from the home keys.
In my opinion graphical applications should have good support for both keyboard and mouse. I today finally caught up with Vimperator which is an addon for Firefox to make virtually all browsing functionality available directly from the keyboard using vim-like syntax. Firefox provides a good opportunity to try out different interface types with its interface being so heavily customisable using Javascript. With Vimperator, Firefox behaves exactly how I would like. I can still use a mouse when needed, and I can also do things quickly from the keyboard when my hands are there.
It took a third-party effort to get this functionality in place. Sadly I doubt that many application developers are going to put this level of thought into the keyboard interface. It is worthwhile adding that a keyboard interface is required for proper accessibility for some physically-disabled users.
I like modern software. Really. Am I so backwards to prefer pressing buttons which remain stationary on my desk?
June 28, 2009 12:47 PM
June 05, 2009
Friends of mine know that I have much to complain about where iTunes is concerned. To summarise what is a long rant (which I may someday write), the problems are poor support for file formats—Ogg Vorbis and FLAC in particular—and various UI issues. Getting a better music-playing program running on OS X is a secondary task in which I haven’t yet succeeded. So let’s think about how to bandaid some of iTunes’ problems.
Today I’m going to present a possible solution to the first complaint: poor file format support. The accepted way to extend your OS X machine to play (oddball?) formats like FLAC seems to be to install the Xiph components for Quicktime. In my experience, this will usually convince Quicktime to play most things. Getting iTunes to look at the songs and store them in your library is another matter entirely. The best success I ever had with this method was getting about 1/3 of my considerable collection of FLACs to import.
Let’s fix things up with a little bit of Firefly. No, not the unbelievably awesome Joss Whedon show (blast you, Fox!) but the also rather awesome Firefly Media Server, formerly known as mt-daapd. I last played with this project a couple of years ago and it took some tinkering to make it work. There’s been a bit of work done since then and now the latest build is in the Debian stable repository, so it’s dead simple to set this up now.
“Debian? Isn’t this a problem with iTunes on OS X?” you might be wondering to yourself now. Yes. You’re right. Allow me to present the recipe for this particular solution:
iTunes Make Support Go-Go
Ingredients
- One computer running Mac OS X with iTunes
- One computer running Debian Linux
- Your music in any of normal formats: MP3, OGG, FLAC, WMA, etc. stored on the Linux computer
- Firefly Media Server
- A LAN connecting to the two computers
- Install the package with aptitude install mt-daapd
- Edit /etc/mt-daapd.conf and set admin_pw to an admin password, mp3_dir to where your music is (with a trailing slash) and add any file extensions to the list of those it will serve. In my case, I had to add wma. You can also change the name of your server if you like.
- /etc/init.d/mt-daapd start
- Head to iTunes on the mac and notice either the name you set or “Firefly …” appears in the shared libraries list.
- Play your music. Observe how you can play songs in all formats regardless of whether iTunes supports them directly.
The magic at work here is that Firefly will use ffmpeg to transcode any songs not natively supported by iTunes on the fly to uncompressed wave format.
One extra advantage is that you no longer need to use all the hard drive space on your mac, which can be handy if it’s a laptop. One disadvantage is that you can only listen to your music when you’re on the same LAN as the Linux box. Perhaps you should have thought about that before you paid the Mac tax and expected them to support your open formats properly. *sigh*
(serves as many as your Firefly server has the bandwidth to serve)
June 05, 2009 07:07 AM
June 01, 2009
A day or two ago I reinstalled Debian on my PC, removing in the process a mostly broken installation of Ubuntu 9 (no, it came like that). In the interest of avoiding the problems usually associated with Linux on the desktop I declined to install an X server.
This afternoon I fired it up and tried to use it to get my stuff done, and these are the results.
Web Browsing – Elinks is remarkably robust console web browser. The only issues I’ve had with it involve occasional full stops getting stuck on the display while scrolling, and on some systems it’s disagreeable with encoding special characters for my terminal. The good bits are the tabbed browsing, CSS support, frames support and general ability to cope with websites which were definitely not designed with console users in mind.
Planning to keep on top of my usual routine I hit up Twitter and Facebook. Neither worked, which was unsurprising because both use lots of Javascript. It occurred to me to try their mobile versions, which are specially stripped down to work well on mobile phones: success!
Both Facebook mobile and Twitter mobile work perfectly in elinks, and I spent the afternoon following both using that method.
Online Chat – My mainstay of online communication, IRC, is already irssi in a screen session on another machine entirely so this was no problem to continue to use. For my instant messaging services I called upon finch, the console user interface to libpurple/pidgin. A quick read of the manpage revealed the important keyboard shortcuts and soon I was happily chatting to folk on MSN. Another success.
Music – Playing my music is something which causes me enough issues on my Macbook. iTunes is ridiculously limited with its file format support (yes I know about Xiph, I’ve tried it, it doesn’t work properly) and has a rigid UI which disagrees with a fellow who favours the keyboard.
So here I am in keyboard-bound console Linux land — what shall I use, but of course the excellent cmus? This marvellous program supports a bunch of formats as it comes packaged on Debian, including all of those in which my music is encoded: ogg, flac, mp3, wav and wma.
cmus is possibly the best music player I’ve ever used. Even as good as Amarok 1. It might not have the (slightly dodgy anyway) lyric-retrieving bling but it works reliably, has easy on-the-fly queuing, playlist support, customisable columns, easy to use incremental search, is fully controllably remotely using sockets, and plugs straight into ALSA. Beautiful.
Conclusion – Well that’s all lovely but I still can’t read my webcomics. It was also too hard to navigate the wordpress administrative interface to make this blog post in elinks. So I’m back on my mac (but cmus is still playing my music in the background!) The most interesting conclusion I’ve made is that we can expect a renaissance of text-based browsing for those harebrained enough, making use of the cut-down “mobile” pages offered by the popular websites.
Get in there and enjoy it.
June 01, 2009 09:23 AM
Well, somehow we've made it to the end of the first semester of this year, and I quite inconveniently forgot to write about anything since the start of April. This is quite problematic. I guess that means it's time for me to do my semi-regular dump of notable things. Bleh.
So, where to begin?
ACM-ICPC Trip
So yes, we did arrive safely in Germany, spending a week with my relatives who live just outside of Frankfurt-am-Main in centre of the country. That was a fun week, we spent many days taking in the area, sampling the culture, and preparing for the programming contest the next week. We spent a week in Stockholm, where the contest was held, which was great fun in general (despite being somewhat colder than Germany and indeed Australia), we met many like-minded people, and thoroughly enjoyed the week. In the end, we solved three problems in the contest, which was (just) sufficient to see us getting a ranked position of equal 49th (yay!).
I'll write up the two weeks spent overseas in greater detail soon (hopefully).
Twitter & Co.
So I succumbed to peer pressure roughly two weeks ago, signing up for Twitter and Identi.ca. As a fun experiment into the field, I investigated how long it would take, and what measures would be necessary, for someone to notice that I was on Twitter, and then follow me. I did this by following one or two people per day, and getting them to drop relatively silent hints about my existence. In the end, it took about a week for someone to notice me, with a fairly blatant reference to me needed to make it obvious. Despite the great scientific breakthrough observed, I don't think the result is sufficient to write a paper about... :P
My main observation is that Twitter is miles behind Identi.ca in terms of useful features (I like group notices, denoted by '!' tags in Identi.ca, and Jabber-based updating in particular), stability (updating my Avatar in Identi.ca does indeed work first time, every time, whereas it took me 10 tries to get it to work in Twitter), and ability to store my own name (This would make Twitter the first site that I have ever needed to call myself "Chris" as opposed to "Christopher"), that said, Twitter is ahead greatly in terms of the number of people on it, which makes sticking around there a necessary evil (boo for centralisation!).
End of Semester/Undergrad
And yes, it would be amiss to not note that last week was my last week of lectures as an undergrad student (presuming, of course, that all of my exams go sufficiently well), it was mostly uneventful, with the exception of having to hand in two major assignments, prepare and present a lightning talk, and run the session in which it was presented. All-in-all rather busy!
June 01, 2009 04:58 AM
Friday saw the second edition of the UTAS Computing Society Lightning Talks, if you haven't seen them already, I highly recommend that you check them out -- this semester's were at a very high standard indeed, and I wish I'd printed out more certificates for good talks :). My talk was a demonstration of using metaprogramming in Python, though that's not what it seemed to be about.
An introduction
I went to the Apple University Consortium's Cocoa Workshop at the University of New South Wales in February of this year, it was a heap of fun, and we learnt heaps whilst there. One of the key distinguising features of Cocoa is its use of verbose English method and attribute names, the idea being that each line of code should make a reasonable amount of sense when read aloud, hence:
NSString *str = [[NSString alloc] initWithString @"Hello World!"]
does indeed allocate memory to hold a string object, and initialises the newly-allocated memory with a string containing "Hello World!" (this code is highly redundant!). Supposedly such a naming scheme allows coders to write code that is easily maintainable by the original coder, and easily learnable by people who pick up the code for the first time.
On the other hand, my friends, collectively known as Maclab (named after the room at UTAS we inhabit) have developed a rather unique vocabularly, which in particular involves replacing as many words as possible with either 'thrust' or 'fork', so "Thrustingly thrust the forking forker" is not an uncommon utterance amongst my friends. If this is indeed their usual mode of conversation, then Cocoa's way of identifying methods and attributes is not necessarily going to be a particularly intiuitive one. So, clearly, we need a version of cocoa that meets their needs.
The setup
So, conveniently, Apple provide a comprehensive version of the Cocoa API, thanks to the PyObjC project. We can therefore use the Python bindings for Cocoa facilitate our new version of Cocoa. Since Cocoa has a very consistent naming scheme, we can simply perform string replacement to translate from our maclab language to the standard cocoa language, using a routine somewhat like this:
def translate(inp):
''' Translates an input string from key language to value language '''
for i in LANGUAGE:
if i[0].islower():
# Try both capital case and lowercase
inp = inp.replace(i, LANGUAGE[i])
inp = inp.replace(rtitle(i), rtitle(LANGUAGE[i]))
else:
inp = inp.replace(i, LANGUAGE[i])
return inp
def rtitle(i):
return i[0].upper() + i[1:]
Here, LANGUAGE is a dictionary, with keys in the language code will be written in and values being the target language (in this case, Cocoa). There's not all that much of a sophisticated nature going on in here. Now that we have a method by which we can translate our attribute accesses, we can get to the meat of the the code.
The implementation
To achieve the new API, we need to use a technique that I will call proxying. This involves the use of objects whose sole purpose is to intercept attribute accesses and calls to an underlying object. In this case, the point of intercepting the calls and accesses is to perform translation from our new objects to standard Cocoa objects. In Python we can do this by overriding the standard attribute access and call methods.
First up is __getattr__, the attribute accessor method -- for this, we are passed a string; the name of the attribute that we're looking for, which we translate, and then attempt to access upon the method on the underlying object (in this case, self.__u__). There is one slight hitch: in certain cases, we may not want to translate the attribute name. This is true, in particular, of the attribute that represents the underlying object. Hence we provide a REAL_ATTRS list, for which we use the default __getattr__ method for. This results in code that looks something like this:
def __getattribute__(self,name):
#''' Perform method/attribute proxying on ''' + repr(self.__u__)
if name in REAL_ATTRS:
return object.__getattribute__(self,name)
else:
new_objectname = "self.__u__.%s" % translate(name)
new_object = eval(new_objectname)
return CocomoProxy(new_object)
Notice that we use eval to perform the lookup? It turns out that __getattr__ doesn't work universally, whereas . notation does -- so we use that for less failover.
Being able to call methods on the objects is important, but slightly more difficult -- we want behaviour to be maintained, so we need to make sure that proper Cocoa objects are passed as arguments, rather than the Proxy objects that you may have originally dealt with. We can do this with Python's argument unpacking -- we build up a list of arguments, and unproxy them as necessary:
def __call__(self,*a, **k):
new_a = [i.__u__ if type(i) == CocomoProxy else i for i in a]
new_k = dict( (translate(i), k[i].__u__ if type(k[i]) == CocomoProxy else k[i]) for i in k)
return CocomoProxy(self.__u__(*new_a,**new_k))
We may also need to deal with iterators. This can be done using a standard generator function, thusly:
def __iter__(self):
for i in self.__u__:
yield CocomoProxy(i)
Finally, there may be legitimate reasons for extracting Cocoa objects, these include printing strings, so we provide an accessor method called no_really:
def no_really(self):
return self.__u__
And that's the entire implementation! The final thing we need to do is provide a pre-proxied version of the base module for Cocoa. Let's call it GypsyMagic.
The payoff
So now that we have a working bridge from Maclab English to Cocoa English, we can take this sample code that puts some stuff into an array, and then prints it:
import AppKit
hworld = AppKit.NSString.alloc().initWithString_("Hello, World!")
arr = AppKit.NSMutableArray.alloc().init()
arr.addObject_(hworld)
arr.addObject_("Boop!")
for i in arr:
print i
And write it in the far more palatable:
from cocomo import GypsyMagic
hworld = GypsyMagic.OGMouthWords.subsume().makeGogoWithMouthWords_("Hello, World!")
arr = GypsyMagic.OGForkableTrinketHolder.subsume().makeGogo()
arr.thrustinglyThrustForker_(hworld)
arr.thrustinglyThrustForker_("Boop!")
for i in arr:
print i.no_really()
If you're interested in seeing how it all fits together, see Cocomo's website.
June 01, 2009 01:16 AM
May 17, 2009
It would be fair to claim that I’ve been a little hypocritical in my darting around the issues regarding Facebook in the last year or two. This is highlighted by the analysis of my behaviour (!) in Jack Scott’s article about why he doesn’t use Facebook. My article discusses some issues identified by Jack so I would recommend reading his first.
The thrust of Jack’s article is that Facebook is a bad thing and he quotes me providing a number of reasons why this is so. Just in the last couple of weeks I have returned to Facebook, which makes me look a little silly so by writing this I hope to justify myself.
Before I leap into my current opinion it is useful to describe my history with social networking. Near the start of 2007 I joined Facebook for the first time having held off on both it and MySpace for a year or two longer than most of my tech-savvy friends. I didn’t have any special reason for avoiding the sites, except that they were closed networks, they appeared to be spreading like social virii and that some of the Myspace profile page colours made me want to tear my eyes out. It was simply an opinion, and by no means a strong one; just a vague understanding gleaned from reading factoids and opinions on the Internet.
I had joined MySpace a little while before, but by that time it was already dying with the hordes moving quickly to Facebook. Facebook of the day had a number of user interface issues which stemmed mainly from its similarity to MySpace. Even though I didn’t like the interface, this probably helped them get steal as many users from MySpace as they did.
The emphasis was on individual users’ profile pages, which were heavily customisable. You could activate various widgets and arrange them as you liked. The focus of each user’s page was the “Wall” where you can leave messages for each other. Beyond that there were thousands upon thousands of gimmicky applications in which you play card games, dress up snowmen or give your friends eggs which hatch into cute animals. These were entirely pointless but they insisted upon cluttering up their users’ profile pages and provided some advertising revenue.
Having quickly given up on MySpace I continued to play with Facebook over the next year or so. It was over this time that I learned about some of the implications of social networking. I caught up with a large number of people whom I hadn’t seen for a while, some superficially, some not. I also saw people’s changing relationship status being broadcast to world, incriminating photos and even had my own boss send me a friend request.
In January 2008 I was attending linux.conf.au in Melbourne, which was a fine congregation of geeks. I found myself in a discussion with some of them about the relative merits and problems, but mostly the problems, of Facebook. On a whim I decided that Facebook was not that important to me and a waste of time so I moved to where there was wireless access and deleted my profile on the spot.
By this time I was more aware of the social, privacy and technical issues in social networking and I was forced to spend some time thinking about them. Some of my friends pressed me for reasons why I no longer had a Facebook account. “Because I felt like it” wasn’t a satisfying answer for either them or me, so I did a proper evaluation in my head of what my position was. By the time Jack asked me for my opinion, about which he wrote in his article, I had my thoughts organised and was able to give him a concise summary.
Even though I had convinced myself of the validity of the problems I identified, I wasn’t entirely convinced of their severity, or whether they were insurmountable. Talking to Jack about it only increased my doubt.
A scant couple of weeks later I was back on Facebook. I was going to do it properly this time.
Today, I have approximately 100 friends identified. I know exactly who all of them are and would happily sit down and have a chat over coffee with any one of them. My privacy settings are strapped moderately tight—only friends can see my profile, and only friends or friends-of-friends can see photos with me labelled. I mostly use it to post bad jokes on my wall, the same as I do in person, and also to see what other people are up to.
Sometime in my year off they fixed the user interface. Now the main page when you log on is an aggregation of all your friends’ walls. That’s it, nice and clean. If you click on a user you get a page with their wall, and a tab lets you access their profile information. You have to look in a little sidebar for their applications, those irritating perversions which used to get in your way and eat your bandwidth. Mostly people don’t even use them any more. In my opinion it is now actually convenient to use for its intended purpose.
So what was the stimulus that made me finally sign up again? It was an invitation to a friend’s birthday party. He had organised the event on Facebook, as this was by far the most convenient way for him to contact the vast majority of his friends. He had gone out of his way to send a special extra invitation to my email address.
I felt a little embarrassed about that. He didn’t say that it was inconvenient and there was certainly nothing to stop me attending given the information which was included in the email. As I put it to Jack, I felt like a “pain in the butt” making my friends go out of their way to include me while I was indulging my moralistic, perhaps paranoid views. Having reflected on it a little more it wasn’t so much that I actually felt like I was causing annoyance. It was more that I felt like I no longer had a good reason why. So I threw my unproved assertions to the wind and here I am today.
Now that I’ve made my experiences clear I would like to present my Middle Path. A compromise, if you like, that allows me to use Facebook in good conscience while remaining aware of the problems.
Facebook is a public space. It is incredibly easy to forget this when you’re swapping photos with your friends, chatting about things you did that day, and basically hanging out with the same people you do in real life.
On the other hand you’d better be prepared for anyone at all, including your family or even employers (potential employers too) to see anything you see or put on Facebook. There are two ways that this could eventuate.
Generally your more personal information is restricted to those you have marked as friends. If your friends are a hundred people, you can bet that sometimes someone who is not one of your friends will end up on a computer logged on as one of them. On my wall aggregation it’s a weekly event to see posts made using drunk friends’ accounts. All good fun, but it illustrates the point that your information being restricted to just people you know is a fallacy.
From a more technical perspective, you don’t have any control over the information you submit to Facebook. Assume the worst. Crackers might steal all the friendship network data, all the photos and publish anything anywhere. Facebook might make mistakes of their own with your data and show it to the wrong people.
If you understand these risks I believe that you can exist happily and safely in the Facebook world if you’re measured in how you use it. If you don’t post photos or anything about you, you’re not giving up anything. But there is a certain minimum commitment. One inherent set of data in your account is the list of people you care about most, the people you know best: your friends, family and whoever else makes it into your friend list.
You can lock your privacy settings down so that people can’t see who your friends are, but if we’re assuming the worst, remembering that you aren’t in control of this information, you’re stuck with giving up who your friends are if you want to be on Facebook.
In my case, I decided that I could live with that. I’m pretty certain that I don’t have any private investigators snooping around trying to work out who my friends are, but I have no doubt that there are bots working to collect all the friendship information before we realise that it might be sensitive. However, when all is said and done, I am not a hermit, and it would take minimal observation of me in person to work out who my friends are. So I am happy to consciously commit to giving up that aspect of my life to the public world, even on the Internet.
Once you have taken that step the rest is up to you. If you’re not happy for any person at all to see something on your wall, don’t post it there. From a technical, logical perspective, that’s all there is to it. Why is it not that easy?
I mentioned before that it is easy to forget that Facebook is public. You can be lulled into a false sense of security when you’re interacting with people you trust. I have had a personal website for a number of years which has contained a variety of content and when I publish anything on there I know that it’s there forever for anyone to see. The Internet Archive drives the point home with their Wayback Machine. It lets you see what a website used to be, going back many years in some cases. Facebook is the same but because it’s not just you—you’re just there mucking around with your friends—it is forgivable, if unwise, to forget that you’re in public eye, even indirectly.
A feature of social networking sites seems to be that people like to inflate their list of friends. I have received a large number of friend requests from people I haven’t seen for years, some as far back as primary school. The first time I used Facebook I was almost dazed by the number of people I could talk to again. I didn’t have time to catch up with them before, so of course I didn’t have time to catch up with them on Facebook either. The nett result was more irrelevant garbage getting in the way of the people with whom I was still actively interacting. Now, the second time, I have rejected requests from people I barely know.
A common complaint about Facebook is that it uses up a lot of time. This is a simple problem which applies to every other toy in the history of mankind. If necessary restrict yourself to looking at it only once or twice a day, or whatever it takes to rein in your rampant online socialising. Facebook is not a drug, but it’s possible to get addicted. That’s a reason to get a grip on yourself and go outside and enjoy the fresh air, not a problem with Facebook itself. Don’t shoot the instant messenger, as it were.
There is one more almost silly reason why I thought I ought to get a Facebook account: to establish my name. It seems rather pretentious to say so, but as the site continues to grow larger, the risk was increasing that somebody who knows me would create a profile in my (unique) name. Whether as a joke or in malice, there’s a good chance that the account would successfully make friends with people I know. That’s something I simply don’t want to have to deal with. I’m there now, so that’s not a problem any more.
Overall I believe that I now understand the risks well enough to use Facebook without causing regrets for myself later. My fear now is for those who don’t think about it: the people who will share around all kinds of photos, feeling safe, not realising that they may be compromised years later. Some users will become famous someday and their information from social networking sites will become hot property. Statistically that won’t happen to most people, but there are other less public situations where someone might want to find information about you which you would rather keep to yourself.
I have intentionally said nothing about the quality of communication that occurs on Facebook. One of Jack’s anecdotes is that he appreciated receiving a phone call much more than receiving a quick typed noted on Facebook. I strongly believe that people should meet in person, speak on the phone, write letters and have more binding communication than small snippets flung across the Internet. However, many people my age are using Facebook to communicate so it’s my interest here to work out how to deal with it, rather than hope to make sweeping changes to the way the world works.
I also don’t believe that Facebook should be a complete substitute for anything. If you are organising a major event, please don’t make it centred on Facebook. A website is a good central point, with a group on Facebook to complement it.
If you’ve read this far, both Jack’s article and mine, hopefully you now understand our perspectives on the issues and can use them decide what social networking means for you.
If you’re friends with me feel free to come find me on Facebook. If not, either arrange to meet me in person or go away. Have a nice day.
May 17, 2009 11:57 AM
Yesterday a subset of Maclab was summoned to play Twilight Imperium, one of Zen’s many board games. It’s ideally a 6-player game (though an 8-player expansion is available) and is definitely an all-day event. We started playing at about noon and barely finished by 6PM.
Under the watchful eyes of Zen and Peter, the only two who had played before, the galaxy was semi-randomly generated and our fleets and technologies organised.
It would be a mistake to try to explain the complicated mechanics of the game in a little blog post, so I won’t.
In a nutshell, you don’t win by wiping out all the other people, which would take far too long. Instead your overall aim is to gain “victory points” which you do primarily by fulfilling “public objectives” which anyone and everyone is able to complete, and your own “secret objectives” which are worth more victory points but are more difficult. You try to keep your secret objectives to yourself so that others don’t stop you from achieving them.
There is a detailed tech tree to give you all kinds of marvellous advantages, an inter-player trade system, a system of political influence and various laws which can be enacted.
Space battles are an orderly affair with all outcomes decided by rolling 10-sided dice, but technologies can give your ships an edge. They might also let you build a War Sun or two, which are extremely powerful. I built two of them and used them to crush Mr Ford. Unfortunately for me, attacking another player’s fleet is not worth any victory points itself, but it can be fun.
The game progressed slowly through the day. Quite slowly:
- Just after we started (12:38 PM)

- 1:52 PM

- 2:30 PM

- 4:00 PM

- The winning board (5:45 PM)

The action is not so much what happens on the board, but the excited discussions and arguments about what laws are acceptable, who is allowed to take what planets without risking retaliation and trying to convince other players to play their cards in a way useful to you.
Being undistracted from the goal of achieving many victory points, Zen emerged the winner and we packed up the many, many pieces carefully into little plastic bags.
Now we just need to play again having learned how it works. Thanks folks for a good game and day. :)






May 17, 2009 04:17 AM
May 13, 2009
Back when I was a lad, a right fuss was made about having proper posture when using a computer. Either that’s become assumed or nobody cares any more, which is a pity because laptops present a new challenge in the war against injury when computing.
Exhibit A: The new mac keyboards. Unlike every non-musical keyboard I’ve seen to date, new mac keyboards such as the one in my MacBook have perfectly flat keys and a much shallower action than traditional keyboards. Experience has shown that my hands suffer using this keyboard compared with my cheap and nasty USB PC model, particularly when gaming.
I have a theory that touch-typists like me like to use the traditional shallow curve in the top of keys to keep our fingers in place. For normal typing of any text where you’re centred around the home keys this isn’t a big deal because you can subconsciously align yourself on the dimples on F and J every time your index fingers stray that way.
If you’re playing a game where your left hand is shifted one key to the left, for WSAD or something similar, you don’t have such an easy way to tell when you’re in the centre. I find myself frequently sliding my fingers around in little circles feeling out the edges of the keys so that I can stay squarely in the centre. This isn’t an action particularly easy on the muscles and the result is RSI.
So what conclusions can we draw from this?
- Pay some attention to what you fingers are doing. It could be that they’re not comfortable and you’re subconsciously making do with something you shouldn’t.
- Apple should stop making dumb keyboards.
- Gaming on a mac? lolol you are kidding right?!1!
Practise safe computing!
May 13, 2009 08:16 AM
May 09, 2009
The act of weblogging is a sporadic event for me. I’ve tried serious posts, insane posts, long posts, short posts, sparse posts, frequent posts, informative posts and utter gibberish—mostly labouring under the impression that someone somewhere really cares. It’s my blog and I’ll do what I want to, as it were.
So it was that this evening I emerged from a Doobie Brothers-induced haze and discovered that I had completed most of a WordPress installation on my domain’s website. Who am I to argue with the music? Here is the result.
Until today my supposed method of blogging was a mostly broken perl script whose job is to generate static sites, more or less like blosxom, except broken. Before that was a PHP/PostgreSQL blog I wrote myself shortly after I worked out that it was possible, and long before I had any idea how to code it elegantly.
Enter Wordpress. Heck, I like it. I had a faint memory of it being bloated and difficult to navigate and make look nice, but I might well have confused it with some other CMS (goodness knows there are some bloated suckers out there).
Expect to hear more from the desk of me in the coming weeks.
May 09, 2009 10:55 AM
April 17, 2009
.flickr-photo { border: solid 2px #000000;
}.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px;
}.flickr-caption { font-size: 0.8em; margin-top: 0px; }
April 17, 2009 07:41 PM
April 12, 2009
As you might have noticed, I’ve switched back to using Wordpress (again), and managed to dig up all my old blog posts (most of which are utter crap). At the moment I’m using the lighttpd web server, and I had to play around a bit with mod_rewrite in order to get the pretty URLs working. In the end I got lazy and just settled for a hack I found on the Internet. And as a hack, it’s pretty epic.
server.error-handler-404 = "/index.php?error=404"
What it does is thus: when you click on a page in the blog (such as http://www.jackscott.org/2009/04/hack-of-the-year), it searches for a folder named 2009 on my web server. That doesn’t exist, so it produces an HTTP 404 error (which means the page doesn’t exist). The rule above (pasted into the lighttpd configuration file) redirects all 404 errors to the index.php file. And this file (as the Wordpress main file) just happens to know where to find the page requested. Truly a monumental hack.
The only downside to using this configuration is that Statpress (my favourite Wordpress plugin) no longer works properly. It reports the correct number of page views and so on, but all pages requested are listed as ‘error=404‘. Not very useful when you want to see which pages are viewed the most.
But nevertheless, a pretty cool thing.
April 12, 2009 12:27 AM
April 09, 2009
April 05, 2009
As previously mentioned I'm on one of the Australian teams competing in the ACM ICPC World Finals being held in Stockholm on April 21 -- that means that I somehow need to get to Europe, and that somehow is series of flights, today -- with a week's stopover in Frankfurt, to visit relatives who live there.
Flights today are Hobart-Melbourne (not too bad) and Melbourne-Frankfurt via Bangkok (oriental setting), an ugly 28 hours total in transit (that I'm not really looking forward to), arriving at the somewhat inconvenient time of 6AM (just to ensure that any excess jetlag will be comfortably prolonged).
I'll be trying pretty hard to document my trip here, and this will probably mean that there'll be a bit of extra noise coming from me on PLOA -- for those of you with little interest in what I'm doing: sorry about that!
April 05, 2009 11:21 PM
April 04, 2009
I know I sure didn’t! I have started up this blog again. The reason is because I’m in the process of heading overseas to travel! I am currently in melbourne airport and will be for the next couple of hours. It isn’t the most exciting place to be, and I was wondering what to do. I saw a computer and thought that I might as well let people know it.
I’m sure that when I am not tired I will think of something interesting and/or insightful to put onto this. In fact, I might also find some time to clear out all of the spam and stuff that has no doubt accumulated here. Anyhow, I hope to get writing into this a bit more and start getting in touch with people so I can meet up with everyone when I get back.
They say we have a freedom of speech, but at the moment they are charging me per minute to write what I want to say. There is a count-down thing in the bottom-right hand corner of the screen. Not that that will interest anyone. At least it gave me something to do for a good, oh, 30 seconds. So thanks for amusing me everyone!
I will be interested to see whether anyone has replied to this by the time I get to check it next. Goodness knows when that’ll be though…
Have fun, and hopefully someone will read this!
Kieran

April 04, 2009 08:26 AM
March 29, 2009
.flickr-photo { border: solid 2px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }
March 29, 2009 12:28 AM
March 26, 2009
Recently I just started house-sitting a house with no Internet connection at all. As a member of the generation who just refuse to be out of touch at any point in time, I needed a way to get the Internet. I’ve house-sat at the same place before, and in previous times I’ve experimented with no-contract dialup services (which turn out to be unreliable and expensive), using my mobile phone as a 3G modem (which worked fine until somebody rang or sent an SMS), and scanning the neighbourhood for open wireless networks (of which there are none, sadly).
So, this time, in an effort to remain connected for the duration of the stay (2 weeks), I’ve purchased myself a prepaid wireless broadband USB dongle, courtesy of Telstra. For those of who don’t know how these things work, they are basically a device (looks a little bit like a flash drive) that plugs into your USB port, connects to the mobile phone network, and lets your computer talk to the mobile network as if it was a phone. More specifically, it allows you to access the Internet via the mobile phone network and send and receive SMSs.
The Telstra Prepaid Wireless Broadband dongle costs around $150AUD retail, and with this you get $10 included credit (which isn’t much at all, trust me). For $89 you get 4GB of data usage, which is a fair hunk, and more than enough for most people just doing browsing and so on. It easily lasted me two weeks of browsing, email checking, Skype video calls (about 3 hours a day) and the occasional small download.
The box it comes in is the same rough size as a DVD case, but a bit thicker. It’s mostly empty space, but there is a manual (which actually tells you most of the things you need to know) as well as an extension cable for the dongle (roughly about 50cm long). The rest of it is filled with not-so-environmentally-friendly foam.
Installation was fairly simple, once I read the instruction manual. First of all I just tried plugging in the device (which picked up as a CD-ROM drive, auto installed some drivers, and then brought up a window with a ‘Connect’ button). This didn’t work. After reading the installation manual I found I had to ring Telstra to activate the SIM card. After doing this, the connect button worked as normal, and I could get on the Internet just fine. It works much like a 56k dialup modem, but with a custom interface.
On the night I bought the device, I couldn’t be bothered ringing Telstra to activate the SIM card. So I experimented with taking the SIM card out of my mobile phone (also a Telstra SIM) and stuck it in the dongle (it’s a fairly easy process to change the SIM card). To my surprise, it worked. I was then able to use the significant amount of browsing credit I had on my phone’s SIM card to browse the Internet on my laptop. A handy feature, I think.
Telstra (or rather, ZTE, the manufacturers of the actual device) had a few more handy tricks up their sleeves. On the side of the dongle is a slot to put a MicroSD card into. I wondered what it was for. This is a modem, not a camera. On reading the manual, I read that it is so you can turn the dongle into a USB flash drive as well (though it only supports up to 4GB cards). Cool idea, though I’ll probably never use it.
The software that Telstra have devised to control the dongle (connect, disconnect, send SMS, see credit, etc) is all proprietary custom-written stuff. While I hate it when companies do that (what’s wrong with using Windows’ dialup connection manager?), Telstra have actually managed to do it well this time. The software only starts when you plug in the device, there are limited things to go wrong (but you are still able to change the most important options), and it stays out of your way on the taskbar while you’re browsing the Internet. Compared to some of their older efforts at wireless broadband connection software (which I used to set up as part of my job occasionally), this software is brilliant.
In addition to that, ZTE have actually bothered to sign their drivers. If you’ve read my review of the PreSonus AudioBox, you’ll know how much unsigned drivers piss me off. They have also distributed updates to the drivers via Windows Update. This is a miracle; the number of smaller hardware companies bothering to do this is far too few.
I’ve been using this device for the last two weeks as my sole Internet connection. I was located in the suburbs of Hobart (where mobile coverage is fairly good), though I experienced three dropouts during that time (mostly during the peak evening time). Speed is fairly good. According to speedtest.net, I got 1840kb/s downstream from a server in Melbourne, and 384kb/s upstream.
Overall, I’m very impressed with this device. While the data is hugely expensive for the amount you get, that’s the only problem I can pick with this device. Other than that, it’s a well thought out, well implemented piece of hardware, backed up by some good software and a decent user manual. 4.5 stars.
March 26, 2009 12:01 PM
March 20, 2009
There are any number of reasons you might want to set up a home server. Serving a website for cheap may be it. You might want to compile software, or backup your files onto another computer for safe-keeping. Whatever the reason, here’s how to do it.
Assuming you already have an Internet connection, it’s surprisingly easy. First, you’ll need a computer. For a server destined for a single user, you don’t need a lot of processing power (or a lot of RAM). This makes the whole process a lot easier.
The first place I would look is the local computer shop (preferably one that repairs computers). Ask them if they have any spare old computers you could have. Most would be willing to palm off any old computers they have lying around from upgrades (usually their customers don’t want the old computers back) for either free or a very low price. I used to work at a computer store as a technician. We had old computers lying around everywhere. Most of them were working fine. They may not give you the hard drive, but you can pick up one of those for cheap as well.
If you have a friend of family member working in a larger company (especially in an IT department), asking them for a computer might be fruitful. Most larger companies replace all their computers every 3 or 4 years, and as such usually have quite a few old ones lying around doing nothing. You can get amazingly good systems (usually with no faults or blemishes to be seen) if you ask around.
The next place to look would be a tip (or dump) shop. These are places (usually run by charities or co-operatives) that scavenge off the tip face and then sell what they find for incredibly low prices. You might think that all you’ll end up with is a 386 computer that’s been lying in bacon fat for the last month, but you’d be wrong. It’s amazing what people through away. My entire sound system (including high quality (albeit aged) speakers, amplifier, tuner and so on) was picked up at a tip shop for less than $20. All working perfectly.
The final place I would suggest looking for cheap computers (or the missing parts you weren’t able to find from a computer shop or tip shop) is eBay. You’ll be looking for incredibly cheap postage on the items (on computer cases this is a killer), so limit the search to places nearby that allow picking up the item. Don’t get carried away with bidding high for the ‘perfect’ server. Used computers are a dime a dozen on eBay, especially if you live in a more populated city.
Once you have a computer, it’s time to start installing some software on it. For this, you’ll need a monitor, a keyboard, a mouse, and an Internet connection. Once the base software is installed you’ll no longer need the keyboard, mouse or monitor, so you can borrow these from your main computer temporarily if you have to.
First though, you’ll need to get your hands on the software. The up side is that it’s all free. The down side is that there is no support line (though there are thousands upon thousands of sites where you can ask for help from other users). You’ve probably heard of an operating system called Linux (more formally known as GNU/Linux). Server environments are where it shines.
There are hundreds upon hundreds of Linux distributions (collections of standard software packaged up in a particular way). Each one has its own advantages and disadvantages, and I won’t dictate to you which is the best to use for a particular use. That said, there are a few that are worth your first attention. Names such as Fedora, SUSE, Debian and Ubuntu are well-known, and have been around for a decade or more (and as such, can be assumed to not be going anywhere anytime soon). If all you’re going to use your server for is storing files, a particular distribution (technically a different operating system, but the difference for most practical purposes is nil) called FreeNAS pops up. Check this out if all you want is to store files and nothing else.
The installation of most Linux distributions works thus (check the particular distribution’s website for details):
- Download an image (known as an ISO) of the operating system installer.
- Burn the image to a CD using image-burning software. For Windows, one I particularly like is called IsoRecorder.
- Insert the disc into the drive on the server, and turn on or restart the server (whichever is applicable).
- The disc will take a few minutes to start up, and after that just follow the instructions on the screen. Note that during the installation process the machine will probably want to configure network access. It’s best to already have the server connected to your modem or router before the installer starts.
After the installer is finished, you’ll end up with a bare server, ready for more software and configuration to take place. Read the manual of the distribution for details, but in general you’ll want to install some or all of the following software:
- SSH. I recommend installing this so you can access the server remotely over the Internet. Port 22.
- Apache or Lighttpd. These are web servers. Only install one of them. Port 80.
- Samba. File sharing with Windows machines.
Note that I’ve listed these things called ‘ports’ in the list above. Why is this? These are configuration changes you’ll need to make to your router in order to let the Internet traffic see your server. If you’re confused, Google ‘port forwarding’ and the model number of your router for instructions.
You’ll also want to set up something called Dynamic DNS, which you can do at dyndns.org. This allows you to use a name to access your server (such as example.dyndns.org) instead of a dynamically changing IP address (such as 218.214.200.21, which can change every 24 hours or so).
There’s a lot to read and understand here, but once you’ve set all this up, it’s likely you’ll have a much greater understanding of how computers, computer networks, and the Internet all work. Oh, and you have a home server.
March 20, 2009 11:58 AM
March 12, 2009
I’ve spent a lot of time creating and fixing computer networks, both professionally (as a computer technician for a local computer shop) and in my private life (long time readers will know of my affinity for acquiring servers). So I thought it might be a good idea (prompted by a suggestion from one of my friends Michael) to give a few tips to those just starting managing small networks. Note: I have no real experience with medium to large-size networks. Some of my advice may still apply (and I have done a bit of research), some of it won’t. I’ll leave it up to the experts in those fields. But here are my tips on physically connecting computers in a small network.
Colour-coded Cables
This is the really big, obvious, thing to do. Whether you colour code for uses (blue for main cables runs, red for patch cables, etc) or for type (blue for Cat5e, red for Cat6, beige for telephone, orange for fibre, etc) doesn’t matter, as long as the cables all follow the same pattern, and you (and anybody else likely to work on the network) can understand the code. I myself code by type, as I believe it will be useful in allowing me to see if I need to upgrade cable in the future. I *could* go through and read the writing on all the cables, but in a darkly-lit room or under-floor cavity, this is a lot harder than looking for a colour.
It pays to remember that most network cable that comes in large rolls is blue Cat5e or Cat6, and to allow for this when designing a colour code system.
Labelling things
Once a network gets past a certain size (of about 2 or 3 network devices, not including client machines) it becomes important to have a good labelling system in place. It doesn’t really matter what this system consists of. I used to use masking tape and a felt-tip pen, and I now use a Dymo labelwriter (not purchased specifically for the job, but it does it brilliantly). As for what I label and what the label says:
- On network cables (of all sorts) I generally label each end with where the other end connects. So on the switch end of network cables, I write which device the cable connects, usually using a hostname (like “router” or “lounge-pc”).
- On network devices (such as routers) I usually label the device with its IP address, and if it is unlikely to be seen by visitors, also the password to access the device. Writing down the password on the device may seem like a bad idea, and can be in some situations, but it does save headaches. For most home or small office networks, the most likely threats to network security are likely to be hackers on the Internet, not those inside the building with access to the devices.
- On client machines (and servers) I write the hostname and the IP address (if statically assigned) on the front of the machine. Most people are unlikely to have enough computers that they can’t remember which one is which, but occasionally it does happen, especially when developers such as those writing operating systems need test beds for as many pieces of hardware as they can.
Naming Machines
Give all machines a decent, understandable name. If you’re only going to have one of something in your house, name it after the function. I used to have ’server’, ‘lounge-pc’, ‘jack-laptop’ and so on in my house. If you’re going to have more than one server or one lounge PC, there are a couple of ways of going about it:
- Pick random names following a theme. I’m now using planet names for servers and moon names for desktops, and my network router is called Sol.
- Build up a name for the machine using a standard pattern. In this case, ‘pc273-1′ might mean the 1st PC in room 273. It’s more useful for large numbers of computers.
- Something else entirely.
This isn’t really related to the physical network, but it does have an influence, and is important to get right. Changing it can be a bitch for larger numbers of computers.
Get a rack!
Once you get past two or three routers, modems or access points (or whatever it is you have than doesn’t stack well), in my opinion it’s time to start looking at rackmounting some of the equipment. Face it: if you have this much stuff, it’s unlikely that you’re ever going to have less of it. So best figure out a way to keep it all neat and tidy. A solution to this problem has been available to the masses for a few years now, thanks to the wonders of eBay.
It’s possible to buy the rackstrip and bolts you will need online, and then build the enclosure yourself. For all the cases where you only need a single rack, I’d recommend going this way. You’ll end up with a custom solution that the right size for your needs, and it’ll end up cheaper (trust me). Just remember to add a bit more space than you need now, for any future expansion. It’s not cheaper if you have to build it anew every 3 months.
A note: it is possible to make the rackstrip yourself as well, but unless you are very skilled with metal and drill presses, I wouldn’t bother. It’s too much of a time investment.
A rack allows you to keep all your networking equipment in one place, and hide it out of the way. You can even buy shelves to put non-rackmount equipment on. If you want to rackmount your servers too, go for it. A decent 2U or 4U ATX rackmount case is not a lot dearer than a decent tower ATX case. More expensive, granted, but not by a lot once you consider quality.
Doing things properly
If you’re reading this article, chances are you’re interested in networking. And if you’re interested, make it enjoyable. To make it enjoyable, do things properly. Why? Because doing them a second time is a lot less enjoyable. I took the time to run the network cables from my switch through to most rooms in the house under the floor, and used proper terminators and wall blocks at each end. Compared to the alternative (stringing cables through the house, fastened down with duct tape) it’s a lot better to look at, and less things can go wrong. Apply the same to all areas of networking.
Patch panels and the like
If you’ve already got a rack (or are now thinking about getting one), think also about getting a patch panel. It allows you to bring all the cables from areas of the house into one area of your rack, which you can label and keep track of.
Conclusion
Those are pretty much all the things I’ve kept in my head as I built my network. I’d love to hear more of your suggestions on what to do and consider as your network goes. If you’d care to leave abuse for me suggesting the use of an expensive rackmount setup, that’s also fine (but one day, you will think the same).
March 12, 2009 11:39 AM
March 10, 2009
Today I received a new microphone stand in the mail (a cheap-and-nasty from eBay). I’m only really starting to acquire equipment, so this is the first one I have that’s any good.
To celebrate, I fired up Cubase and got everything working (including reinstalling those pesky PreSonus drivers, all because I used a different USB port), and hit record. A second later, my dog starting barking as somebody came up the driveway. And to think I was just going to record the background noise. The following file is the result.
Note that it’s a bit large, the sound is a flat wave file, uncompressed. It can be found here.
At the moment this link is broken. Soon it will be fixed.
March 10, 2009 12:19 PM
March 06, 2009
Last night I succeeded in setting up on my server the IMAP protocol (with the help of my sysadmin friend Hamzah). It turned out not to be too difficult, once I fixed my silly configuration mistake (setting the mail directory to /var/mail instead of /var/spool/mail). I’ve still got a bit of configuration to do, mainly editing a few security settings and such. It seems Debian comes almost configured correctly out of the box. This seems to happen with quite a few packages.
Before setting up IMAP (which is, for those not in the know, an email protocol), I was accessing the mail on my server using POP3. POP3 works well, but only if you are always using the same computer all the time. Since the email messages are stored on the local machine using POP3, it is hard to track them across computers. IMAP stores the emails on the server, and each local machine uses the IMAP server as a reference.
Now that I am using IMAP, I can access my mail from virtually anywhere, without having to drag around my laptop. In the near future, I’m hoping to set up webmail on the server as well. I might even write my own, depending on how adventurous I feel. I mean, how hard can it be?
March 06, 2009 12:20 PM
March 05, 2009
Since July last year I’ve owned a nice laptop, and haven’t been using a desktop computer much at all. Laptop computers are great, but as I pointed out in my review of the one I bought, the onboard speakers suck. I can wear headphones with my laptop, which produces quite reasonable sound, but unfortunately wearing headphones all day becomes a pain (literally). So in January I bit the bullet and bought a new external audio interface for my laptop. There were a number of considerations for my purchase:
- It needed to sound good (or rather, not sound like anything at all). I have plans to do a bit of audio recording via this hardware, and it is important that as little of my audio equipment as possible taints the sound.
- It needed to be portable. Although I don’t often move my laptop outside my bedroom, the option to do onsite recordings would be very handy. This means no external power supply, and no large rackmounted equipment, no matter how sexy it was.
- I wanted it to connect via USB. I have all the external devices on my laptop connected via a USB hub, and a single Firewire device would mean a second cable. While true recording engineers might scoff at the idea of putting the sound hardware on the same USB hub as any other device, in practise I haven’t seen any difference, and it sure makes it a lot easier to manage.
- MIDI would definitely be a bonus, though with most MIDI controllers today coming with USB connections, this wasn’t crucial. Besides which, I don’t have a MIDI controller, and can’t play the keyboard anyway.
After a bit of research, the two options I found were the Tascam US-122L and the PreSonus AudioBox USB. Both of these interfaces did roughly the same thing, though the Tascam device did not have balanced outputs (although I don’t currently have an amplifier with balanced inputs, I may do in the future). In addition, the Tascam device only had one intrument (high impedance) input, whereas the PreSonus device had two. And the price? The Tascam box was $370AUD, and the PreSonus box $365AUD. After twisting the salesman’s arm, I managed to get the PreSonus for $345AUD, and get a bonus Rode T-shirt and three year warranty as well.
Included in the (relatively small) box were the following contents:
- The AudioBox USB itself.
- USB cable.
- Drivers CD.
- Cubase LE4 CD.
- Several installation manuals, one for the drivers and one for Cubase.
- Some foam.
Close inspection of the front of the AudioBox reveals two inputs on the left hand side, each of which can be used for either a microphone or a instrument input. The power LED and button are in the top right of the front of the device. Also on the front are 5 knobs, two for input gain, one for headphone volume, one for main output volume, and one to mix between computer output and the inputs (in real use, one would expect to keep this set to computer output most of the time). On the rear of the device are found the USB connector, MIDI input and output, two 1/4″ balanced outputs, and a headphone out.
The device itself is quite heavy (around 2.5kg) for the size, mostly due to being manufactured out of large pieces of steel. Negative points for enviromentalism here, but when you’re constantly picking up and moving it, like would be expected from a portable unit such as this, I can see that this is a great idea. I haven’t been game enough to try and scratch the unit, but I don’t think you could ever remove more than a thin layer of paint.
The first thing I can report on is that the drivers for this device suck. I was told by the salesperson in the shop that it would be supported on my Vista x64 machine, and if it didn’t, I could always use ASIO4All. The drivers on the CD don’t support Vista x64. And after a bit of thought I realised that ASIO4All wouldn’t help at all, since I’d need WDM drivers anyway before that would work. In the end I reformatted my machine to use Vista x86, and installed the drivers included on the CD. Unfortunately, those drivers only support ASIO or WDM, but can’t do both at the same time. So I could use iTunes, and that would work, but any attempt to open Cubase would crash the machine. I’ve since downloaded the newer drivers off the Internet, and everything seems to be working fine for the moment. One thing to note is that PreSonus do not digitally sign their drivers. In this day and age, that is a very poor performance.
On to sound quality (which is the most important thing, really). It has to be said I’m very impressed with the audio quality for both recording and playback. There is no distortion of the sound that I can hear (playing back songs I know well, such as Time by Pink Floyd or Boulevard of Broken Dreams by Green Day). I don’t have the equipment to say whether it produces a perfect sound, but then again, that’s relative anyway. As for recording, I’m also quite impressed. There is very little noise added to recording above that from the room I’m in. The converters are obviously quite high quality, and very clear. PreSonus’ specs state a >95dB signal to noise ratio for digital to analog conversion, which is comparable with most devices in this lower-end range.
Summing up, this unit is a mixed bag. I love the features, I love the hardware, but the drivers that come with this machine are utter crap. If you have an older operating system such as Windows XP, I can imagine it would be a bit less painful, but if you own a newer machine running Vista 64bit, I’d consider buying a different audio interface. Once you’ve got that sorted out though, you’ve got a powerful and hard-to-kill unit that performs quite well. 3.5 Stars.
March 05, 2009 12:02 PM
March 01, 2009
On Monday the 2nd of February I began what turned out to be a 59-hour journey to Berlin in Germany for a holiday an adventure and to see my girlfriend, Stephanie. At around 4pm I got on the plane to Melbourne from Hobart Airport, and then after a considerable wait I got on the plane to London Heathrow at midnight. During the wait I started reading the first book of The Lord Of The Rings trilogy, as well as accidently buying a bottle of Pepsi Max (a serious oversight on the airport’s part is not selling Coca-Cola anywhere in the International terminal).
We landed in Heathrow Airport at terminal 4, and my flight to Berlin left from terminal 5. Transferring between the terminals involved an 18-minute bus ride. It has occured to me as I write this that the bus ride between my house and the middle of my city is around 18 minutes on a bad day. I think that worries me. At the other end of this bus ride, I arrived outside one of the biggest buildings I’ve ever seen: London Heathrow terminal 5. I walked inside, up two escalators, along a very long corridoor past a line of depressed looking people, and then into a room where I discovered why they all looked so depressed. Because of the snow falling in London over the last couple of days, a whole heap of flights had been cancelled, and so people were trying to organise other flights. Luckily for me I didn’t have to queue, I overheard a British Airways employee tell somebody to enter Britain, go up to the checkin hall, and book a flight there instead. Because my Australian passport allows me to enter Britain, I did that. At the same time I rang Stephanie (my girlfriend in Berlin) and let her know that I’d be delayed. Of course, she already knew about the snow and the cancelled flight before I was even in Europe.
Unfortunately quite a few people had already done that. I managed after an hour and a half of waiting to talk to another employee of British Airways who booked me in on a flight to Frankfurt the next day. I wasn’t really pleased, but I could tell that under the circumstances it was the best I was going to get. That of course raised the problem of where I was going to sleep that night. After already spending 30 hours in plane seats, another second of uncomfort wasn’t going to go down well. So I joined a queue outside the “British Hotels Reservation Centre” and they found me a hotel near the airport that didn’t cost a mint. BA were giving out £200 compensation for the cancelled flight to provide for accomodation, on provision of a receipt from a hotel. So I made my way to a Holiday Inn, and slept. I woke up the next morning at 5am, and not wanting to go back to sleep in fear of missing my flight (I had been told to check in at 8:30 for a 10:30 flight), I got up and went to the airport on the first bus back. I arrived at the airport at 7am, and already it was busy, mostly with business travellers and a large family “on their way to Cairo”, loudly. In search of something to do, I drew out £20 from an ATM (not remembeing the exchange rate), hoping it would be enough for breakfast. I then walked over to a Krispy Kreme donut shop, and bought a three donuts and cup of tea. It cost £5, so it seems I had quite overestimated the cost.
At 8:30 I checked in to my flight. I handed a baggage receipt to the guy when checking in, and he even managed to confirm my luggage was in London (somewhere) and that it would make it to Frankfurt (probably). During the trip through security I manage to lose my document wallet containing flight details for the trip from Frankfurt to Berlin I had booked the previous night. I didn’t notice until I was fully through security, but luckily an airport worker managed to retrieve it and put it through security to me. After that I found a duty free shop and spent the rest of my British currency on chocolate (about a kilo and a half of it). I’m still eating it now. And that was London. Before I left a contact of mine in England said to “Oh? Heathrow? You’re going to lose all your luggage.” They didn’t lose my luggage, but it’s definitely the most lost I’ve ever felt.
Arriving in Frankfurt was strange. Everything was written in German (to be expected) but about half the signs were written in English as well. I managed to make my way to the Immigration checkpoint, where I was through in under half a minute. I spent longer than that leaving the country in Australia. I arrived at the baggage carousel to find my luggage already spinning around, so I picked it up and proceeded to check in for my next flight. In the hotel in London the previous night when I booked the flight I wasn’t sure how long it would take to transfer from an International flight in a foreign country to a domestic flight, so I went with two hours. I was having panic attacks on the flight thinking it wouldn’t be long enough. It was. It took 20 minutes all up.
Landing in Berlin was the most relieving experience ever. The baggage felt like it took ages to come around, but it probably didn’t. At this stage I was just nervous. After collecting my baggage I went through a series of doors and gates and ended up in the arrivals lounge. I fell straight into the arms of Stephanie. Which was great, because from then on I didn’t have to worry about where I was going anymore. That was her job. Which was a good thing too, because finding our way out of the airport proved to be fun. First we went on a bus to the Hauptbahnhof (their central train station), which was completely insane because I was trying to get used to driving on the wrong side of the road (Stephanie keeps trying to correct me there and point out it IS the right side of the road).
The first thing I have to say about the Berlin train system is that it is COMPLETELY awesome. The second thing I have to say about it is that it is COMPLETELY confusing. I have total admiration for the people who manage it. We caught an S9 train to Stephanie’s house. Although it was dusk going on dark, I still saw some pretty cool sights, like the Berlin TV tower and statues and so on. At Stephanie’s house, I slept. Quite a lot.
The first thing we did the next morning, of course, was have breakfast. And wow, breakfast is cool here. They chocolate-coated muesli (possibly the nicest breakfast cereal ever), and scrambled eggs comes in jars you buy from the supermarket, like a toast spread. Stephanie drinks red tea (Hibiscus flowers or something like that), so that day we went to the supermarket and bought some Twinings tea. Proper stuff. Also that day we went to the Berlin Zoo. We saw quite a few animals, including the Kangaroos that Stephanie was interested in. She was upset because “they didn’t do any skipping”. So we went and ate some McDonalds instead.
The next day (Friday) we went in to the city and walked around a bit (well quite a lot actually). The first place we went was Unter den Linden, which is a big long boulevard (about 1.5km) with the Brandenburg gate at one end at a huge statue of a guy on a horse at the other. After walking through the gate whilest simultaneously trying to avoid a large group of American tourists, we turned left and visited the Holocaust memorial, which is I think the saddest place I’ve ever been.
There was a huge amount of material in the information centre under the memorial, which we took about an three quarters of an hour to look around. It was a sad place, it felt like a never-ending funeral. Every person in there, even a few younger children, were silent as they walked around, and you could feel respects being paid. One room told the story as a timeline of events, and a few more rooms (three, from memory) told stories of individual people, families, and concentration camps. It felt strange as I came out the other end, perhaps it’s not something I can really describe. I feel deeply saddened for those who lost their lives, and even more so for those who lost somebody they knew.
After coming out of the Holocaust memorial we walked North to the Reichstag and the other government buildings. We didn’t go into the Reichstag, the lines were long and we couldn’t be bothered. Instead we walked through a few of the parks around that area. We skirted around the edges of the Tiergarten, and through Spreebogenpark. We walked over the bridge to the Hauptbahnhof where we caught a train to the next station, Freidrichstaße. From there we walked South to Unter den Linden again. Here we got hungry, so we ate some donuts. We then walked East along Unter den Linden looking for a drink to wash them down with, and also at a few of the sights (the opera house is on the south-east side of this boulevard, near the word Mitte on the map). A word of advice: the south side of Unter den Linden has no food shops at all. The central island had a few sights on, mostly museums, as well as the Lustgarten (which apparently gets it’s name because it’s full of couples in the summer months).
Crossing over the next river we came to a couple of nice cathedrals: one on the side of the river we had just come from, and one to the East of us on the main bank. After a suitable pause looking up at them (much more impressive than the two cathedrals in Hobart), we walked towards the tallest building in Berlin, the TV tower (368m). I was surprised to find a casino lying at the bottom of it. After this we walked to another train station, Alexanderplatz, where we caught a train back to Freidrichstaße again. This was for the purpose of going to the biggest bookstore I’ve ever seen (and as such, how can I resist). On the 5th floor I found the English-language computer books, which I had a great time looking at. Stephanie could eventually be dragged away from the English-language literature as well, and so that wrapped up my second day in Berlin.
On Saturday (the 7th) we visited the second largest department store in the world (if I recall correctly), KaDeWe. I had a look at mobile phones, since my current one (a very nice HTC Touch) is dying. Battery life is now somewhere around 2 hours. After buying some Earl Grey tea flavoured chocolate on the top floor, we left for the cold weather outside. We walked along to see the Kaiser-Wilhelm-Gedächtniskirche church, which was bombed in the second world war, before catching a random bus and seeing where it would take us. We rode it across the centre of Berlin before catching a tube train home.
On Sunday we started by walking along the East Side gallery, which is a remaining section of the Berlin wall, now covered in drawings and paintings. The wall stretches most of the way from the Warschauer Straße station to the Berlin Ostbahnhof, about 1.5km. From there we went to Checkpoint Charlie, the point where officials and foreigners crossed between West and East Berlin. The original checkpoint has long been demolished, but in its place has been put a replica.
Next to the checkpoint is Haus am Checkpoint Charlie, a museum dedicated to the history of the wall. It was previously used as a place from which people viewed the happenings at the checkpoint: comings and goings of guards and so on. Now it’s the most confusing museum I’ve ever been into. The rooms are all over the place and are filled with all kinds of stuff. I guess it’s what happens when you build a museum out of old apartments. It is filled with all sorts of information though. I found the most interesting part was the details of the escape attempts from East Berlin to West: people used hot air balloons, hang gliders, flying foxes, tunnels, all sorts of things.
On Monday (the 9th) and Wednesday (the 11th) we went to see movies and had dinner afterwards. The first was the movie Revolutionary Road, which was (like another movie by same director, American Beauty) a great film. I’m going to have to look out for more of his films. After the movie we had dinner at a 60’s themed diner, named, for some strange reason, ‘The 60s Diner’. On the Wednesday we saw one of the films in the Berlinale competition, It Might Get Loud. We were seeing this mostly for Stephanie’s benefit (a fan of Jimmy Page and guitar music in general), but I thoroughly enjoyed this movie too. It turned out the people sitting next to us were Australian too; the chances of that happening must be pretty small. After the movie again we went and ate, this time at a restaurant called ALEX, under the Berlin TV tower.
On Thursday (12th) we went ice skating in one of Berlin’s public ice skating rinks. The fact that they were outside amazed me, of course being winter and constantly below freezing there is no need for them to be covered and artificially cooled. I managed to only fall over once while trying to skate backwards (not hurting myself at all), and then tripped over Stephanie (who had stopped to tie her shoe) just outside the gate of the rink, tearing skin off both my hands (after removing the blood everything was fine).
On the Friday we spent one of the most fun afternoons I’ve had in ages: we just went train hopping. We started off catching a train into central Berlin, and caught random public transport (using the rule of whatever came first) all over Berlin. I really liked being on one of Berlin’s regional express trains (which are double decked with really comfy seats), though winding through the eastern suburbs in a tram was really cool. This afternoon we also caught a bus through central Berlin, which enabled Stephanie to take a few pictures of things in Berlin on my behalf.
On Sunday we went and had a look at the Spandau Citadel (a castle), which dates from the 16th century. I took a few photos, mainly because I’ve never seen a castle before in real life, and the towers and cannons were cool. In addition, I knew my brother would kill me if I didn’t take some. We also had a look at one of the churches in Spandau, which was very impressive, from the 12th century. It looked like something built in Hobart in the late 1800s.
The Monday (16th) saw us walking through the Berlin Cathedral, which had some really cool things in it. Under the floor of the main church was a room full of the tombs of the old monarchs of Germany. After that we went for a walk through the courtyards near Hackescher Markt. I bought a new Moleskine notebook, as my old one (a gift from my sister) was worn out.
We woke on Tuesday morning to a huge dump of snow, so (being an Australian) the only thing to do was go out and jump around in it. We took a Sled up to the top of the hill near Stephanie’s house and rode it around the park. After a couple of rides I stirred up enough courage to ride down alone. After a while I decided (in a spot of male hot-headedness) to ride down the steepest slope I could find in the park without first learning to brake. This is, if you are interested, a stupid thing to do. We also attempted to build a snowman but the snow was too soft. We also threw a heap of snowballs, naturally.
On Friday we headed out to the German Technical Museum, Berlin. First we headed to look at the trains. The museum is situated in an old railway station, so they had a huge amount of space. In addition to the locomotives, they also had some of the rolling stock, which was interesting. In particular, a goods wagon used in the second world war for transporting people to concentration camps. I also paid interest to the classic steam engines from the 1930s. Then we went onto the computer section, where they had a display on the Zuse computer company from the early years (1940s to 1960s) of computing. After a quick peek at some of the aircraft they had on display (including one of the U.S. cargo planes used in the Berlin airlift), it was on to what we were both at the museum for: an exhibition on the history of Maths, and Maths in nature. One of the coolest pieces in the exhibit for me was three books: each a volume of a few million digits of Pi. Needless to say, I’m now on the lookout for my own book of Pi. I think if you wanted to, you could fill at least 2 days looking around the whole museum properly.
Today is Saturday the 21st, and tomorrow I leave Berlin heading back to Hobart. I’ll be wrapping up the trip with a few of my thoughts after I’ve recovered from the jet lag.
Firstly though, the trip home. It was a bog standard 40 hour plane trip, with the only two things of note the really nice girl I met in Singapore airport, and the delay on the last leg. Just after landing into Singapore airport for refuelling and so on, a girl (well, woman, about 25 or so) came up to me and asked if she could follow me because she didn’t understand what she was supposed to be doing (and I must admit, it was confusing). I said yes, and so together we trundled off the plane, looked lost in the middle of a big hall full of shops and no chairs, and then back into the gate through security. We talked, mostly about the country we were from (in my case, Australia, in hers, Serbia). She was travelling to Melbourne to meet her aunts and the rest of her extended family.
The Qantas flight from Melbourne to Hobart was delayed by the fact that the controls for the air conditioning in the cockpit weren’t working. As the pilot said, “we don’t care, but it’s not legal to fly”. The flight time from Melbourne to Hobart is 65 minutes, and we spent almost that much time in the plane on the ground. Apart from those things, and the crappy reruns on the in-flight “entertainment”, it was all fairly normal.
There are a lot of differences between Tasmania and Berlin that I’ve noticed. The first difference was in the public transport system. In Berlin, it’s functional. The trains and buses run perfectly on time at predictable intervals (3 minutes past the hour, 23 minutes past the hour, 43 minutes past the hour and so on for all of them), and are clean and always large enough. They only service the areas where it is profitable to run (not having bus stops and routes in the middle of nowhere). Compare that to Tasmania, where buses come at random times, don’t run near enough in peak hour times, and services areas where there is obviously no profit, which doesn’t help the bottom line, degrading central city performance.
The other huge difference was when talking about buildings. The whole of Australia has had an architectural history of just over 200 years. In Berlin, a house can be “only” 100 years old. In Australia, a 100 year old house is covered in protection acts. They also have a lot of efficient heating, solar panels on a significant portion of rooftops, and double glazing is everywhere (even on some of the trains, as far as my bad eyesight could tell). In addition, recycling was a lot better organised than in Tasmania: bins in the street were organised into 4 sections for rubbish, glass, packaging and paper. A big difference from a single bin for “rubbish”, into which is thrown everything under the sun.
I’ve tried a few new foods too. Sauerkraut was one that when placed in front of me I was a bit skeptical of, though is actually rather nice (it basically tastes like less-harsh vinegar). I’ve tried cherry-banana flavoured yoghurt and cherry-banana yoghurt soft drink, neither of which were very nice. For breakfast, new items included chocolate-covered muesli and scrambled egg spread (bought in jars from the supermarket). Last item of note was the large pretzel, which tastes exactly the same as the small pretzel I am used to. Meal structure was different too. Although occasionally using the large evening meal structure, most of the time it was a smaller evening meal and a larger lunchtime meal (which I quite enjoyed).
Overall, my trip to Berlin was brilliant. Since July last year I’ve been talking to Stephanie online through IRC, MSN, and eventually Skype, and the chance to meet her in real life was awesome (so much so, I can’t even think of decent words). As soon as I can afford to do so I’m going back there for another trip. I’ll make an effort to try and see a bit more of Germany, perhaps staying a bit longer to do so. I’ve convinced Stephanie to visit Tasmania in July, so that should be interesting too.
March 01, 2009 11:49 AM
February 27, 2009
Wow. It's been a thoroughly busy month, lots of things to recap, so I won't bother going into too much detail... Here's a selection:
AUC Workshops
In February, the Apple University Consortium sent me to Sydney for their annual Cocoa Developement workshop, and to Melbourne for their inaugural Ruby on OS X Workshop. Both workshops were great, and if you attend an AUC Member University, you really should sign up for their future workshops; that said, I can't see me seriously using Rails for anything in the future, and Obj-C peeves me... Cocoa, on the other hand is seriously exciting, and even from a few days' exposure, I can see why Cocoa developers love their framework so much, and the lack of a similar facility for making good UIs quickly in Linux is really obvious to me now . Hopefully this is something that gets addressed in future releases of the major desktop environments.
Semester 1 Gogog!
Uni went back this week, and it's been all-in-all rather eventful. It's the start of my final semester of undergrad study, which is going to encompass holding the presidency of TUCS, our Campus Computing Society, going to Stockholm to compete in the ACM Programming Contest, all the while juggling effectively 5 units of study. How I'm going to cope with it I have no idea, presumably I will though...
This semester, I'm studying three maths units (two pure, one applied): Computational Methods (or, how to avoid doing hard maths... clever how they keep that one for third year), Algebra 3 (mostly group theory this year) and (Functional) Analysis 3; Computing-wise, I'm studying Data Mining & Text Retrieval (the 3rd-year Machine Learning unit), and Advanced Web Development (purely as a Gimme unit). Hopefully this one constitutes a reasonably good mix between fun and interestingness -- and hopefully not too time-consuming. On another note, Kumudini (the lecturer for Analysis) deserves special thanks, as she's gone out of her way to ensure that Analysis is being offered before Semester 2 for me, which I'm quite grateful for (as it means that I can graduate with the Pure Maths Major).
TUU Societies Day 2009
Mentioning the start of semester without mentioning Societies day would be quite amiss -- for those who are unfamiliar, socieities day is a 3-hour event held on the first Wednesday of the Uni year, where students signup for their chosen sports clubs and societies, generally in return for Alcohol. This year, however, the Union made the curious decision to spilt the allocated space in two, and provide a dry area, which proved to be very useful for us at TUCS (as we'd decided quite some time eadlier that we'd not be providing alcohol). The Union kindly provided us with space directly outside the wet area, which gave us a massive wall for advertising, and the dry area made all our volunteers highly visible (due to there actually being space to move about).
TUCS put on a Barbecue, and provided "Enticing Gift Bags" (full of things including leftover LCA09 schwag) to new members. The Nett effect of this was that TUCS signed up 115 members, which is almost three times as many as we managed on societies day last year. Obviously, we're pretty happy.


That's all for now, more as it comes!
February 27, 2009 01:06 PM
January 27, 2009
Friday's keynote was fantastic -- Simon Phipps (who retained his job at Sun Microsystems) spoke of the Third Wave of Free Software, which was an observation that Free Software (specifically not Open Source) is becoming a sensible business proposition. It's about time that it did. It was refreshing to see a large corporate's view of the world of Free Software largely agreeing with my own. Talks after morning tea were Tridge's talk on his automatic cluster testing framework (pretty cool), followed by Conrad Parker's talk on Ogg Chopping, which despite the name, was actually a 50-minute rant about why Haskell is cool -- I'm sold (I think), but somewhat confused about the talk -- really, I have no idea what happened. I strongly urge you to watch the video (when it becomes available) in order to figure out what happened for yourself.
Lunchtime was the Great Unbeardening -- Linus Torvalds (who was roped into the act at the auction on Wednesday) shaved Bdale Garbee's beard -- the result? Disturbing. Really disturbing, but all in the name of charity. The #lca tag on twitter was displayed on the projector screen, so live audience responses were shown as the shaving continued, including one Maclabbian pointing out the relative weirdness of the event; photos were up on Flickr well before the end of the event, and Southern Cross News came to film the event (focusing on the shavee, and not the mysterious Finn doing the shaving...).

Matthew Garrett's talk on Power Management that works was great: nothing too technical, but an excellent discussion of the user interface issues surrounding power management. Matthew's talk was unique in that his talk covered everything in his abstract -- this includes answering the question "will we ever get to beer island?" -- the answer? Yes, provided you're in Texas. Following was Geek My Ride, presented by Jonathan Oxer and Flame -- this was a pretty cool demo talk, showing how the two of them have modded their cars to include some pretty cool stuff, including in-dash diagnostics, MP3 playback, and remote ignition (wow cool!).
The final talk of the conference was Bdale talking about rockets, which as usual were pretty cool. Lightning talks concluded the conference as they did in 2008 -- nice to see them becoming an LCA tradition, I will definitely aim to present at least one next year.
Conclusion
So that's it. LCA is over for another year, and will reconvene in Wellington, New Zealand for 2010 -- I've never been to New Zealand, and am really looking forward to going there next year. The 2009 Conference was excellent, the talks were well-presented, and the organisation of the conference was such that it appeared from the outside that the everything ran well (I've been told that that was certainly not the case). The conference allowed us to show off Hobart to the technical world, which is an opportunity that does not present itself regularly -- I'm glad that we got that opportunity, and I think most delegates this year will agree that it was an opportunity that was well-received, and resulted in an excellent conference for all involved.
Also thanks to Adam Harvey and Monica Wood for helping out at UpDNS -- you certainly made my job in organising it a lot easier; Linux Australia for having faith in the organisers ability to put on the conference -- I hope your investment in the Tasmanian Free Software Community pays off.
January 27, 2009 02:34 AM
The opening Keynote on Thursday was a discussion of the Wikimedia/Wikia project, which was overall not too bad. The highlight of the talk was the relaying the Parable of the Vegan, which was quite hilarious. Sadly, I don't think the talk was quite as good as it could have been -- too much time was spent teaching the purpose of Wikipedia and the structure of the wiki community, which I think was generally common knowledge amongst the audience. Once questions were asked, it became generally more interesting.
After morning tea were the absolutely fantastic Perl talks of Paul Fenwick, the first was "The Art of Klingon Programming", which made a hugely insightful analogy between the Perl programming language and Klingon culture, and used this to inspire his talk about libautodie, a library that makes Perl behave sanely in the face of supposedly fatal errors. It's pretty damn cool, and cleans up one of my least favourite things about Perl (though quite a few still remain), Paul's second talk of the day was on new features in Perl 5.10, which were interesting. Perl 5.10 has added a swtich-alike block, which I think is a model that other languages should adopt -- instead of the C-style 'break-or-fallthrough' method (which introduces many stupid bugs for newbies), Perl adopts the 'continue' keyword to allow a fallthrough, or no statement to break -- this is pretty damn clever, if I do say so myself.
This was followed by a talk entitled 7 Things Lawyers Don't Understand About Software -- delivered by a UTAS Law PhD student, who presented some very interesting arguments about the likeness of software and mathematics, and related this to the unpatentability of mathematics. His research appears interesting and I urge you to check it out.
After Lunch was Donna's The Joy of Inkscape tutorial, the point of which was to have people tinker with inscape for two hours, with occasional supervision from experts. Sadly, the room (which holds 40 with tables) overflowed, and hence the tutorial didn't appear to function entirely as planned. I don't think this affected the ability of people with seats to enjoy the tutorial though, which is nice.

Following Afternoon tea, I relaxed for a while (indeed skipping a talk), and finished up at Hugh Blemings' talk on learning Free Software Hacking from Clever People -- this talk was a disappointment -- from casual observation, people in the audience provided more useful input than the speaker, and the speaker was mostly inaudible (partially due to his tone of voice not agreeing with the room acoustics).
Thursday Evening involved me and various TUCS people running the Unprofessional Delegates Networking Session at the Uni Bar -- this was a massive success for us (we turned a profit!!!) and we were happy to provide an opportunity for the non-professional delegates to socialise whilst the professionals enjoyed their pissup at a brewery. Never underestimate the power of meat and quanitity burger to attract and feed people. I should direct many thanks to the business staff at the TUU and the Uni Bar, who opened their facilities at 3 days notice, for what was effectively a break-even prospect. Hopefully TUCS can do more work with them in the future.
(Photo by Adam Harvey)
January 27, 2009 02:33 AM
Tom Limoncelli opened the conference proper with his keynote on "The Scarcity Mindset vs. The Abundance Mindset", which was an interesting and insightful talk on how the modern abundance of computer hardware, coupled with open source software can help sysadmins make better use of their resources. I must congratulate the organisers of the conference for selecting a sysadmin talk as the opening keynote: LCA has suffered from a lack of sysadmin talks (which the miniconf has fixed to a certain extent), and having such a keynote open the conference is an excellent investment in furthering sysadmin content at future LCAs. That said, the talk was very sysadmin-specific, and was therefore not directed well at the majority of delegates (discussing things like implementing better tech support policies in the workplace). For those more willing to look at the bigger picture (i.e. by factoring out the direct application to sysadmining, the abundance mindset is certainly something that can be used to better support open source development.

(Photo by Thomas Karpiniec)
This, for me, was followed by Keith Packard and Carl Worth doing a double-feature talk on recent developments in X, followed by a demonstration of the Linux graphics pipeline, including some discussion of how graphics drivers can be improved to allow better rendering from (say) Cairo and OpenGL. I went to the Django tutorial after lunch, which was reasonably interesting, though I stopped actively participating about halfway through. It was interesting to see how Django works, and how some of its choices were made as far as design was concerned -- in particular how there are many features designed for journalists, since Django was developed in-house by Journalists in Kansas.
Post-afternoon-tea, I went to Jonathan Corbet's talk on joining the Kernel development process, which was a departure from his usual "Kernel Report" talk -- he explained the significance of the various trees of kernel development, and explained how to work with subsystem maintainers in order to ensure that your driver became well-maintained into the future. This talk was significantly enhanced by Linus Torvalds being in the room, helping answer questions and providing further input into the presentation as it presented: this was probably the closest he got to presenting for the entire week. Following this was Martin Krafft's talk on the vcs-pkg.org project, or how distribution package maintainers can collaborate with their counterparts at other distros using distributed VCSes such as Git. He presented a good discussion of his own workflows, as well as discussion of the suitability of various tools for the purpose of cross-distro collaboration.

The real highlight was Wednesday night's penguin dinner, which featured the most bizarre auction that I've ever seen, which ended up with a consortium of Kernel Hackers and Collabora paying AUD$10,500 for a print of a photo, and a beard. This has already been discussed adequately elsewhere, so I shalln't bother.
January 27, 2009 02:30 AM
Tuesday I spent mostly at the Free as in Freedom miniconf, where I saw Arthur Sale's talk on Open Access journals (where he outlined the changes that need to occur in the research publishing industry in order to support research in the online age), Jeff Waugh's talk "We are the Translators", which drew some enlightening parallels between Gutenberg, early Protestants (who translated the bible into modern languages, much to the disgust of the Catholic church) and the modern Free Software movement.

The final talk of the day was presented by Rusty, which essentially consisted of a fantastic 25-minute rant against modern IP law. The talk was passionate, interesting, and featured an interpretive dance about the dangers of software patents. I think that just about sums the talk up. Here I also met Paul Fenwick (developer of Autodie, the library that makes perl behave sanely in the face of errors); to my horror, many of my friends, who were sitting in the same general area as me hadn't seen Paul's lightning talk from 2008, so I took the opportunity to show them -- it's still as fresh and witty as it was last year and if you haven't seen it I urge you to again. At the conclusion of FIAF, we played Freedom Bingo, which although running for the first time ever, went pretty well -- I (as the last person to win a prize) secured a copy of Girl Talk's album, which I'll listen to sometime in the nearish future.

Outside the conference proper, I went with some fellow student (and one professional) delegates to Da Angelo's in Battery Point. Needless to say, it went down a treat (I was thanking my luck that we managed to get a table there at such short notice) -- everyone was really happy with their meal, and other than that, the company was excellent, and was all-in-all a pretty good night.
January 27, 2009 02:30 AM
January 18, 2009
Yesterday, being the opening day for registration at Linux.conf.au 2009, I decided to attend the Newcomers' session, in which Rusty Russell and Donna Benjamin detail the history of the conference to conference newbies. This was followed by drinks and nibbles at one of the local bars (the Metz, unfortunately, and became very loud before too long).
Last year's Newbie's session was excellent, I met many interesting people from other projects, and this didn't happen to the same extent as it did (though I spent a fair amount of time chatting with Rusty about various things), though a few friends from Sydney made their way down independently, and I met another NCSSer (a tutor who tutored the returners at his first NCSS), so it was good to catch up with them.
The evening was spent watching the the aforementioned students from Sydney attempting to set up a wireless network. Who'd have imagined it was so difficult for people to three Uni Students to agree on which set of DHCP and DNS services to use?
No photos today sadly, hopefully I'll be able to get some onto flickr this evening. Maybe.
January 18, 2009 08:14 PM
January 14, 2009
So due to being fed up with my previous camera, I got myself a new Canon EOS 450D digital SLR camera last week, and needless to say, I'm really really quite impressed.

I've taken it out for a few test runs over the past week, and am really quite impressed with the results. To start out my lens collection, I've used some of my Dad's old FD-mount lenses via use of an adaptor1 (including an f/3.3 200mm prime and an f/5.6 75-300mm zoom, for those of you who are at all interested), which has afforded some good opportunities for interesting photos:


I'm really looking forward to LCA as an opportunity to give it a really thorough workout -- I expect that I'll take a ludicrous amount of photos as an opportunity to test the camera in more varied circumstances. More as they come!
[1]: Yes, I'm well aware of phographers' disdain for using FD lenses on an EOS camera, currently I don't care. When I get to the point where I need to, I will.
January 14, 2009 11:30 AM
January 13, 2009
Ohgod, only 6 more sleeps until LCA2009 starts here in Hobart, and planet lca2009 has just been announced, so I suppose I'd better make a first post.
I'm really really excited (as Tom has already pointed out), and I hope all the excitement turns out to be justified (not that I have any doubt at all). There are some absolutely fantastic talks and tutorials lined up for every day of the week, which I'm really looking forward to.
Outside of the conference proper, I hope that you take as many opportunities as possible to take in Hobart's scenery, including Mt Wellington (which is 30 mins drive to the summit from the city, and from which you can view the entire city) and Salamanca, amongst others.
I'm looking forward to meeting those of you that make the march south over the next week, and I hope you enjoy Hobart as much as I do.
January 13, 2009 10:16 AM
January 01, 2009
I notice that the most significant number on my clock has incremented (as it tends to do once every 365ish days), and hence I feel obliged to point it out to you all: Happy new year!
2009 looks like it'll be a really exciting year for me (for the first few months of it, anyway) -- I'm looking forward to (in no particular (chronological) order):
- Not going to Sydney to tutor at NCSS, instead, filling most of the rest of my summer break doing programming competition practice (exciting!!!?!)
- linux.conf.au 2009 in Hobart (and the associated bonus of finally getting friends from interstate to reciprocate visits I've paid). Only 18 more sleeps until the first day of miniconfs kicks off -- I'm thoroughly excited!
- Starting my final semester of undergrad study (not so much the overload that I'll be undertaking in order to actually finish my degree :()
- Easter in Germany!
- Competing in the World Finals of the ACM ICPC, to be held in Stockholm towards the end of April
May your 2009 also be fun, exciting and productive!
January 01, 2009 04:42 AM
December 29, 2008
Now that the complete schedule for LCA (Including miniconfs) is available, I've chosen what talks I can go to. I'm quite impressed, almost every session for the entire conference has something that's caught my eye, and so I only have one or two slots left to fill per day. Currently, my selections stand as such:
Monday
9:30-10:20
Is Parallel Programming Hard, And, If So, Why?
by Paul McKenney
10:40-11:30
Undecided
11:40-12:30
- PROBABLY - Collaborating Successfully with Large Corporations
by Bdale Garbee
13:50-14:40
How I Learned To Stop Worrying And Love ACPI
by Matthew Garrett
14:50-15:40
Undecided
16:00-16:50
Kernel Lightning Talks
17:00-17:50
Ask a Kernel Hacker Panel
--
Tuesday
9:30-10:20
Beyond Open Source
by Arthur Sale
10:40 - 11:10
Future directions for Copyright Law
by Laura Simes
11:10 - 11:30
OpenAustralia - Everyday democracy for everybody in Australia
by Katherine Szuminska and Matthew Landauer
13:50 - 14:40
Undecided
14:50 - 15:20
Freedom in Focus: CC Photography and Cultural Change
by Rachel Cobcroft
15:20 - 15:40
We are the translators!
by Jeff Waugh
16:00-16:50
Undecided
17:00-17:50
Undecided
--
Wednesday
10:40-11:30
Introducing the Re-Built Linux Desktop
by Keith Packard
11:40-12:30
From click to pixel: A tour of the Linux graphics pipeline
by Carl Worth
13:40-15:40
Introduction to Django
by Jacob Kaplan-Moss
16:00-16:50
Joining the mob: the kernel development process
by Jonathan Corbet
17:00-17:50
Cross-distro collaboration: packaging
with modern version control systems
by Martin Krafft
--
Thursday
10:40-11:30
- PROBABLY - AIO: Why is this so hard?
by Zach Brown
11:40-12:30
7 Things Lawyers Don't Understand About Software
by Anton Hughes
13:50-15:40
The Joy of Inkscape
by Donna Benjamin
16:00-16:50
- PROBABLY - the Inkscape LPE revolution!
by Andy Fitzsimon
17:00-17:50
Tricks of the Trade: Learning Free Software
hacking from clever people
by Hugh Blemings
--
Friday
10:40-11:30
autocluster - a system for automated
testing of clustered systems
by Andrew Tridgell and Martin Schwenke
11:40-12:30
Ogg Chopping: techniques for programming
correctness and efficiency
by Conrad Parker
13:50-14:40
Power management that works
by Matthew Garrett
14:50-15:40
Geek My Ride
by Jonathan Oxer and Jared Herbohn
16:00-16:50
Open Source for Model Rocket Design
by Bdale Garbee
17:00-17:50
Lightning Talks! Yay!
If anyone's got suggestions for the talks I've not figured out yet, please let me know!
December 29, 2008 02:45 AM
December 10, 2008
After a rather... interesting thread on #linux.conf.au today, I inherited a new e-mail address. I can now be reached at hair-removal at the secondary domain of linux.conf.au 2009 (marchsouth.org). No idea how that one happened.
December 10, 2008 11:44 AM
December 05, 2008
Well, as previously reported here and here, my team, the Mehffort Musketeers had a pretty good run in the 2008 ACM South Pacific Programming Contest. Today, the SPP Contest website announced that we've been allocated a Wild Card entry into the World Finals, to be held in Stockholm after easter next year. I'm excited! (Hugely so).
December 05, 2008 06:26 AM
December 04, 2008
Python 3000 (aka Python v3.0) has just been released! Grab your source tarballs whilst they're hot!
December 04, 2008 01:51 AM
November 28, 2008
Another semester, another 4 HDs... No idea what to make of that. More specifically, my marks were: 85 for Graphics, 85 for Research, 96 for Real and Complex Analysis, 97 for Topics in Advanced Mathematics. All in all, it's about what I expected, which is probably the first time that that's happened for me, and it's a nice feeling.
19 down; 5 to go.
November 28, 2008 03:19 AM
November 26, 2008
I was recently pointed at a talk given by Guy Steele (who, amongst other things, co-invented Scheme), given at the 1998 OOPSLA Conference, entitled Growing a Language.
In it, he talks about the need for Java to add features that will allow the language to grow as users add to it, specifically suggesting two features (one of which has been added, albeit poorly, and one of which is still yet to be implemented); but the real value of the talk is not what he says, but in how it is presented: whilst giving that away would be entirely unfair, I recommend watching at least the first 10 minutes of it, to allow you to figure out what's going on.
So, if you get a spare hour in the near future, I suggest you watch it.
November 26, 2008 11:05 PM
November 21, 2008
Time for me to enumerate a few things that have happened of late (in reverse order of occurrence, naturally), since it now seems like the time to do so.
Uni
I handed in my Computer Science term project today, which, I suppose means that my academic year is now complete. I'm fairly happy with how the semester's progressed, every unit that I studied (including the two that I chose on a whim) has been excellent, which is more than I can say for previous semesters. Analysis (Real analysis to be specific) was absolutely fantastic, and I'll be doing my best to enrol in the follow-up functional analysis unit (I've had it suggested to me by several people, and I'm convinced), and it's certainly made the maths major I'm now enrolled in seem like a very good idea.
As far as I can tell, exams went well, but I won't know for certain until results are released next week (I'm very confident with my two maths units, Graphics is a different story (though I don't recall doing as badly as the lecturer claims the class as a whole went)).
TUCS
In other (though slightly Uni-related) news, TUCS (The UTAS Computing Society) had its Annual General Meeting for 2009 last week, and as well as discovering the joy of barbecued* Woolworths' Quantity Burgers (they're excellent, really!), I was elected society president for 2009. The rest of the exec are also a truly awesome bunch of people, so the future certainly looks bright.
TUCS has run some excellent events in its inaugural year: our tech talks were, in general, wildly successful, amongst other things. Thanks to that, we've become what appears to be one of the most active societies on campus. I'll be doing my best to make sure that we can replicate, or even better that next year. (If you're a speaker, or know any good ones, and would like to give a talk, let me know!)
In related news, we also took delivery of some particularly awesome TUCS-Branded T-Shirts just after exams -- we're particularly happy with how that went and will probably do it again next year.
(*I will definitely be approving funding for a new barbecue for the society... the current one is truly dreadful)
LCA
Last week-ish, I had dinner with some members of the Linux.conf.au organising committee. Though much of what was discussed must be kept under wraps (it's thoroughly exciting, I promise!), I can tell you that the conference is shaping up to be most excellent, and if you haven't already booked your ticket, I suggest you do so as soon as possible!
That is all for me for now, more news as it comes (I hope!)
November 21, 2008 07:41 AM
November 14, 2008
Well, I've decided to do the Book Meme from PLOA and Planet Debian etc... Just recapping for those of you who haven't seen it yet (not many of you):
- Grab the nearest book.
- Open it to page 56.
- Find the fifth sentence.
- Post the text of the sentence in your journal along with these instructions.
- Don't dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST
And mine is:
It is possible to prove that if such a nontrivial square root of 1 exists, then n is not prime.
-- Structure and Interpretation of Computer Programs, Second Edition.
November 14, 2008 07:02 AM
October 28, 2008
Whilst doing some coding today for my semester research project I found a need to check for incoming data on a socket without taking any data out of the stream. Here's the code I came up with:
cp.sock.setblocking(False)
try:
cp.sock.recv(0)
stuffwaiting = True
except socket.error:
stuffwaiting = False
cp.sock.setblocking(True)
This code works finely on Linux -- you can only receive data if there is data to be received (even if you want to receive no data). Unfortunately, the code doesn't port to Mac OS -- you may receive as many bytes as there are in the socket's buffer -- if there are no bytes in the buffer, you can receive 0 bytes. Therefore, the following fix is necessary:
cp.sock.setblocking(False)
try:
cp.sock.recv(1, socket.MSG_PEEK)
stuffwaiting = True
except socket.error:
stuffwaiting = False
cp.sock.setblocking(True)
So, my question for Lazyweb is: is there a better way to do this?
October 28, 2008 11:06 AM
October 25, 2008
A question for my interstate readers: Has anyone seen the following lane structure outside of Tasmania?
(If anyone wants to guess what the correct procedure is in such a situation, you're also welcome to do that)
October 25, 2008 02:37 AM
October 16, 2008
Briefly put, money is the new “Democracy”. Think about it, it provides equal opportunity to social power. It is also completely indiscriminate of human specifics. Indeed, it requires our discriminations in order for it to be useful. This social tool is what it is, a human creation. Just like the sword and gun it is the new form of “it’s not money that owns people, people do.”
The control we have on money is completely one-way. If you wanted to live a money-less life it is as simple as detaching yourself from this specific other. There is no phenomenological value in money other than what we put on it. This is apparent as the amount transcribed to a particular set of money is in a constant flux based on the need of the human. Whatever you buy or sell impacts “economy”. “Economy” is the system that determines the value of an object at any given time. It’s as easy as prescribing how much worth a thing is to the human race. Pick up a chair and understand that comfort is in great demand in our society. Compare it to a rock which has no use to us, hence it has no value. This is what “Economy” is based on, what is useful and what isn’t. What should we spend money (property control) on and what is fruitless to invest in.
Don’t get me wrong, I don’t hate money, I think it is a near-perfect system that compensates for the fluxes of interest in society. I mean, should we really ditch something that has been born out of our cognitive structure? This would be potentially damaging specifically as there is no other clear option. Other than forcing people to adhere to an equally profiting governance. Is it fair to say that this would have come about in a liberal monetary system if we all thought the same way? Money allows for ideology, the system of currency allows for human learning. If there are people starving in Africa or under-paid over-worked workers in sweat-shops then money is not to blame. Of course, this is the usual response to guilt, try and blame it on something that can’t talk back.
Currency is a social institution, hence it can be changed, improved upon or possibly removed at some point.

October 16, 2008 10:31 PM
October 13, 2008
“It is the international system of currency that determines the totality of life on this planet.” (excerpt from Network (1976))
Isn’t that a wonderful quote?
I mean it just completely sums up the state of the world today. That we (humans yes I am bringing humanity to acocunt) have created this …. thing! called economy. Then lo and behold, it’s out of our control! Now how could this have happened? But, wait a second, we should look closer and find that it isn’t completely out of our control. No, nothing that governs our lives and influences our decisions can ever be out of our control. This is a dangerous road to go down, but alas it is already one that many capitalist societies have proceeded to take (completely unawares of course).
I had an argument a few years ago with my sister over the importance of money. I think this was the early stages of my understanding that all was not quite right in the world. I had quite simply said “I do not need money to survive.” Naturally, she found that statement to be utterly ridiculous and proceeded to argue case-in-point that money is necessary for food, water and ergo our basic functions as a living human being. This shocked me, to say the least and I should have developed on my point back then and not leave it as just a generalization. She probably thought I was declaring I am going to live as a homeless person eating scraps out of dustbins. But, what I really meant was that I had understood and corrected my attitude to this thing called “money”. I do not need money to survive. Of course I understand that in the nature of this capitalist society we live in the system of currency is a required path to adhere to in order to have a basic level of living. But, I do not need money, I do not covet money, I do not cling to money and I certainly take care to not attach myself to money. It is simply just a shift in attitude towards recognising that currency is just a system of social governance created by a few men in order to control and surpress the ambitions of the wider community. It is in no way some a priori “norm” that we must blindly accept.
I am to this day completely amazed at the lack of understanding of the so-called “sharemarket”. There seems to be this image of it circulating the media to which the impression derived is always one of confusion and ambiguity. This naturally leads to a complete absence of enthusiasm to try and understand it in basic reasonable terms. Money is and always has been power. It is a non-physical manifestation of power (in regards to physical violence userping control, money does this non-violently). It is therefore important to note that the system of currency is just another form of governance which usually operates in conjunction with the “government” of the country it is operating in. For example, in the United States of America, their Federal Reserve Bank (which is a private operation, none of the board members are voted in, nominated etc) creates money and then loans it to the US government with interest. The government is essentially indebted to the Federal Reserve Bank.
“In summary, all money is debt. And all debt, that’s expressed in dollars, is money. To understand that, is to understand much of what is wrong in our economy. All debt, that’s expressed in dollars, is money.” (Rodger Malcolm Mitchell 2003)
Thus is the control of a debt-based economy, but it can change!
I would like to note that there has never been a Democracy in the fullest sense of the word. Don’t try and cite the Ancient Athenian Demokratia, simply because its directivness was not fully developed. Slaves, non-Athenian citizens (people moved to Athens, living there but not considered “citizen”) and women were unable to vote. This left all male citizens over the age of 18 to participate, around about just one quarter of the population. Also modern representative democracy? Firstly it doesn’t oblige everyone to vote, it’s not about forcing people to vote or not merely making people accept their responsibility. Indifference of good action is a huge negative force. Also, two teirs of the government are quite lacking in “representativeness”. The presidency is one person weilding immense powers of veto, and their party’s legislative powers. They can also nominte supreme-court judges which is another teir of accountability. So the only real spread of representativness in the US democracy is the senate. But of course, with only 100 members versus the millions of US citizens, I fail to see basic representation occuring.
Enough for today, my brain is tired =)

October 13, 2008 04:43 AM
October 12, 2008
September 18, 2008
The 2008 ACM South Pacific Programming Contest Results have been confirmed: my team's come 3rd overall (as expected). We find out whether or not we've achieved a wild card position in the World Finals in December.

September 18, 2008 03:16 AM
September 14, 2008
For the benefit of those who were intersted, Mehffort is a portmanteau of meh and effort, and is a very popular word in the semester 2, 2008 Maclab dialect of English. It is used to convey one's lack of motivation towards a particular task. In context:
- Me: Paris, help me come up with a witty slogan for the TUCS T-Shirt.
- Paris: Mehffort.
As proud denizens of the Maclab, my ACM ICPC team for this year decided to adopt the word as part of our team name.
September 14, 2008 01:11 AM
The ACM ICPC South Pacific Region was on yesterday, and was great fun (as usual). My team this year, the Mehffort Musketeers consisted of Alex Berry (who'll be competing in the Google Code Jam regionals soon as well), Michael Ford and myself.
For the benefit of people who did the ICPC this year: I solved problem A, C and I; Michael solved B and D, and Alex solved E, F and H. Here's some general commentary on the problems that I solved:
- Problem A was very simple, and the shell of my solution was complete within three minutes of the contest starting. Unfortunately, the entire problem was not defined until halfway through the test data, which led me to finishing it a bit later.
- Problem C, which seems to have been the problematic problem this year (as far as judging's concerned) was relatively straightforward, though I had two rather annoying bugs that took me about an hour to week out... it happens, I suppose. Solved on the first submission, which I'm happy about.
- Problem I was a longest path problem, that was relatively straightforward depending on what sort of algorithm you chose to solve it. I've heard reports of people using the Bellman-Ford Algorithm and failing -- as far as I can tell, such an algorithm would work on problems except where there existed a cycle not involving the endpoints of the path taken in the problem. I used Floyd's Algorithm and had it solved first time. Simple.
As alluded to earlier, we solved 8 problems, and we're currently the only team to do so with the testing data used on the day (this means that we're in a provisional first place), however, there are many teams who are likely to get problem C rejudged, and following that we'll likely be third. More news to come.
September 14, 2008 12:56 AM
September 10, 2008
I found this very useful news service today, at HasTheLHCDestroyedTheEarth.com.
May you find it informative.
September 10, 2008 11:21 PM
September 01, 2008
August 11, 2008
Around the end of the last financial year, I decided it would be a good idea to buy myself a laptop. So I did. I originally wanted a cheap Compaq one, simply because of it’s cheapness. But my local computer shop didn’t have any in stock. So I got an ASUS F3Sg instead. It costs about AUD $1300, and it’s pretty decent. Here’s why.

I’m not exactly a fan of the styling of recent ASUS laptops, and this one is no different. It’s very grey… and has holes and shapes that are perfectly designed for nothing, except getting biscuit crumbs in them. Out of the box it also comes covered in useless Intel, Nvidia and Microsoft stickers (some of which I still haven’t been able to remove). As far as bad points go though, that’s pretty much it.
To start off the list of good points, I’ll start with the screen. It’s a 15.4″ widescreen, with a resolution of 1440×900. That’s as good as the 19″ monitor sitting on my desk, and with the decreased viewing distance, it’s just as usable. I certainly wouldn’t like it any larger, as it would then be quite difficult to get into my laptop bag (and to carry around generally).
The internals also match up to my (still pretty new) desktop. 2 GiB of DDR2 memory, a Core 2 Duo processor running at 2.4GHz, and a 250GB hard drive are all very respectable. The NVidia 9300M graphics chip plays Counter Strike: Source well enough to be comparable to the 8800GT in my desktop. That said, CSS isn’t one of the latest games anymore. I fear that Call of Duty 4 would stress it a bit too much.
Multimedia is okay. The onboard speakers are utter rubbish, but then those that come with laptops generally are. The audio chip is decent, as sound quality improves immensely when a pair of Sennheiser headphones are plugged in. The laptop has an onboard microphone, but I haven’t used it. Any attempt to use it for Skype would likely result in the glorious sound of feedback.
The F3Sg also has a webcam built into the screen. Quality is fine, though when I used the driver that Windows Update found for me after a fresh install, the picture was upside down. The other nice feature this laptop has is a built-in digital TV Tuner. Apart from the fact that Sesame Street has gone downhill, I don’t have much to report on that… it’s fairly ordinary, and suffers from the same problems (bad reception, worse content) that all other TV tuners suffer from.
Battery life is around 2.5 hours on the most conservative setting. Compared to the 5 hours an old G4 iBook of mine used to do, this is pitiful. But the iBook had nowhere near as many goodies. The F3Sg also burns a hole in your pants if you actually use it as a laptop, so it’s best to use it on a table. At 2.95kg, it’s just in the region of being carryable without breaking your shoulder. The large screen (and large battery to compensate) would be the cause of this.
As with all out-of-the-box computers, the included software on all ASUS laptops is sub optimal. Offerings include Nero, Norton Internet Security, and other such horrors. One thing I can say is, though, the drivers are rock solid. In two months I’ve never had any bluescreens or crashes, which is a miracle for a Windows-based machine.
To sum up: As far as Windows-based laptops go, this one is really good. I certainly wouldn’t have it over a MacBook Pro, but then, no sane person would. It has enough power to do all the things I want, and still remains light and small enough to carry to and from work. The only real downside as far as usability is concerned is the battery life. 4 Stars.
August 11, 2008 11:59 AM