Archive for April, 2005

LCA - Day 4 3

Today was a good day. Tiring but rewarding.

The day started late, for the second time this week. I slept in a little longer than I should have, which meant I skipped breakfast and grabbed a quick shower before starting the 10 minute walk to the conference from the dorms. I rang Telstra on the walk and got my phone sorted out - I had been banned after forgetting to pay a bill for too long. Bugger. Adam met me on the walk and we hurried off to try and win an IBM X40 ThinkPad. They're giving away one each morning but you have to be at the keynot to receive it. Sneaky trick to ensure you actually rock up :)

We didn't win the laptop, but did get to hear a good talk from Tridge.

After morning tea Pia Smith^HWaugh did a talk titled "Code vs. Culture", which was a refreshing change from the tech-heavy seminars we have had so far, and will get for the rest of the week. She talked about how we're divided among the coders and the advocats, and how we need to love each other more. She sparked a bit of discussion about the FTA and how it impacts on Free and Open Source projects, which was going to get the crowd talking. I best liked her discussion where she compared the FOSS community to a family, saying that even if you have an uncle you don't like, or a cousin that's a pain, they're still your family so you're working towards the same goals so you love them.

Bdale gave an almost Linux-exclusive talk about bouncing radio signals off the moon which was really interesting and fun to listen to. At the beginning of the talk he said it was going to be a "Bdale tells a story" kind of presentation so I knew I'd be in for a treat. He did talk about some Python he's writing to control his dish, so it was kinda related to LCA :)

After this I saw a talk about Asterisk, which did two things. Firstly it made me want to get my cards off Steve, and secondly it made me sad to know that i386 is the only supported platform. I wanted to use either my Qube or the Sun ULTRA 5 as a PBX, but it looks like that won't work. Maybe I can further justify a super-server in the rack? One server to rule them all?

During lunch we came back home and I wrote about the morning's keynote. Before this we had some Asian food which was OK.

The afternoon saw Martin Pool talk about bazzar-ng, the versioning software that Canonical are having him develop. I was told I look like him, so I wanted to see what he looked like too :) He has glasses, and I should. My eyes are sore. In this talk I got to see Mark Shuttleworth speak for the first time. I'm really looking forward to his talk tomorrow, and will try to get my copy of the Ubuntu Hoary CD signed for maximum fanboying. He brought a 1000 CDs with him on his jet, Canonical One. Some life hey...

We blew off the last talk and instead did some washing to prepare for Sydney on Saturday. After the washing was dried we went to see Bruce Willis' new film, Hostage. It was what I expected, and made a change from looking at a screen... hang on a sec...

Open Source BitKeeper 1

There's been a bit of talk lately about how Andrew "Tridge" Tridgell (of Samba fame) reverse engineered teh BitKeeper protocol, allowing him to make an Open Source client. He gave the keynote talk this morning at LCA, and at the end he explained what he did and what his thought process was. I'll try to do the same. Follow along...

Firstly, find the BK repository that you're wanting to check out. For example, the e2fsprogs documentation has details regarding the e2fsprogs project. From here we can see:

bk clone bk://thunk.org:5000

This shows a few things. Firstly, the client is called bk, you're and you want to clone the repository found at thunk.org. The server runs on port 5000. Nothing too hard yet. Let's telnet to 5000 and check it out.

mlambie@duke:~ $ telnet thunk.org 5000
Trying 69.25.196.29...
Connected to thunk.org.
Escape character is '^]'.

Hmm... that appears to have worked... Now what? help?

mlambie@duke:~ $ telnet thunk.org 5000
Trying 69.25.196.29...
Connected to thunk.org.
Escape character is '^]'.
help
? - print this help
abort - abort resolve
check - check repository
clone - clone the current repository
help - print this help
httpget - http get command
get - http get command
pwd - show current working directory
quit - disconnect and end conversation
rootkey - show the ChangeSet root key
status - Show status for repository
version - Show bkd version
putenv - set up environment variable
pull_part1 - pull remote changes from current repository into client repository
pull_part2 - pull remote changes from current repository into client repository
rclone_part1 - clone local repository to remote repository
rclone_part2 - clone local repository to remote repository
synckeys - sync keys in local repository to remote repository
chg_part1 - get new csets in remote repository
chg_part2 - get new csets in remote repository

Interesting... very interesting. It appears clone is a recognized command. Let's try:

mlambie@duke:~ $ echo clone | nc thunk.org 5000 > e2fsprogs.bk

Sure enough, you'll get a copy of the repository. You have a BK client in one line of bash. Ease up Linus.

Spam control v0.1 1

So, the filtering didn't work how I'd like. The spam didn't make it to my 'blog, but it did get to my inbox, which is just as annoying.

To combat this I've modified the comments form such that you need to first click the "I'm Really Human" button before you can submit the form. I don't know if the spam-bots are smart enough to figure out what's going on, but if they are then I can fight them further.

Clicking the button does three things. First, it shows me that you're using my form to submit the data, and not another form with my site as the action. Secondly, it sets a hidden variable, which I later check exsits when validating the comment, and lastly, it enables the submit button so you can save your comment.

I had issues with setting the submit button to disabled if it was called "submit" so I renamed it. I tested it anf posting works. You should never see my nasty message to spammers :)

Coolest ASCII 1

o
|\\_o
// \\

Funniest thing all day.

LCA - Day 3 0

"We're halfway through and we haven't even started."

Today was the first official day of linux.conf.au 2005 and it was the most enjoyable so far. The day was split in two, with tutorials running in four seperate streams.

I decided to attend Building GNOME Applications with Python by Malcolm Tredinnick. Python and PyGTK are two things I've been interested in lately, so this tutorial was right up my alley. If you want to download the tarball of his presentation, you can. It contains the code that the talk is based on, even though it's relatively blank.

It was in this talk that the penny dropped for me with the abbreviation "i18n" or "I18N". I knew it was a shortening of "internationalisation" but didn't get what the "18" part meant. Cound the letters missing and it makes sense :) Like wise for "l10n" or "L10N" which is "localisation". I smiled when I worked it out.

The second half was spent with Adam in Rasmus Lerdorf's talk on PHP. Adam had caught the first half when I was doing the Python tute. Rasmus is a good speaker, and I paid particular attention to the part about compiling custom extensions. He used a CDDB example to show how in about 30 lines of C code he extended the CDDB libraries for PHP. Even though he only implemented a single function, it was good to see. I've been interested in this also for a while, but like everything else, finding time to play with it has been hard.

Adam and I got dinner at a local pub and spent the night listening to the pub trivia competition next door. We did OK.

By 8:30PM we were home, and I think I'm going to read for a while before catching a good night's sleep. Tomorrow is another busy day!

« Previous PageNext Page »