t b a

September 01, 2010

Thomas

Loading remote URLs from mutt

My email lives on a virtual server and lately I've been accessing it with mutt on that machine via SSH. I really like mutt, but this makes things tricky when someone emails me a URL and it's either awkward to copy & paste (e.g. PuTTY) or I'd like to look at the web page on another machine--often I have my laptop to one side for email while doing other things on my desktop machine.

Mutt uses the rather nice urlview program to extract URLs out of email messages for easy selection. urlview's handler script can also be hijacked to do whatever you want. I've set mine up to generate an HTML file in the server's webspace. This HTML file has a meta refresh tag to immediately redirect the browser to the URL of interest.

Now when I get a URL in an email I hit ^b to invoke urlview, select the URL I want, load a web browser on the target machine and choose my bookmark for my own URL redirector.

To set this up yourself:

  1. Install the urlview package
    aptitude install urlview
  2. Modify /etc/urlview/url_handler.sh to call your own script. I put the following line under the user-configurable settings but before their own handler:
    /usr/local/bin/sharelink.sh $1
    
  3. (Optional) Disable the http handler so that you don't end up loading elinks or something else on the computer running mutt:
    http_prgs=""
  4. Create a world-writable file in the machine's webspace: (but not world-deletable! The parent directory should only be writable by www-data or root.)
    touch /var/www/link.htm
    chmod 0666 link.htm
  5. Create a script to generate that link.htm. In my case I used this following in /usr/local/bin/sharelink.sh:
    #!/bin/bash
    
    LINKFILE=/var/www/link.htm
    url=$1
    
    cat > $LINKFILE <<EOF
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head><title>Email Link Redirector</title>
    <meta http-equiv="refresh" content="0; URL=$url"></head>
    <body><h1>Redirecting</h1><p><a href="$url">$url</a></body>
    </html>
    EOF

Coming up with a cool way of retrieving attached files is left as an exercise to the reader.

September 01, 2010 09:33 AM

August 31, 2010

Chris

Two-What preferred

Thanks to Antony Green of the AB (friggin’) C (emphasis mine):

The reality of forming government in the newly elected House of Representatives depends on those eight elected members, but the AEC’s total of 2-party preferred vote currently excludes all votes cast in these eight electorates, the eight electorates whose elected members will determine who forms government.

Based upon the published information currently available, the ALP trail the coalition by less than 2,000 votes nationwide, including four seats where the coalition obtained considerably less than 25% of the primary vote.  It’s disappointing that the AEC has published such misleading data, but it’s utterly shameful that the nation’s news outlets are pouncing on this.  In this situation, a two-party preferred vote is meaningless, and misleading two-party preferred vote even more so.

And now back to your regularly-scheduled programming.

August 31, 2010 12:13 AM

August 30, 2010

Thomas

Amarok 1.4 on Squeeze

Some good news: it looks like Amarok 1.4 can run in Debian squeeze with minimal fuss by using some of the packages from lenny. This is nice because Amarok 2 doesn't seem to support CDDB lookups yet.

First, most of the dependencies can be fulfilled using the squeeze repo:

aptitude install libtagc0 libtunepimp5 libkarma0 libnjb5 kdelibs-data libarts1c2a libavahi-qt3-1 kdelibs4c2a libpq5 libifp4

Then, grab packages for your architecture from here:

http://packages.debian.org/lenny/amarok
http://packages.debian.org/lenny/amarok-common
http://packages.debian.org/lenny/amarok-engine-xine

http://packages.debian.org/lenny/libmysqlclient15off

http://packages.debian.org/lenny/libmtp7
http://packages.debian.org/lenny/libgpod3-nogtk

And install them:

dpkg -i amarok_1.4.10-2lenny1_amd64.deb amarok-common_1.4.10-2lenny1_all.deb amarok-engine-xine_1.4.10-2lenny1_amd64.deb libmysqlclient15off_5.0.51a-24+lenny4_amd64.deb libgpod3-nogtk_0.6.0-6_amd64.deb libmtp7_0.2.6.1-3_amd64.deb

Nothing's broken yet...

Hooray!

August 30, 2010 07:25 AM

August 20, 2010

Chris

AUC /dev/world/2010 — I’m Presenting!

AUC /dev/world/2010, the Apple University Consortium’s conference for developers working on or with Mac or iOS devices is on again this year, on the 28th and 29th of September, in Melbourne.  Last year I presented a talk, and ran the conference’s lightning talks; the conference was fanstastic: the content was easily-accessible to staff and students from across the country, and catered to a very wide range of skill levels and familiarity with Apple frameworks.

This year, I’ll be presenting Awesome Things You’ve Missed in Python, a fast-paced, code-heavy recap of interesting features to hit the Python Programming language in the past few years.  My talk is not specific to Apple development, but will have a strong focus on techniques which are applicable to development with the PyObjC library.

If you’re on staff or are a student of an AUC member university (most Australian Universities are, as are a few Kiwi ones), registration is cheap ($100 for students), and all flights and accommodation are subsidised (to a generous limit).  If a fun two days of meeting interesting people and learning about development techniques with the latest technology available on Apple devices interests you, get in contact with your local AUCDF coordinator to register!

August 20, 2010 10:34 AM

August 19, 2010

Thomas

Thank a developer

"Thank you for you mail. It always gives me a warm feeling in my heart to see someone using my script"

A lot of free software exists because of the work of volunteers -- particularly the smaller projects for more obscure tasks, often with only one developer. They don't do it for money. They do it because they want everybody to be able to benefit from the work and that happens and that's great.

Occasionally I find some oddball program or script particularly useful and it occurs to me that the developer probably doesn't realise that other people are finding it handy. It's too small or insignificant to have a "community". Sometimes I'll take a minute to send a small sincere thank you email. The developer gets a warm fuzzy feeling and in turn I get a little satisfaction for doing so. Who knows, the developer might even be encouraged to spend more time on the project if they know it's being used.

Next time you find yourself thinking "holy cow this thingy is awesome", maybe a friendly thank you email would be a nice way to express it.

August 19, 2010 02:01 PM

Chris

A Manifesto

I believe:

August 19, 2010 12:03 PM

August 16, 2010

Thomas

Experimenting with BFS

I was listening to some mp3s in cmus at the same time as compiling gnome with jhbuild when I was experiencing relatively frequent gaps in the music. It shouldn't be my responsibility to juggle nice levels so I decided to try the Brain Fuck Scheduler which is rumoured to be more responsive with small numbers of CPUs than the mainline kernel's Completely Fair Scheduler, which has been used since 2.6.23.

Running off the Linux v2.6.35 tag, here the results of my highly scientific experiment:

Scheduler                           Gap-free playback    jhbuild compilation speed
----------------------------------------------------------------------------------
Completely Fair Scheduler (CFS)     Doesn't work         Fast enough
Brain Fuck Scheduler      (BFS)     Works                Fast enough

Precise? No. Complete coverage of factors which I care about? Yes.

The only notable distribution in which it is used seems to be CyanogenMod for Android phones. While sporadic arguments continue around the complicated political and technical reasons for the lack of BFS in mainline, both of which are free software, some users like me are missing out. Maybe one day I'll understand.

August 16, 2010 09:46 AM

August 12, 2010

Thomas

Bored in Networks Class

August 12, 2010 12:32 PM

August 04, 2010

Thomas

Sausage Taco

Just a few minutes ago I was laying in bed dozing off and dreaming about eating a taco when I had the most wonderful idea:

Normally when you're constructing a minced beef taco the meat falls out and goes everywhere and you make a mess. Why don't we just cook up some beef sausages instead and put those in the tortillas before adding salads and sauces?

Bam, said the lady.

August 04, 2010 02:16 PM

July 29, 2010

Thomas

The Deplorable State of Commercial Gaming

I'm really quite angry right now: half at Blizzard, and half at myself because I knew that I was going to get something like this and gave them my money anyway.

Starcraft II doesn't support LAN play. This is not just a case of needing to be online and authenticated with Battle.net to fire up a server. That would be annoying but could be poorly justified by the improved integration with your online profile.

No, Starcraft II goes out of its way to make playing on a LAN difficult even when everybody has purchased the game and has logged on to Battle.net.

Suppose you're at a LAN with a bunch of other dudes (or gals, let's be optimistic) and you're fortunate enough to have an Internet connection so that you can all get onto Battle.net. As best I can tell, you have two options for getting in a game together:

Option 1: Invitations

Option 2: Public and Pray

This is seriously crap.

As the people who are reading this probably know, I help run LANs this year where we don't have Internet. I had a glorious plan to allow people to connect to Battle.net through my phone's 3G connection so that we could get some games happening, but nobody's going to want to go through all the above to make it work. Sure, I'd probably do it because I really like Starcraft but I would feel like a deluded fanatic saying "Hey you should play this game! It'll be great! We just have to do all this bullshit to make it work, but you know you want to!"

It's like a fricking iPhone. Sure, I could buy one and jailbreak it to do what I want. Sure, somebody's going to hack SC2 so it can be played on a LAN eventually. But I shouldn't have to do it. Antifeatures are lame. I may not have bought an iPhone but because of my lack of moral conviction Blizzard already has my money and they don't give a toss what I think from here on in.

I should learn to find Battle for Wesnoth exciting or something.

July 29, 2010 11:15 AM

July 24, 2010

Thomas

iPhoto to GIMP

When I first started playing photography properly I was content to use iPhoto to do my basic post-processing. Now I'm in a mac-less environment and I like to use GIMP to edit things. Unfortunately I wasn't really sure what iPhoto was doing with my photo: I would just tweak the sliders until I was happy. That left me wondering what the "real" edit is to achieve the effect of the "Shadows" and "Highlights" sliders.

Answer: It's all in the levels editor. Go to "Levels..." in the Colors menu and you're greeted with a level-editing histogram.

And with a bit of tinkering you can work out how to do other things too. Hooray.

July 24, 2010 08:50 AM

July 18, 2010

Chris

Worldwide Photo Walk 2010 — This Saturday!

Around this time last year, I participated in the Hobart edition of the Worldwide Photo Walk. It was an excellent opportunity to meet other photographers from the area, to explore an area I’d never explored before, and to take photos of interesting things.

Well, the walk is on again this coming Saturday, operating in just about every major city in Australia (and in other countries as well). I seriously recommend getting along to your local walk: it’s a good opportunity to have fun with a camera and the experience is seriously rewarding.

If you’re interested, you can search and sign up for your local walk at the WWPW web site. The event is run by a Photoshop training company, I do recommend opting out of the marketing announcements they offer, as it’s quite high-volume across the year.

Worldwide Photo Walk -- Hobart

July 18, 2010 01:25 AM

July 17, 2010

Thomas

Cuckoos and Crackers

On a friend's advice, this week I found at the library and read The Cuckoo's Egg: Tracking a Spy through the Maze of Computer Espionage by Clifford Stoll. Wow. What a read: a true story about an astronomer-programmer who as a beginning system administrator finds evidence of an intruder and ends up spending the better part of a year tracking him down to West Germany where he's involved in selling US military information to the KGB. Wow.

I think I'm a little behind the times. This book was published in 1991 and it feels like everyone involved in computing apart from me knows about it by now. The fact that the story is over 20 years old now makes the book fascinating for a number of reasons apart from the simple tracing of the cracker. Stoll goes into detail about the lifestyle at the Lawrence Berkeley Laboratory and his own thoughts on the political and social responsibilities of computer network users.

The story is from a time when, at least in academia, computer systems were relatively open. Multiple users shared computers generally in order to work collaboratively. One of his conclusions in the book is that we must work hard to maintain trust rather than put energy into abusing that trust, because of the damage it does to the network and how easily we can work together.

I guess we failed. Not that I was old enough to do anything about it but it's a damn shame to see that that's how it went. It's a fact of online life now that everything online needs to be locked down. Even if you want to be share your data, the more mechanisms you make available for that data to be shared the more software you're exposing which could potentially have bugs in it. And inevitably there are people out there who wish to exploit those bugs, for a variety of reasons. Sigh.

The second interesting point was in his epilogue discussion about the transmission of a worm: a conclusion that computer networks have robustness due to the diversity of types of nodes. A virus for a VAX can't run on an IBM system, etc. Though he couldn't possibly have foreseen it at the time, we're seeing a heavy convergence towards web applications right now. What used to be a diversity of operating systems with standard network protocols is now becoming a diversity of web browsers with standard markup and javascript.

I think he has valid point even though it was made quite a while ago now. The ability for us to have operating system/browser diversity derives directly from open standards and open implementations. Look what happens when there's a bug in Adobe's flash implementation. Oops, everyone's vulnerable. And being closed source doesn't help. Let's keep our standards open.

The final point which I found particularly interesting was Cliff's own change of opinion. Initially he took a fairly loose apathetic view that breaking into other systems for fun could be just playful or even a good thing if it exposed problems. By the end of his ordeal he decided that the very act of messing with other people's systems is damaging simply because of the goodwill and trust which is lost, not to mention the amount of time which people like him have to spend working on problems they wish they didn't have.

A great book. Go read it sometime. You wouldn't have to be a computer person to appreciate it either, but it probably helps. :)

July 17, 2010 10:17 AM

July 16, 2010

Chris

New Site, New Blog, New Etc!

Those who’ve cared to look at my site in the past will know that I’ve been a pretty big fan of PyBlosxom, a lightweight filesystem-based CMS and blog engine. If you’re happy to dig around in configuration files and editors to produce your posts, it lets you do a lot with very little.

Unfortunately, recently I’ve experienced a mini-deluge of Russian comment spam which, under PyBlosxom requires far too much effort to clean up (even with the excellent Akismet spam plugin by Benjamin “Mako” Hill). I’ve used this deluge as an excuse to migrate my site to WordPress, which I’ve been considering making the move to for quite some time.

The resulting site is now up and running at my new domain name (chris.neugebauer.id.au), which is running on my new UK-based Linode 512 VPS. Hopefully this is an excellent excuse to keep it properly up-to-date, especially considering the amount of effort I’ve had to go through to get it to this stage!

July 16, 2010 10:12 AM

Planet Flood — Sorry!

So I’ve just migrated posts from my old blog (hosted using PyBlosxom) to my new one (hosted using WordPress). It appears as though Planet Linux Australia (and possibly others) have ignored the timestamps on my migrated posts. Fantastic!

So, if you’re seeing 10-month-old posts from my blog, sorry about that, I’ll try not to do it again!

July 16, 2010 05:34 AM

July 15, 2010

Thomas

Turkey’s Internet Censorship

The political battle of censorship in Australia has been relatively futile so far for those of us against it. By its proponents, issues have been muddled together, sensationalist terms like "child porn" have been bandied about and claims have been made that it's safer for Australian children using the Internet. That last part is supposed to be the official reason for the policy -- or is the one written down, at least. Senator Conroy redefines the purpose of the filter every time he opens his mouth.

Those of us against it are trying to cut through this nonsense and point to the bigger issues. Suppose that they were only out to block child pornography websites. The material is obviously bad. The material is obviously illegal. But it still does not make the filter the right policy because of the level of the trust we put in the Government not to abuse their power now and in the future. (And in reality they want to block "refused classification" material, which is a very fuzzy definition which definitely includes material which is legal to own.)

So can we trust the Government? My instinct says no. However there's nothing like the benefit of hindsight. Gizmodo has recently posted a short article about what's happened in Turkey since the introduction of their filter, including a 3-minute video report [youtube] from Al Jazeera about how badly the situation has devolved. Not only are all kinds of websites being blocked for political or religious reasons, but no progress is being made in the attempt to have the laws appealed.

Could it happen in Australia? You bet. You bet our civil rights on it.

EDIT: Another highly recommended article about the flaws of censorship in general:  The State of trust: it's a one way street

July 15, 2010 11:41 PM

July 09, 2010

Chris

Honours Etc

Ooops, I appear to have forgotten to update my blog (as usual), and forgot to mention anything at all about my Thesis or my Honours work otherwise for the past four months. I truly can’t be bothered writing about it at the moment, so I’ll just mention that I submitted it a couple of weeks ago, and that I received a mark of First Class for it. I’m pretty happy about that.

More news at 11!

July 09, 2010 08:02 PM

July 07, 2010

Tom

Bringing friendship back to social networking

Recently I was pondering on the Diaspora project's one month report, wondering how exactly comments on status updates were being routed.

Does the person who owns the status update receive the comment on their seed and potentially have the opportunity to review it before it is broadcast? That seems reasonable. Really, though, the comment belongs to the person who wrote it. Shouldn't their seed have the right to send it out to all its peers regardless of what the person who posted the original update thinks?

It's fairly obvious in this case that the status update seed should be the definitive source of any comments. We all appreciate the idea that if the status update belongs to you, then you should have some level of control over what content is associated with it.

The problem becomes more complicated when you take a photo of your friends and want to share it on your seeds, including tags of the identities of everybody in the photo. The way Facebook operates is that even though you own the photo, the user who is tagged has the option of removing that tag, whether or not the photo poster wanted to keep it there. Clearly this is isn't enforceable in Diaspora where you only have control over your own seed.

On one hand, the photo and its tags belong to the person who shared the photo and contributed the tags. On the other, the tagged person doesn't own anything except the identity, but it would be nice if they could have some control over being tagged. How should this system mediate this?

The critical thing is that we're communicating with our friends. I would propose a system like this: your friend's seed announces its policy on photos: (a) Please don't tag me, (b) If you tag me, please don't display it until I've reviewed the photo, or (c) Go ahead, tag me.

When you attempt to tag this friend in a photo it will check on the policy. If it's option (a) Don't tag, then it will refuse to do so (or at least make you jump through hoops. Shame on you for not respecting your friend's wishes). If it's option (b) Check first, it will send away a review request without you having to think about it. If it's option (c) Tag me, it will simply apply the tag.

Not only does this work to allow people to stipulate their tagging wishes, but it falls back on good old human respect to get along. Just because you have the technical ability to do something disrespectful to a friend doesn't mean you should. Conversely, where we can use technology to facilitate flexible interaction rather than dictate policy, we should.

July 07, 2010 01:11 PM

May 26, 2010

Tom

Privacy through peer-to-peer

We have a tricky problem to solve as we begin to use the Internet on more and more devices: making our data available on all of them. These devices include desktop computers, laptops, phones, tablets, consoles which play movies and music, cars with telnet ignition interfaces, etc. I believe that the only tenable long-term solution is a convenient and secure method for sharing this data peer-to-peer.

Right now Internet users are tending to solve the problem by delegating responsibility for their data to a third party who is supposed to keep it secure and supply it back to the user on request. This way you can upload data from one of your computers and download it (even automatically) on the others when you need it. For things like your files, email and contacts there are services available such as Dropbox, Apple's MobileMe and Canonical's Ubuntu One.

Some kinds of data are more sensitive than others. As a matter of policy I dislike making my data available to other parties unless it's necessary and I do it explicitly. It is well known amongst those who use email encryption that the encryption should be used all the time so as to not draw special attention when you do send something sensitive. This is also one example of keeping your data your own as a matter of course. Another advantage is that you use the same workflow all the time.

Suppose, as has happened before, I need to work with a digital copy of an art piece where all hell would break loose if it was leaked or shared. It would be downright stupid of me to upload it to somebody else's computers where I'm no longer directly responsible for the data. If I don't upload it, it can't leak, so the most sensible thing is not to do so. There's unlikely to be a problem even if I did use someone else's storage, but I don't want to take the risk. Now I need to start using special methods to move the data around such as an external hard drive or scp. How inconvenient. All I really want to do is to easily copy stuff over a network to the other computers without a middle man.

The trouble is it's a pain to set up that kind of service on the Internet right now. It won't really be viable on a large scale until IPv6 takes off in a big way. When that happens every device on the Internet will be individually addressable (and hopefully not excessively firewalled). Over the next couple of years this will become more and more attractive, particularly as the speed of Internet connections increases.

But why stop at ultra-sensitive data? Many of us store things like our email, instant messenger logs and social networking data on other people's computers. Google might even store your music and stream it to you. If we have a convenient method of synchronising our own data on our own computers we may as well do so and thereby eliminate the risks of losing direct control of the data. And we get an awesome backup system for free.

So we have this neat Diaspora thing coming out in a few months. It's going to provide decentralised peer-to-peer encrypted social networking. It'll hopefully be a little like Facebook with absolute control over to whom your data is given. I'm going to love playing with and possibly seriously using Diaspora but I doubt it will deliver enough convenience to steal many Facebook users, at least for a while.

I'm seeing something more here. The Diaspora devs explain that they want to make an extensible framework where anybody can create any sort of application or payload for sharing between peers. I reckon they're seeing a bigger picture where peer-to-peer is a necessary part of keeping our data private on the Internet. Initially, though, they're creating a secure social networking tool. That's a great idea because that's where users are hurting the most right now.

Diaspora or a project like it must succeed. I refuse to acknowledge a future of computing where users are expected to surrender data to others to get their work done on the Internet. It may not matter even most of the time. There is always a place for your own computer, your own data, your own control.

The cloud is getting more convenient all the time. With a little resourcefulness and work, peer-to-peer systems between our own computers can be convenient too. Then we won't have to throw out our old expectations of privacy for the sake of that convenience.

May 26, 2010 06:23 AM

May 10, 2010

Tom

The Internet: A Democracy

Tonight I appeared briefly on ABC's programme Q&A which was this week about Internet filtering. I asked of the panellists a question which read:

(John Gilmore famously once said, "The Net interprets censorship as damage and routes around it." However,) "The Net" is not some robot but the result of how everyone uses it.

Since the Internet is effectively a democracy in its own right, do you believe that any nation should have the right to impose regulations upon it? Could it have its own sovereignty?

On the broadcast the part in parentheses was omitted. As I watched the panellists attempt to answer the question (or dodge the question) I quickly realised that apart from Brett Solomon, the intent of my question was mostly missed. In hindsight I see that by trying to fit my question in a small number of words I obscured my meaning.

Nonetheless the word "sovereignty" in particular brought up some good discussion about how sacred the freedom to do what you like on the Internet is. An on-screen tweet also suggested that it was more like anarchy then democracy, citing /b/. This is a fair point but still not quite what I meant.

I would like to elaborate a little about what I did mean. I do not necessarily think that the following is true. It is more of an interesting thought experiment for me, which is why I attempted to pose it to the Q&A panel.

The Proposal

The Internet is evolving all the time and I consider this to be very much like a democratic process. I'm going to stretch this analogy a bit. Instead of a piece of land on which we live, we have a relatively boring network over which we can make connections between computers using generally the TCP/IP suite with IPv4 and IPv6.  There is a lot of complicated technology which makes it happen but fundamentally that's all we're getting. An empty block.

On one level standardisation is generally democratic. Most Internet standards are developed by working groups with input from the entire industry -- the community and the businesses which run and use the Internet. We have requests for comment, and draft and approved specifications. Best of all, these working groups are doing this work knowing that it has to meet the needs of the stakeholders. Their standard has to gain general acceptance. A political party's policy must also gain general acceptance for them to be elected. Otherwise we go and use a different standard or vote for a different party, or make our own.

Standards are mostly about the Internet at the level of those who implement it. On another level there is a form of democracy in what services Internet consumers choose to use. Lots of people use email. Lots of people use peer-to-peer services. Lots of people use web servers. Lots of people use Facebook. The services which have server and client software, those which are supported, are those which have gained widespread popularity. Nobody is forced to use any of them, but it is inefficient to work against the grain because you cannot communicate with others as easily. This process of being driven to accept what the majority wants is also a democratic feature of the Internet.

The major point where this analogy falls apart is that democratic governments in the physical world can outlaw certain activities. This is not enforceable on the Internet because whatever the "crimes" are, they can be obscured easily. You can't encrypt your stealing of a car, but if someone invented an invisibility cloak that would be a similar effect.

Yet by and large this global community of Internet users feels that the benefits of this freedom outweigh the disadvantages of not being able to outlaw activities. This is where John Gilmore's famous quote applies. He originally made the statement about USENET but he stands by it to this day in a more general sense too. If censorship is applied to the Internet users change which services they use; they change how they use the Internet and therefore its form and features in order to circumvent that censorship. By a process of consensus, users do not want the censorship to happen. If the majority of users wanted to embrace censorship or any other arbitrary restriction, the changes necessary to work around it would not gain traction. People would say, "Stuff Tor. Proxies for rent? Hah, they'll be out of business in no time." More people would block Tor users because they feel that the trouble caused through anonymity is not outweighed by the ability to circumvent censorship.

The Internet community is big. It has representatives in the form of users from every nation. It is a community which is saying in a more-or-less democratic way that Governmental censorship is unwanted.

In that context, who is the relatively small Australian Government to say, "We know better than the Internet community. We should apply blacklisting for RC content."?

It is not even a question of the technical implementation of the policy. It is a restriction upon the Internet community which has by majority decided that it does not want the restriction. But the Internet community is much larger than the Australian community or Government, so there may be an argument to say, "The Internet overrules the Australian Government. No filtering." If so, should national Governments of the physical world respect that?

In saying so it is not suggesting that anarchy should be permitted on the Internet either. Crimes on the Internet are generally crimes in the physical world too.  Let the nation which has sovereignty over the physical space in which the criminals reside and the crimes are taking place enforce the laws of that area. However, they must not disregard the wishes of the (larger therefore more important) Internet community in their enforcement.

Well Then

Am I crazy, onto something or simply logically invalid? I haven't yet decided. Given that the Internet is a shared global resource and medium I think we have to at least settle on the issues of what individual nations may or may not do before we can fully evaluate censorship or national law enforcement proposals.

May 10, 2010 03:11 PM

April 22, 2010

Thomas

Making UConnect suck less with urlyconnect

The University of Tasmania has student wireless Internet access, a network called UConnect. (Great pun.) This network has sucked by varying amounts over the three and a half years I've spent there as a student.

It's some sort of 802.1X beastie. Setting it up on GNU/Linux is mostly a trial-and-error affair. My current settings are WPA2 Enterprise security, PEAP authentication, MSCHAPv2 inner authentication, and an AusCERT-certified identity whose root certificate isn't included in any normal root certificate packs.

They don't actually tell you what the settings are. The current way you're supposed to set it up on Windows or Mac OS X is to run some java-ish program which asks you for your administrator password and proceeds to mess with your settings such that it should work. Furthermore, if you're running Windows and it can't detect antivirus software it forces you to install McAfee Antivirus before it will mess with your settings. But that's okay, because McAfee is awesome.

Nonetheless it can be made to authenticate and have your computer on the University network. At this point you have access to the Internet, sort of. You can make DNS requests, or open TCP connections to destination ports 80, 110 and 443. Previously you had to explicitly go through proxy.utas.edu.au to get your web traffic out, but this year they brought in transparent proxies (edit: Not true. See comments). This is a minor improvement, but still doesn't do much for my IMAPS email, Google Talk, or anything else I want to do.

The general technique I've used for this other traffic is an ssh tunnel to my computer at home, using corkscrew where necessary to get through an HTTPS proxy. ssh -D will set up a SOCKS proxy on the local computer, causing all connections to be made via the remote computer (my computer at home). All I have to do is tell pidgin and Thunderbird and possibly firefox to use a SOCKS proxy at localhost and I can use the Internet how I like.

I wish I could say that having negotiated all these challenges I can relax and concentrate on my studies. This year they introduced a new problem: connections drop out. After some random interval of normally 2-30 seconds most TCP connections will stop having packets go either way. New connections continue as normal. I have no idea what routing problem is responsible for this but it's damn annoying.

Even HTTP requests can be affected by this. Sometimes I'll load a wikipedia page and half the maths images won't load. There is one little bit of respite: if a connection lasts for longer than about 30 seconds, it will tend to live more or less forever. Weird. This gives me a solution to web browsing: I keep on trying to establish an ssh tunnel to my home computer, and once one has managed to stay established for over half a minute, I can start using it to do web browsing through the SOCKS proxy.

This is where I've been at for the last seven or eight weeks but it's getting seriously frustrating killing ssh connections until I manage to establish a tunnel which stays up. I wanted a program to automate this process. Let's make a lot of ssh connections, poke them every ten seconds for half a minute, then grab one that's still alive and start another channel with that ssh TCP connection.

This can be facilitated using the ssh ControlMaster option (-M -S). Each of the simultaneous connections puts a socket in /tmp. Then when I want to use a particular TCP connection I launch another ssh process with -S to indicate the socket to use and also with the -D option which enables the SOCKS proxy behaviour on that connection. Then I want that first background connection to hang around until I'm done with the second, then die automatically.

So I've written a program that does just that: urlyconnect. If you're at UTAS you too might find it useful. I've tested its functionality on Debian and Ubuntu GNU/Linux but I see no reason why it shouldn't run on a Mac. If you use Ubuntu, note carefully the instructions in the README about the required version of OpenSSH.

Well, that's that done. Time to go and do something related to my degree.

April 22, 2010 07:44 AM

April 19, 2010

Tom

Units and prefixes

Lots of people get units wrong. Please don't be one of those people.

This is a tutorial introduction to getting your computing units right. The history of these issues is covered in extensive detail at Wikipedia.

File or Data Size

Everyone knows that computers store things as 1s and 0s. These are called bits. (Short for binary digits).

All modern computers represent things like letters and numbers with a group of 8 bits, which is called a byte. That is; there are 8 bits to every byte.

Convention is to use a lower case b to refer to quantities of bits and an upper case B to refer to a number of bytes. 220B refers to 220 bytes.

If we want to talk about lots of bytes there are SI prefixes available to us:

So it is perfectly okay to talk about 936 kB, 1.24 Mb, 50 GB, referring to kilobytes, megabits and gigabytes respectively. It is not okay to talk about 936 mb because the prefix m (milli) means one-thousandth of a bit. You can't have parts of a bit. Please don't use the wrong case.

Binary prefixes

Confusingly, often people use terms like kB, MB and GB while meaning something slightly different.

When a computer stores a bunch of bytes in memory it tends to group them into chunks of powers of 2. This is because it needs to be able to give each spot in memory an address and it's easier to build hardware conforming to:

All addresses of the form 000000xx xxxxxxxx are stored in chip 1, 000001xx xxxxxxxx are stored in chip 2, etc.

In this example every chip has 10 bits of address space and can store 1024 bytes. If you were lazy, you would say that each chip stores 1 kB of data. But that means 1,000 bytes, not 1,024!

Similarly, with 2^20 bytes you get approximately one million: 1,048,576. So you can't say that this is a "megabyte" really, because that would mean exactly one million bytes.

There are two main solutions to this problem. The first and most common is to ignore it. This entails using kB, MB, GB, etc. and letting the person reading it guess exactly how many bytes you mean. This works most of the time because usually an approximate file size is good enough. Will the file fit on my flash drive? About how long will this take to download? Near enough is good enough.

But I'm an engineering student so I find this imprecision annoying, and sometimes we need to be explicit about what we mean. For this we have a method developed by the International Electrotechnical Commission:

If you ever see numbers like 3 KiB, 2.3 GiB, etc., you know exactly how many bytes they really mean. Better yet, if you always use those forms to represent the powers of 2, you also know that the ordinary SI prefixes always mean powers of 10.

The only downside is that it sounds ridiculous to say "mebibytes" out loud. But hey, it might be cool some day. It's only been around since 1996. If you look carefully, some computer software will express quantities in MiB or GiB. DC++ is an example.

Transfer Speeds

There are two main things to say about speeds. First of all, a transfer speed is how much data you can transfer in a given amount of time. Therefore the speed is an amount of data per second.

When speaking out loud it's convenient to talk about a "one-point-five megabit connection" but when written it should be "1.5 Mb/s".

Secondly, standard Internet connection speeds are quoted in bits per second. When you download files in your browser it usually shows you bytes per second. If you have a 1500 kb/s connection, to estimate your download speed in bytes per second you need to divide that number by 8, which is 187.5 kB/s. In reality it won't be quite that fast, but there's a big difference in the number depending on whether you're using bits or bytes.

Conclusion

I'm not as pedantic as some people. I have a lecturer who will happily write distances in Mm (megametres) instead of thousands of kilometres like almost anybody else would do.

All the same, the chances are you'll run across these numbers quite a lot and if you know exactly what they mean, more power to you. I will also be happier if I am reading something you've written and don't have to make mental conversions.

Finally and most importantly: sometimes it can be ambiguous. There is such a wide range of internet connections available these days that a download speed of 1 MB/s or a download of speed of 1 Mb/s could both be reasonable. If you're working out how long something will take to transfer you can't rely upon common sense to guess the correct form.

April 19, 2010 02:20 AM

April 16, 2010

Tom

My little pixie

This is my newest radio. It's called a Pixie II. It also happens to be the first amateur-band transmitter I've ever made.

These things are pretty cool. It is a continuous wave (CW) (or morse code) transceiver operating at a fixed frequency determined by a crystal on an HF band. Mine's configured for 80 metres using a 3.579545 MHz colorburst crystal. To move it to another band you just need to change the crystal and the L and C parameters of the antenna pi network.

The associated circuit description claims that it puts out a couple of hundred milliwatts. I'm not sure exactly how much power it does produce as it doesn't move the needles on my SWR meter but I intend to do the theoretical analysis sometime.

So what is it? Refer to the schematic. It's a Colpitts crystal oscillator running permanently at the transmission frequency. When the morse key is closed this pulls down the emitter of Q2, allowing it to amplify the oscillator into the antenna. When the switch is open the received AC is multiplied by the local oscillation frequency (direct conversion) and the result is superimposed on the supply voltage and applied as the input to an LM386 amplifier. This amplifier then provides a fixed (!) gain of 200 to the multiplied signal and in my case is attached to a 1 W 8 Ω speaker.

Despite the simplicity of the circuit I'm pleased to say that it really does work. I've tested both transmission and reception with my much fuller-featured Yaesu FT-7B.

There are a few bits missing, which is very much the point. The intention of the Pixie II is to provide the basic operating radio so that the operator can make improvements. In this case I would like to add a proper audio power amplifier with volume control, an automatic gain control for the received signal and some tuning capacitance. I'll need to take some measurements but I'm hoping I can get a stable 20 kHz tuning range with appropriate loading capacitance on the crystal. I could also experiment with an antenna filter with a sharper roll-off.

When I make these improvements, coupled with a decent antenna there's no reason why I couldn't have proper QSOs with this radio or even run it in a contest. Being low power and on 80 metres, it is not going to get much more range than Tasmania unless we get some crazy sun spots so I'm hoping that I'll be able to find some other morse operators within the state. If you're a radio amateur you should build one of these.

Perhaps I should learn morse code too.

April 16, 2010 12:37 PM

April 11, 2010

Tom

The friends game

I don't use Facebook any more. I deleted my account (again) because of my increasing concerns about privacy and information retention and sharing. I'd been visiting the website a lot, posting on my wall at least every couple of days and adding comments much more frequently. Then I went cold turkey.

The mental instincts and mindset which I'd developed for social interaction using that website persisted for a couple of weeks. Having gained some offline perspective I was surprised and even ashamed of how I had begun to use Facebook. I would like to write a bit about Facebook and how it interacted with some of my vices.

The Game

I am not naturally a socially confident person. Some of the time I can't even bluff it but mostly I try to make up for it with enthusiasm. If I can't say the right thing, I'll err on the side of just saying a lot. Awkward silences are awkward.

But I know I'm not special. I think social insecurity applies to most of us at some level. However, we geeks have the advantage that it's pretty much expected. We can talk about it and joke about it with geeks and non-geeks alike. We interpret things literally, boy geeks suck at talking to girls, girl geeks suck at talking to boys -- you know how it goes.

The fact is that talking to people can be really hard. Facebook is much more comfortable for me as a geek because it is a website. I understand how the tool works. I am used to expressing myself through uninflected typed text. Most importantly, Facebook necessarily imposes a structure on the way social interaction proceeds. Aaah to have a bit of structure, a bit of logic in this crazy world which is people.

Most of what happens on Facebook is actually very simple. Disregarding application spam, meaningful posts normally take the form of a short textual status update, a link to an external website, a photo album or a larger textual Note. You can comment on any of these, and "Like" any of these, which puts your name underneath it as a supporter of the item.

Suddenly, consciously or not, Facebook is a game to me: to perform my best in the social world I want to optimise quality of posts against frequency of posts. How do I tell if a post is good quality? I see how many comments I get and how many Likes I get.

It's sad, isn't it? I would periodically review my Wall (which shows all my recent posts) and evaluate my performance based on whether I had any posts with no comments or Likes.

At the time I justified it differently. I had a notion that my brain comes up with cool things which I just have to share with the world, but I still don't want to bore everyone. If nobody is Liking my posts then I clearly need to work on increasing my cool-enough-to-share-on-Facebook threshold, hard though it may be.

Bullshit. I was playing a game. A game in which I try to demonstrate to myself that I'm a cool person and comments are the score.

Affirmation

I don't think I'm egotistical. I don't believe that I'm better overall as a person than anybody else. My goal is simply to be a like-able person. It's something I live by and I think it's a good thing.

Because Facebook is easier than real life social interaction for me, I began to prioritise it. I would check and post on Facebook while out and about with friends.

Sometimes I would think of a joke and instead of saying it right away to the small group of people I was with, I would save it to post on Facebook later. Many of those people would see it anyway, as would everyone else on my friends list. Bam, an efficiency gain right there.

Sometimes these jokes would be well-received and I would get the warm fuzzies watching people indicate their approval on Facebook some way or another. "Yes! I'm a good person! I can make people chuckle!" I would think. This in itself is not a mistake. I like to make people laugh and their approval was genuine.

The mistake is having that evaluation of self-worth depend mostly upon a single system, Facebook. The mistake is contorting myself to prioritise it. And it came about because it gives me structure, a quantitative metric for coolness and a sense of control.

Stalking

I don't like the term Facebook stalking. Stalking implies something malicious and dangerous. I'm sure this happens on Facebook but the majority of what people call "stalking" is simply viewing the profile of another user whom you don't know well personally, in order to find out more about them.

From a technical point of view complaining about this is stupid. If you don't want arbitrary people looking at your Facebook profile then you should lock down your privacy settings (as little as you can these days) to restrict access, or maybe not use Facebook at all.

In reality the situation is similar to the letter vs the spirit of the law. People put information about themselves on their profile but even if it's public, you're still creepy if you go and read it if you wouldn't get access to that information in person.

I did some of this contemporary definition of "stalking". It certainly wasn't malicious. For me it was just a low-interaction (safe!) way for me to find out who people are. I didn't do it a lot and the targets were a wide variety of people whose names I'd heard, friends of friends, etc. Nonetheless I have decided it was bad.

I propose a simple litmus test: Would you be comfortable meeting that person and telling them that you chose to go to their profile and learnt the things about them that you did?

In many of my cases the answer would be no. They would probably think I was creepy. If they published the information on a personal website or something like that I wouldn't have any concern at all. It is a problem I talk about a lot: on Facebook people have a perceived expectation of some level of privacy. It doesn't exist but regulating your own "stalking" shows respect to these people.

Friends are important

I've outlined some pretty bizarre thinking which I did when I was a Facebook user. It's fair to say that I feel like a bit of a knob.

It is important to say that I really do appreciate my friends. I don't take them for granted and they deserve as much friendship and respect as I can give them. I valued the things they had to say on Facebook and I was always genuine in my own comments.

I don't want that to be a game. I'm sure my friends would like their comments, both online and in person, to be taken at face value rather than to be unwitting participants in some scheme where I'm trying to achieve some definition of social success.

In case anyone's worried, I'm not worryingly insecure. I shouldn't be. I have many friends and I've had many of them for a long time. It's just that good inter-personal communication is still tricky. Not many people are exceedingly good at it. That's why I was sucked into some of these things which I'm not proud of -- Facebook offered an easier way to manage people.

Who's to blame? Me, I guess, but with these insights in hand I definitely won't make the same mistakes again.

April 11, 2010 05:02 AM

March 27, 2010

Tom

Observations from Tas Laser Skirmish

This morning I was lucky enough to go and have a few rounds at Tas Laser Skirmish, which is basically infrared gun warfare in a decent chunk of Australian bush. It was awesome fun, but coming from my fairly extensive experience in the video game equivalents a few things weren't quite how I expected:

On the whole, not too bad at all.

March 27, 2010 04:30 AM

March 05, 2010

Tom

Fumigation MkII

"Do not use in spaces of volume smaller than 5 cubic metres."

This is a statement on the side of the Mortein pest control bomb spray cans. I wonder what's significant about that figure. I know the gas is flammable -- if used in smaller spaces does it spontaneously combust? Does it become potent enough to knock out an elephant? Hopefully I don't get to find out.

I guesstimate that my car has an internal volume of 2-3 cubic metres and there are three cans underneath that tarpaulin. One is inside the car, one is underneath the bonnet and one is underneath the rear. This gives you an idea how serious I am about removing the spider infestation thoroughly this time.

For those who missed it the first attempt was a single bomb inside the car. That killed a few and I've seen minimal evidence of spiders inside the car since then. Unfortunately those under the bonnet and at the back of the car survived. It was a definite improvement but recently I would still see half a dozen spiders on the outside of my car at night-time. They just sit on the paint, work on their webs or hide underneath the door handles. It's not good enough.

So this time I bought a tarpaulin so I can hit the entire car at once. I don't actually expect the concentration to be dangerous -- that tarpaulin will be anything but airtight, but it should keep up a nasty concentration for a couple of hours, which will do the job nicely.

Tomorrow I air it out and give it a good wash and vacuum. Woo.

March 05, 2010 03:40 AM

February 22, 2010

Tom

The NBN: Tasmania

Today I was lucky enough to attend a forum in Hobart run by the Australian Computing Society with the leaders of the three state parties as the panelists. The theme of the forum was the National Broadband Network (NBN), which is a rollout of fibre-to-the-node for most of Tasmania and good wireless access in other areas. This was an opportunity for the leaders of our state to say what they wanted to do with this magnificent investment.

I was a little disappointed and I had the feeling that some of the industry players in the room were too. There was a lot of feel-good fluff about how important ICT is in the Tasmanian economy and a lot of dedication to creating a new ministerial position to oversee ICT in the state. What was missing was specific detail about what they would like to see the technology actually do.

Premier David Bartlett's explanation for this was that he doesn't want to get too narrow-minded and would prefer to engage with the industry to see what they want to do. This is at the same time as today announcing $4.85M of investment in various aspects of the industry. It would be nice if he had a detailed plan for what he wants this money to achieve before he throws it at people.

Nonetheless he has some goals in mind and that is commendable: fifteen thousand jobs created within four years, wifi available at tourist towns and CBDs, investing in online delivery of health services and development of the so-called "smart grid", which is the use of distributed generators to supply and sell power efficiently. He is also putting money into tourism, agriculture and small business with the idea that they will use the money to develop cool uses for the NBN. Well, all sectors can use money. I hope they use it in a way that will give the state a return on its investment.

Will Hodgman, leader of the Liberals, managed to talk quite a lot without actually saying very much. I was amused by his statement that he is sure that health and human services and education can be assisted by the NBN in ways we haven't even contemplated yet. I may be in favour of the NBN but I at least have some definite applications in mind when I think, "Yes, this isn't such a bad way to spend a buttload of money."

About twenty minutes of his speaking can be summarised by:

He didn't even sound that excited about it. There's nothing more to say really; as far as I could see he didn't have anything to offer that Bartlett didn't.

Nick McKim, leader of the Greens, was fairly refreshing in that he wasn't as boring as the other two speakers. Full disclosure -- I vote Green -- but I think he approached today's forum with the most interesting information of any of the three speakers. That's orthogonal to the quality of the policy, by the way, but I learnt the most from him.

McKim spoke about having better e-commerce opportunities for business, better booking systems and making more available from our loungerooms, a point which Bartlett later seized. He would like to create a Broadband Innovation Centre in partnership with UTAS, similar to one in Melbourne, which would work with academia and other stakeholders and also work to identify the required skills for workers in the industry and ensure that suitable training is being offered. He spoke of the aging population in Tasmania as an opportunity to develop some excellent ICT technology to help elderly people live at home for longer, a theme which appears to be similar to Labor. He also recognises the importance of public access wifi, working to set it up on buses in Launceston.

More than the other two speakers I had some idea of what practical outcomes McKim wanted ordinary Tasmanians to get from the NBN. Possibly being a minority party means he doesn't get to say so much about investment, but his description was fairly limited on exactly how these things would be funded and managed.

Despite all the above I still don't think we have a clear political vision for what the NBN is going to achieve in this state. This was made abundantly clear by the first question from the floor. In far more words, it was essentially: "What are you actually going to do after the election?" As all three speakers had already wandered as close to answering that question as they were going to, it was taken as a statement and given no response.

I for one would like to know how the Minister for ICT (or whatever its title is, depending on the responsible party) will be chosen. I would also like our leaders to communicate with the industry and find out some exciting applications for the NBN before they start giving it money.

Here are a few other random ideas I have which I personally think would be valuable:

I can't say I'm excited yet. At least my software updates will download really fast.

February 22, 2010 11:21 AM

January 17, 2010

Chris

Welcome to Wellington (Or: Incoherent early-morning brain dump)

I’m taking what scant morning time I have away from the conference today to let you know what I’m doing during it, isn’t that nice? Naturally, I’ve written this at 6:30AM, which is like 4:30AM Sydney Time: a fact that my body hasn’t kept from me. Still, I need to be up early, if only for today… So. Here begins the brain dump:

I landed in Wellington on Friday — as a miniconf organiser, I was fortunate enough to get picked up at the airport, and get the sights of the area shown to me. This includes Wellington’s idea of an aircraft control tower (slotted between two houses on a residential block — no photo, going too fast :( ), a wind meter, which kindly blocks the road in sufficiently-strong winds, and most importantly the conference centre in which LCA will be held. I checked in to UStay (the budget accommodation booked by the conference), and got a room on the 11th floor. This wouldn’t necessarily be an issue to me, save for the fact that the elevator goes up to 10 only: the remaining floor is scaled by way of a fire escape that isn’t terribly well-marked. The room is pretty comfortable (really good for NZ$21 per night), and the common room is big, with plenty of couches, allowing delegates to socialise.

This is my first time staying at conference accommodation (I’ve been to two LCA’s before), which has revealed an entirely new side of the conference: all the delegates staying here share a single common room, and there are plenty of new friends to be made just by popping over to another of the many groups that form there.

The common room, luckily, provides more than enough entertainment here, since the weather’s been pretty awful since I got here — strong wind and plenty of rain have accompanied 15-degree weather (which I am hoping will lift tomorrow). Flights for some have had to be diverted to Auckland, so it’s dubious as to whether some people will even make the start of the conference. This is apparently unusual for Wellington (despite its reputation as the windy city).

Well, it’s probably time I considered popping downstairs, and getting ready to go: I’ve got a miniconf to run today — wish me luck!

January 17, 2010 03:43 PM

January 16, 2010

Chris

In Wellington for LCA2010

I’m sitting on a couch in the UStay common room in Wellington: the first bunch of LCA2010 delegates are showing up. Very much looking forward to registration tomorrow, and the week that follows it.

That’s all for now. More substantial updates once things actually happen!

January 16, 2010 12:14 AM

December 17, 2009

Chris

Summer of Etc!

Once again, I’ve left this site for faaaaar too long without letting you all know what I’ve been up to of late (oops). Needless to say, a fair bit has happened in the past few weeks, and it’s probably worth telling you all about this.

Honours, Semester 1 (during semester 2)

Uni study’s been going quite swimmingly of late: both my units of study went pretty well (insofar as I got HDs in them); thesis on the other hand, has only really just started to take off. My research is into the computer vision task fo object detection (for example, finding faces in images), in particular, I’m working on improving the scheme built into the Intel OpenCV Library (Haar Classifier Cascades, if you’re at all interested) by having them consider colour.

One of the deficiencies I’ve discovered during my research is lack of sufficient real-world colour face datasets to perform detection upon: whilst I need in the order of 2000 faces (1000 to train upon, 1000 to test upon), the largest useful academic set is an order of magnitude smaller. For this reason I’m developing my own set. My current intention is to assemble the data set entirely from Creative Commons-licensed data (e.g. from Flickr and Wikipedia) and to release the resultant set under CC licenses too. I expect I’ll give a lightning talk at LCA on this, I’ll also dump a blog post here somewhere about what sort of data I’d like donated.

Summer of Google

One thing that’s looking like it will derail my Honours work slightly happened not too long ago. I applied for a Software Engineering Internship at Google Sydney back in July, and didn’t hear much about it. In late October, however, I very suddenly got contacted about it, and interviewed for the position, and quite happily, I was offered a job. This, amongst other things, involved dropping (almost*) everything for the summer, and moving to Sydney within two weeks, which I guess I’ve done somewhat successfully.

So I’m now working at Google until sometime during the first two weeks of semester (!). My current project involves working on [redacted], to make [redacted] do [redacted]; in related news, the new Sydney offices are pretty damn cool, the food is excellent, and the work is fun. I’m really looking forward to the rest of my time here.

*I guess the most important thing to mention here is that I’m still spending my week-and-a-bit in Wellington for Linux.conf.au 2010, and that I’ll still be running the Open Programming Languages Miniconf there. I can hardly wait!

December 17, 2009 10:04 PM

November 01, 2009

Chris

Elsewherein’

Just a friendly prod to interstate friends (and apologies to those of you picking who are otherwise uninterested):

I’ll be in Sydney from Wednesday evening for the AUC XGrid Workshop; I’ll be heading to Melbourne on Friday evening for the weekend. If you want to meet up at any time whilst I’m there, you can contact me through the usual channels.

November 01, 2009 08:06 AM

October 19, 2009

Chris

LCA2010 Open Programming Languages Miniconf: CFP Closes on Friday!

And this time we mean it!

Our CFP was extended by a month, and now you only have this week to get your presentation proposals in for the LCA2010 Open Programming Languages Miniconf!

Our call for presentations closes on Friday 23 October 2009, so if you’re planning on attending LCA2010 in Wellington in January, and have something to say about doing development with Open Source programming languages, libraries or frameworks, we’d love to hear from you!

We’re looking primarly for standard-length talks (20-25 minutes including questions), but we’ll also consider double-length talks on suitably compelling topics (that’s 40-45 minutes including questions).

Our CFP is available from http://blogs.tucs.org.au/oplm/cfp/ — if you’ve already read it, you can submit your proposal at http://blogs.tucs.org.au/oplm/cfp/submit/

ABOUT THE MINICONF

The Linux.conf.au Open Programming Languages Miniconf is a single-day mini-conference about application development with Open Source programming languages. Featuring talks on a wide range of topics and programming languages, this miniconf aims to bring together open source developers with presentations that share techniques, best practices and values amongst programmers of all open programming languages. OPLM2010 will be held at Linux.conf.au 2010, in Wellington, New Zealand on January 18.

OPLM2010 is being organised by Christopher Neugebauer and Jacinta Richardson with help from the broader community. You can contact the OPLM2010 organising team at oplm2010@googlegroups.com or visit the website at http://blogs.tucs.org.au/oplm

October 19, 2009 06:30 AM

October 10, 2009

Chris

LCA2010 — I’m registered

Registrations for Linux.conf.au 2010, being held in Wellington, New Zealand this January opened earlier this week — I’m registered (a bit of a no-brainer, given that I’m running a miniconf this year). Have you registered yet?

Not sure if I mentioned it here, but thanks to the kind generosity of the LCA2010 team, the Open Programming Languages Miniconf has been able to extend its call for presentations by a month. This means that you can now submit your presentations up until October 23 (which is a Friday) — I look forward to seeing another deluge of presentations in a couple of weeks-ish!

October 10, 2009 08:00 PM

October 02, 2009

Chris

AUC /dev/world/2009 and its consequences for the Open Source development community

AUC /dev/world/2009, the Apple University Consortium’s annual student (and university staff) developer conference was held this week in Canberra. DevWorld goes for two days, and consisted (this year) of about 90 enthusiastic Apple developers learning about popular Mac technologies.

This year, as well as being my first DevWorld conference, I was a presenter: I presented a talk about the OS X scripting bridges, with a particular focus on the Python–Objective-C bridge, PyObjC. I rushed through the first half of my talk, and instead of taking ~45 minutes like I’d estimated, I took 30, which means I probably rushed through the back end of the talk as well (though it felt as though I was going pretty slowly!). I was not the only student presenter at this conference, indeed around two thirds of presenters were students at one of the AUC member universities.

As well as my presentation, I was the official photography crew for the conference (with a broken camera for half the conference, too, I might add), wrote a substantial amount of the (ridiculously hard) quiz night, and organised their lunchtime lightning talks, which in my opinion was one of the greater successes of the conference — more than half of the 11 talks were presented by people who had not presented at the conference, and the representatives from Apple Australia were suitably impressed by the quality of the talks.

Coming from an Open Source person’s standpoint, I’m very impressed with the level of developer community that the AUC are able to extract from University students. There is clearly a high level of enthusiasm amongst student Mac and iPhone developers for their chosen platform, which is something that Apple should justifiably be proud of. I am convinced, however, that this enthusiasm is not solely limited to Apple Development, and almost certainly exists for Open Source platforms as well. It is our job as Open Source people to foster this enthusiasm for Free developer platforms and Open Source technology in general amongst the student population.

Our existing conferences do not do enough to encourage students to participate in presentating at them. I will single out LCA in this case, as it is our community’s most visible local conference — what I am pointing out also applies to others. Though there has been a concerted increase in student-related events at LCA (beginning with the Google student event in 2008 and the TUCS UpDNS in 2009), and this certainly establishes ties within the student community, more needs to be done to extend these ties into the broader community.

An appropriate place to start here would be the establishment of a regular student miniconf as of 2011. Student developers make up a significant minority of delegates to LCA, but are seriously underrepresented in both main programme presentations and miniconf presentations. Referencing her experiences on the PyCon papers committee, Anna Martelli Ravenscroft lists 6 reasons why women do not talk enough at conferences, but they apply equally well to student developers at well — fear of inexperience in comparison with other delegates or presenters, fear of presenting a topic that may be irrelevant to other delegates and fear of presenting in general are all listed as common reasons why people do not present enough. Providing an allocated track for student developers would almost completely eliminates the first two listed issues, and will make significant inroads into the third by providing a supportive environment for students to present at the conference. Linuxchix has been a notable precedent and success story in this field, by providing a supportive environment for female delegates at LCA, there has been a noticable increase in attendance by female delegates since the Linuxchix miniconf was started (the proportion of which I am not sure); and from what I can tell, the standard of presentations is very high.

Student developers are currently an untapped resource for LCA and the Open Source conference community in general, but one that we must strive to harness whilst the opportunity still presents itself. The AUC have demonstrated that a student-driven developer conference is not only a feasible model, but one that can be highly informative, well-delivered, and highly successful. For as long as we are not encouraging enthusiasm amongst our own young developers this way, we are presenting further opportunities for Apple and others to fill the void, and at the moment, the void is great.

I close with a quote from Simon Phipps’ keynote from LCA2009. In reference to his presenting from a Mac laptop, Simon observed that

The greatest enemy to freedom is a happy slave.

I argue that an even greater enemy to freedom is someone who is happily being educated into slavery. For as long as our non-free competition are encouraging student development in this way, this is the circumstance that we in the Australian Open Source community are faced with. I commend the AUC for their fantastic work on producing an excellent conference, and it is something that we in the Open Source community should be striving to replicate, and not striving to extinguish.

October 02, 2009 11:33 PM

September 15, 2009

Chris

More ACM-SPPC Goodness!

As predicted, our third place is final! This puts us one problem clear of 4th, and tied with second place, which is kinda nice. It also means that Josh, Simon and I are in limbo until early December when wildcard world finals places are allocated — that said, it’s a nice limbo to be in, as it were.

Since Simon lacks a blog, I’m publishing his analyses of problems D and F, as well as H, where his solution TLEd at minute 295…

Problem F was obviously the hidden easy problem (it was full of pointless extra data to make it look more complicated) so I got onto that once the terminal was free. It’s BFS on a graph with vertices representing cities and a connection between two cities iff there is a road which contains both cities.

Problem D: It was very number theoretic. With this one, the months had different lengths which made things complicated unless you just took one month at a time, found the solution for each one and then gave the best solution out of all them. For each month, there was a window of opportunity where a full moon could occur such that the next full moon would be in the same month. So, again, I solved the problem for each day of the month in that window and returned the best for the month. Solving the problem for each day involved solving equations in mod Y, the number of days in a year, which can be done with the help of the extended Euclidean algorithm. Writing a Date class helped keep the thing simple enough to humanly code.

Problem H (unsolved) After getting that out, I looked at the stable marriages problem again. I remembered the algorithm in the last hour of the competition (and felt stupid since it’s simple and the name of the problem is a way of remembering it). I got onto coding it, at the same time as Josh was bashing at problem B. I actually got it working in the last five minutes but in my rush I’d made it O(n^3) instead of O(n^2) and it didn’t cut it.

I guess the last thing to mention is a round of thanks to Mike Cameron-Jones, our site director and coach, as well as Robyn Gibson (our local judge), Tony Gray (who makes everything work here), and Matt Armsby (for passing our printouts, and arranging the food on the table), amongst the many other staff who made the contest possible.

September 15, 2009 02:51 AM

September 12, 2009

Chris

ACM SPPC (And related excitement)

The ACM South Pacific Regional Programming Contest is done and dusted for another year. My team (The Triple Helix) scored a provisional third place with seven problems (that’s tied with the team on second, but not the team on first as was the case last year), which after talking with other teams at the top seems fairly stable. This is a really encouraging result for us, not least because I shared a team with completely different teammates from previous years, but also because one of those teammates was attempting this contest for the first time.

So of the seven problems, I solved three, being problems A, G and I, Josh solved B and E (there’s an interesting story there that I’ll leave him to tell), and Simon solved D and F (spending the last hour on H). Here’s my analysis of the ones I solved.

Problem A: The problem at the front of the pack is, as usual, a “typing practice” problem, that is, one where the trick is doing precisely what they tell you on the statement as quickly as possible. I had a working solution in 8 minutes, but a technical glitch on our local site meant that I didn’t have any pretyped test data (the sample data was very tedious and difficult to type correctly) until minute 15. A quick test and submit, and done.

Problem G: The idea of this problem is to determine if a path exists allowing you to visit all cities from a list of cities, in order, and only once. You are given a set of flights that may contain cities not from the original list, which you may visit as frequently as necessary. The observation here is that you’d like to determine if a path exists between adjacent cities on the list through the allowed intermediary cities only. By being judicious about ordering your verticies in an adjacency matrix, you can solve this using a non-standard version of Floyd’s algorithm, whereby your outer loop (the one that considers your current intermediary vertex) only considers the valid intermediary cities. Determining if the desired path exists is just a matter of stepping through the path.

Problem I: This problem involved determining if a path to a point in a grid exists, whereby the only possible moves at a given point are to go “forward” or “rotate to the right”, and determining the length of the shortest path if one exists. As a grid-based shortest path problem, a BFS is the correct method; the trick is to notice that the state space involves not only the grid itself, but actually the grid in each of the four possible orientations — once this key bit of insight is out of the way you only have to consider a few special cases: are you at the goal state already; is the goal state on a wall in the maze; and the one clarified by the judges, is your start space on a wall?

We didn’t solve our eighth problem (H), but luckily, a tiny change to our solution to B in the last 5 minutes got accepted (at minute 297, no less), which was sufficient to knock us up to 3rd.

So that’s it until after the rejudging occurs, hopefully with no drastic changes at the top :)

Update: Josh posted analysis of the problems he solved (a long with some ACM t-shirts) to his blog. Check it out for more of the story about this year’s contest.

September 12, 2009 10:39 PM

April 09, 2009

Kieran

Saying a bit about nothing

Hello everyone!
How are we all? I am in London. Well, near London. I went there for a bit, and had some looking around. We also went to see Wicked, as well as Mamma Mia. It’s all great and fun and wonderful but I’m already missing home so the fact that I’ve got a bit less than two months left isn’t promising. I’m sure that I’ll start getting used to it in a couple more days.
What I would really love is to start hearing from some people (thanks Chris for doing so ^_^)
Anyway, I’m sleepy, and I can’t think of anything much to say. So I’m going to put a link onto my facebook and hope that people will start commenting on nothing at all :P
So goodnight, and I’ll try and think about stuff thats actually interesting to say!
Good night/morning!

Kieran


April 09, 2009 09:37 PM

April 04, 2009

Kieran

Bet you didn’t see this coming!

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

October 16, 2008

Simon

The Two Levels of Social Governance

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

Simon

Thoughts on current economical/political situation

“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

February 11, 2008

Jen

Checkout chick

Started work at woolies today. How momentous. Despite the fact that it was an exhausting ten hour shift, I really enjoyed it! And hooray for penalty rates on a public holiday. Haha it was meant to be a quiet first shift for me, being a Monday, but apparently Coles was evacuated because their sprinklers went off (not sure if there was an actual fire) and all their customers came to us. So it was rather busy at times.


February 11, 2008 10:01 AM

January 07, 2008

Jen

As the US legal system sinks further into idiocy… please don’t let the poison spread here

http://cad-comic.com/news.php?i=1540#1540

Please God, as someone about to commence studies in the law, I ask that if I become a solicitor and/or barrister, you don’t ever let me stoop so low as to prosecute on cases like these.

*ships out a box of spare Lives to the loony, overweight kids with transparent skin*


January 07, 2008 08:55 AM

December 29, 2007

Jen

Got XP?

Does anyone have a copy of Windows XP on CD that I could use to install it? One that wouldn’t expire after a certain time. Yes, I know, it’s naughty, but I’ll need to reinstall it when I change my hard drives around and getting it for free is an attractive option.

Or if you think I should buy my own copy, where is it cheapest and how much?


December 29, 2007 06:26 AM

October 08, 2007

Hannah

Hmm….procrastination anyone??

Well I can’t actually remember the last time I made a post, but I just finished my Psychology test rewrite on the Moon Illusion, and thought I’d do something useful for the next fifteen minutes until History starts. Things have been pretty chaotic, which is to be expected, given that there are four weeks left of school, plus a week of swotvac, plus two weeks of exams. I won the Jean Yeates Creative Writing Prize (school writing competition) which came with $200 and my name on the honour board, so that was quite exciting. I have also decided on what to study at UTAS. I was going to do Arts-Law Advanced Honours, but that was going to take me six years and probably bore me stupid, so I’ve opted for Arts Advanced Honours, and I shall major in History and English. Can’t wait. I’ve chosen History 1A and B, Ancient Civs 1A and B, English 1A and B (pattern detection anyone?) and Latin 1A and B as my first-year subjects. So yeah.


October 08, 2007 12:20 AM

August 18, 2007

Jen

tanglefire

This is sort of a continuation from this post:

http://tanglefire.wordpress.com/2007/05/24/lol/

I just googled searched “snog” on images to check if this is still the case, and not only was that picture still the first result, but the second one was also of the Doctor getting snogged, this time by Rose’s mother. (Army of Ghosts, kiss rape.) How ridiculous is that getting! Then I searched it again to double check and that picture didn’t come up again which was strange.


August 18, 2007 09:13 AM

July 16, 2007

Jen

Hey there…

Hey TBA members, I was just wondering…

…Who is Tom?

Hi Tom! I’m not meaning to sound all bitchy and “who the heck is that”, I’m just curious because your blog was mysteriously added and I thought I’d get some answers quicker by posting.


July 16, 2007 03:32 AM

July 02, 2007

Jen

Really over school right now

I cannot wait until next year. As my mother says, a change is as good as a rest. Actually, I just can’t wait until the summer holidays. That’s when I get a nice change! My intention for the holidays are to start working as soon as I finish my exams. I’ll still be doing stuff for In The Light (student publication which Hannah, Jack and I are working on) but I want to start working as soon as possible. Hopefully if I get a summer job, I’ll be taken on during Uni semesters as well. I have to start paying rent to Mum at the end of this year and there’s no way I can afford that on youth allowance, on top of gym and internet fees, plus the loans I have to pay back to my mother and brother for the Kakadu trip.

So since a change is as good as a rest, the theory is that I’ll find a summer of working before starting at Uni a sufficient holiday. At least I’ll have some extra cash on hand and some growing savings.

I’m not sure why I’m so over school. I think it’s all the small assignments. I never have any time to just sit down and revise because I’m always doing stupid assignments. Now, a few big assignments over a long period of time, I could probably organise that. Can’t wait until Uni!!! I considered taking a year off but since I’m doing a five year degree, I honestly can’t be bothered spending a year being a waitress. I don’t want to be a student forever when all my friends are finished and in the workplace.


July 02, 2007 10:40 PM

June 30, 2007

Jeremy

My 5 cents for the first 6 months of 2007

Brace yourselves, for Jeremy is re-entering the blogosphere.

How many people does the blog aggregator get out to these days? I think it must be only Jack, Chris and perhaps Jen, if I’m lucky. It would have been nice for the blog aggregator to have taken off the way it was meant to, with everyone regularly blogging about anything and everything. But it doesn’t take much time for people to see it as a chore, and as soon as it becomes a chore, the window for procrastination is open. And so the blog aggregator is left to those loyal few who feel that the internet ought to be blessed with their 5 cents on a regular basis, and for that I commend you.

As I returned to wordpress.com to dust off the surface of my blog, and read any new comments which may have randomly been added since last I posted. And lo and behold, there were a few comments from random people. I enjoy the fact that somehow, random people stumble across my little piece of the internet and decide to leave a comment. I wish that I had kept up with the blogging, because even going back and reading it myself, I remembered a few things that had evaded my memory in the months since i wrote them. It’s just like a public diary.

Another interesting doscovery, was that my blog had been the target of blogspam, that is, comments written in reply to your posts, advertising things such as the promise of three inches to your member. They only hit one post, which was one which advertised that I was about to go and watch “T.h.e S.i.m.p.s.o.n.s” I’m sure that these lame pre-programmed robots target common words such as these (hence the periods between them). How incredibly pointless, given that I doubt anyone would ever click on these spam ads.

As for my life, well, this year has brought along it’s challenges, friendships gained and lost, the early morning tedium of waking up for school. The added freedom of having my provisional licence has made made my social life slightly more active, because I can get out of the house on weekends and do things without having to rely on parents, or that absolute CRAP that Metro calls the “Lauderdale Weekend Timetable”.

In just 6 months time it will be the end of the year. This means that I will have finished year 12, and hence finished school. Now there is a scary thought. The thought that this year counts for more than anything else I have done in my life. And with the end of school, comes the beginning of a new period of my life. As I leave behind my “Friends’ School” era, there will be some things that I will be quite happy to leave behind, but others that will be much more difficult. However, going too far into this would be a bit too much for me to entrust unto a public blog site, so my innermost thoughts will remain in the safety of my own head, for fear of being sued for defamation.

I’m guessing that if anyone actually started to read this post, noone is reading it now

So with a completely unfulfillable promise of more posts in the future, I must sign off.

Jeremy


June 30, 2007 12:41 PM

June 27, 2007

Jen

Week and a half into term 2

The school trip was fantastic. The best time I’ve had during my school holidays in a long time. It was great to be able to spend so much time with some of my friends, under all sorts of circumstances, and prove that we could cope with being with each other.

I got a lot more fond of the Northern Territory than I expected. Also, I feel like I know a bit more about Aboriginal culture, and I’m interested in learning a lot more. Since we’ve gotten back there’s been a lot in the media about the government’s plans to stop child sex abuse in the NT, so we’ve been discussing that in legal studies. It feels really weird to talk about it because I feel like my classmates have this opinion of the NT, that it’s full of drunks or “bogans” or something, and screwed up compared to here. Now, I’m not saying that I know the place really well. Obviously I don’t since we were just passing through towns. But at least I’ve been there, and am not just basing my opinions on some recent news reports. Of course child sex abuse is wrong and should be stopped but I think some of my classmates currently have nothing in their heads regarding the NT apart from what they’ve heard in the news recently.

I liked the locals I met. But the point is, I feel uncomfortable when everyone talks about the news we’ve heard. Maybe none of this made sense! Oh well. It’s good to get some thoguths out.

EDIT: Argh I wrote an entire edit and then lost it. Damn! Basically I was saying that I’m back at school and doing my best not to get hideously behind. I’m going to make a colour coded study schedule, taking into account the rehearsals I have to go to for the musical, time to go to the gym, and time to practise singing. (I dropped flute lessons. Way too much to worry about. I’ve also dropped IB French.)


June 27, 2007 12:58 AM

May 24, 2007

Jen

Lol

If you search for “snog” on google images with Moderate SafeSearch on the first picture to come up is from Doctor Who when the Doctor kisses Madame de Pompadour.


May 24, 2007 10:13 AM