2006年 1月 28日

One conference to bring them all and in the summer bind them: LCA End of Days

Posted in CBIT Internet, Debian, General, LCA06, Linux at 6:48 pm by TBBle (Visited 1030 times)

My final LCA06 report from the land of Dunedin, where the shadows lie. Although I'm here until Monday, I doubt my Internet will be working for much longer.

Started the morning at the usual time, which gave me an extra hour of bumming around (reading my LPI book...) before the (10am) keynote of the day.

And what a keynote it was. Mark Shuttleworth (The Ubuntu guy for those who're playing along at home) gave a presentation about how collaboration works in successful projects, how it doesn't work in unsuccessful projects, how to get projects to cooperate with each other, and how to get localisation from people who aren't programmers. And he packed it in hard, leaving a fairly long period for questions. There were of course a few fairly long questions asked, so this was all for the best.

Amongst Mark's major points were that the barriers to entry for things like bug tracking systems and translations are too high. Anything that isn't debbugs needs you to register to post a bug, and you lose 50-70% of hits at that stage. Translation systems that aren't Gnome currently require you to email around .po files, requiring the translator to edit them in plain text, and some even muck about with more esoteric tools. Gnome provides a neat program, and apparently so does KDE, to handle all that for you.

Mark's other major point was that distributed revision control systems will turn the language of development from mailling lists to patches. A question from the audience pointed out that mailling-list review of patches (eg. linux-kernel mailling list, and we do this on FreeRADIUS-devel too) would probably suffer if people were just branching things, working on them, and then pushing them back upstream... It's an interesting puzzle, but between this and the translations stuff, I'm the closest I've ever been to looking at contributing to Ubuntu... Scary.

For the one scheduled session of the day I went to a talk from Matthew Garrett about projects dealing with the loss of maintainers or pvioltal people, and how they can deal with it. I can relate, since I am both a sucker (I was kind-of the FreeRADIUS 1.0.0 Release Manager), and soon after moved, changed jobs, and basically stopped posting to (but kept reading what I could of) the FreeRADIUS-devel mailing list. I've been lucky that FreeRADIUS is a good, stable package, and so I don't think my long periods of inattention have caused the Debian package to suffer.

After the barbecue lunch and ceremonial shaving of the luminaries (including Rusty's moustache!), I attended one of the best-of session, about The RepRap, an attempt to produce a low-cost von Neumann Universal Constructor. And not only is this cool as heck stuff, it was heartwarning to see a geek from a different field, and know that much as our interests diverge, we are united in geekness.

It was also good to see that there are good jobs for geeks, doing geeky things for the betterment of humanity. Especially when one of those things is building the world's largest nanobot.

At afternoon tea, I scored some Ubuntu 5.10 i386 CD sets, which I think I'll take back to work and put on a desk with "Free! Try Linux without risking your data." sign on it or something.

This reminded me that I haven't checked WhirlPool in a week and a half, and I haven't yet picked up Omiyage... Still, I will have tomorrow and Monday morning to do so...

Also sitting around the link, reminded again to try WorldForge and Thousand Parsec... Also to find the mesa 6.4 packages and see if the r300 driver's been updated.


And a note about Blender that slipped my mind for yesterday... It's awful without a mouse. In fact, a two-button mouse would be pretty awful, but shift-F11-touchpad is particularly not an easy thing to do with only two hands.


Went to the panel discussion, which was largely focussed on patents, trademarks, and how best to promote linux onto both desktops and SMEs.

Finally, was the conference close, where prizes were awarded for the programs for drawing the raffle, then the raffle was drawn, and during demonstrations of some of the other programs submitted, my ticket was drawn. >_<. Although I dunno if I really wanted one of the shirts, it looked like someone'd scribbled all over it, and it'd need some heavy-duty washing...

The total money raised for the John Lyons Chair was just over AU$48k, which is a sterline effort. We also raised NZ$1800 or so from the raffle for the NZ version of Kid's Help line, which is an excellent cause. Hack fest winners were announced, much thanking of those who have sacrificed so much to get this going, including Mike Beattie's second standing ovation (The only presenter I saw get a standing ovation was Van Jacobsen), which was well deserved.

Mike mentioned afterwards that the photoblog prize had been completely forgotten, so hopefully they'll judge it anyway, and we'll have something pretty to look at on the CD. There's also supposed to be a written-blog prize, but I suspect my abuse of the "Excerpts" box may count against me. Unless the judges share my sense of humour. ^_^

I must say I have had an absolutly brilliant time. I've been rushed off my feet, exhausted, tired, I sat my second LPI exam tonight without having read the last three chapters of the Exam Cram book (It still only took twenty-two minutes by the wall clock... I hope I passed!) and on top of all that I've been coughy and snuffly when I wasn't writing in pain from my throat. And I'd do the whole thing again at the drop of a hat. Or preferably a spiral.

Of course, like anime.au (with which I've been involved on the other side a couple of times, but which is only one day, rather than six) these things take so much time and effort to prepare, that managing one every year is quite impressive, even though it's a new team each year. It's been suggested that 2008's LCA location be selected more than twelve months out to give them more time to prepare, but for me, my eyes are firmly fixed on LCA07, Sydney. (Their site's not up yet as of this writing, but yesterday it wasn't even in DNS. ^_^)

Unless I'm in Japan, of course. I was actually looking around yesterday afternoon in the link, at all these people, these luminaries of my industry and my passion, and wondering if Japan is the right choice... I mean, there's CBIT now, and I'd hate to leave that. But it's not what I want to do... And there's the other project I may have mentioned, which I will be having a meeting about next week, with luck... And yet, having come this far, how can I not go further? Maybe I should be searching harder for Open-Source jobs in Japan, and combine my interests. Sure, I love teaching, and I love teaching languages... But it's so scary!

I guess it comes down to Feel the fear and do it anyway. And I suspect if I do get to go on JET, as long as I have an Internet connection, I'll be able to spend more time on my hobbies than I do now. Or maybe not.

A final thought on LCA06... I hope everyone realised the sense of humour it must have take to aware LCA06 to a New Zealand team... ^_^

Passing a penguin through the eye of a needle: LCA Presentations Day 2

Posted in LCA06, Linux, Programming at 1:36 pm by TBBle (Visited 1008 times)

Due to spending most of the day off wireless while I tried to get dscape working, today gets one LCA post... Which is a shame, because it was a spectacular day.

Damian Conway's 14 lessons from the Perl 6 development process was of course both incisive and entertaining. The Perl6 design process has taken about six years so far, and is in fact almost complete, as has been previously reported.

The first presentation of the morning was a Blender tutorial, scheduled only late on Thursday night. It was interestined, but sadly the r300 driver had a few display issues, and having a more recent version of Blender (2.40) than the presenter (2.37) meant that I ended up with a very large and blocky gingerbread man...

Xen on POWER was next.

It started with an overview of Xen, particularly the problems it faces and the solutions it has chosen.

He then discussed the various current Power chips. Power 970 w/Hypervisor Extensions is the current target.

The Hypervison Extensions are: an IOMMU (Like an MMU for IO), a Hypervisor privilige level above the kernle privilige level, real-mode (MMU-less, used for exceptions) base+limit registers: keeps domains locked in their memory even in real mode while allowing direct-to-domain exception delivery.

The PPC Linux port supports wide hardware types, so many hardware interfaces (eg. interrupt controller) were already function pointers filled in by subarch-specific code. Other areas already supported PHYP (IBM's Hypervisor) so port was generally easy

Currently can boot Dom0, DomU boots (with caveats). One binary runs PHYP, dom0, domU, direct to hardware thanks to OpenFirmware.

Still to be done: SMP, domU timekeeping, grant tables (Xen shared memory method), virtual IO, domain memory outside realmode area.

The main bottleneck to their work is Xen management tools portability... They rely on a hypervisor/userspace translation that i386 gets for free, but for PowerPC is very expensive without the MMU (eg. in Real mode, where the hypervisor runs...)

Long-range plans are: SMP, 970MP, live migration, non-hypervisor mode 970, cell CPU and the non-hypervisor mode 32-bit PPC (eg. my PowerBook, and my G4 tower. ^_^)

Lunch: Finally had time to write down the crashdump from the dscape modules on my PowerBook... On actual paper. It just fit in the blank column on the schedule sheets floating around. Jelmer sacrified his for my cause. ^_^

Avahi: mDNS-SD. Interesting project, but it sounds like it wouldn't be particularly helpful for wider-area service discovery (the multicast is only sent with a TTL of 1, seems kind of like Bluetooth for a LAN, based on the link-local IP address range). On the other hand, the program itself is very well done, and it's IPv6-enabled. I'll have to give this some further thought before I can see how to apply it. (In the enterprise world, DNS SRV and Kerberos/Active Directory are prolly better solutions anyway. This would make a network like Fenner Hall's quite fun...). On the gripping hand, I saw a bug in one of the files he pulled up. I'm miscredited, but it's close, and I have lots of witnesses. ^_^

Van Jacobsen: Wow. I guess it's one of those things that just stares you in the face... The immediate upshot is I have to go whack irqbalance from all my SMP servers. The longer term upshot, if this sort of thing gets pushed successfully into Linux, is deleriously high-speed low-CPU networking... I wonder if Van Jaconbsen can drop the CPU usage of timidity like that?

I implemented a lockless ringbuffer into one of the projects I did for TransACT which has not to my knowledge seen the light of day yet. I'm glad to know that it was a good thing. I wish I'd had more time to look at Van's code for that. I've prolly got a model version in a textbook at home, anyway.

Rasmus VS The Internet: Some very good advice from Rasmus regarding Internet security. It boiled down to "Don't trust user input" which is really just as true for non-Internet applications... He also look at opcode caching briefly, and I linked to APC for his last presentation.

Rasmus took the opportunity to perform cross-site scripting attacks on sites provided by the audience, to the delight of said audience. Man, I'm alomst tempted to go back into Web Programming... almost

Perl BOF: Paul Fenwick gave a quick blurb about PerlNet, designed to be an AUS/NZ Perl community portal. Definately a project to watch, although it's under CC-BY-SA-2.0-AU, which is a problem for code. I have to pull up the Debian discussion of this for Paul ASAP, so we can get it changed... For that matter, I need to reread the Artistic License. Sam Vilain gave a quick presentation forging on from Damian's keynote (I ended up chatting briefly to Sam's boss from Wellington at the dinner) and then Damian Conway demonstrated some of his favorite cool toys from CPAN.).

Interestingly, Creative Commons have put up plain-language versions of not just the license as used by perl.net.au but also plan-language versions of the GPL and the LGPL. This should make my argument easier to make... I wonder if they have one of the Artistic license...

In fact, a little light reading raises a question... The CC says that the SA term specifically applies to derivative works... I need to check the legalese to determine what applies to exact and direct copies... Not that it's relative here. Taking anything from the site is a derivative work. I guess I need to talk to Paul further and see exactly what he's trying to achieve... The important point is that any code on the site needs to be free enough to take into a GPLd or Artistic Licensed program, but both the GPL and Artistic License seem to be bound up in the code... Maybe a three-way disjoint license on the site, CC-BY-SA/GPL/Artistic. So you can make derivative works of the site under either CC-BY-SA (which means you must attribute and license it under CC-BY-SA), GPL (The aggregate must be under the GPL so everything must be GPL or looser) or the Artistic License (Roughly, if you change this apart from public- or the author-source changes, you either distribute it to the general public, only use it privately, or mark clearly what you've changed... Erk. Bad bad bad for a website.) And just to make things funner, one of the Perl6 RFC responses was the Artistic License 2.0. Something else I need to look up.

Penguin Dinner: Food was fine. Auction was entertaining. They ended up selling the Ian Ross signed book (link this!) for $10k, Linux Australia matches that with $10k, and USENIX matches _that_ for another $20k. The overall total needed is $500k, so I think we did our part. And the book was won by UNSW students and former students, so will be on display at UNSW next year at LCA07.

Damn, Keitarou's down. No IRC for me, although I could drop irssi onto my laptop temporarily... Also no email until I get back home on Tuesday.

A late-2005 Perl6 release timeline which is still give-or-take valid Sam's presentation at the Perl BOF had this in one corner, but HTML betrayed him and made it too small to see.

It is easier for a camel to pass through the eye of a needle than to finish Perl 6 In case you were wondering about the post title; also from Sam's presentation

Edit: Actually link to previous post, rather than leaving myself a note saying "Link to previous post"...

2006年 1月 27日

IPv6 uptake suffers, 802.11g on the rise (and fall, about 2.4 thousand million times per second)

Posted in Debian, LCA06, Linux at 5:05 pm by TBBle (Visited 723 times)

Well, the good news is that I got my wireless working with the latest dscape stack...

Up until now, any dscape stack more recent than the 060102 drop would bug when bcm43xx tried to send a packet. The stacktrace looked something like this:

Vector: 300 pc=e2157440: iee80211_master_start_xmit + 0x6c/0x4bc [80211]
            lr=e2157400: iee80211_master_start_xmit + 0x2c/0x4bc [80211]
msr 9032 sp df853d70 [df853cc0] dar -08 dsisr = 40000000
current=c1a8f240 pid = 1365 comm=udevd
[df853ab4] 00000008
[df853ab4] c01c449c qdisc_reestrt +0x100/0x1f0
[df853ab4] c01b2ddc dev_queue_xmit +0x160/0x2b0
[df853ab4] e27da328 mld_sendpack +0x2d4/0x3ec [ipv6]
[df853ab4] e27daa74 mld_ifc_timer_expire +0x21c/0x278 [ipv6]
[df853ab4] c0033507 run_timer_softirq +0x14c/0x1d0
[df853ab4] c002ea50 __do_softirq +0x68/0xf4
[df853ab4] c002eb24 do_softirq +0x48/0x60
[df853ab4] c00068dc timer_interrupt +0x1e0/0x1f4
[df853ab4] c0004584 ret_from_excet +0x0/0x1c
exception 901 [df853ab4] fedb9f0
[df853ab4] 1002000
[df853ab4] 10004474
[df853ab4] 0fe848ac
[df853ab4] 0fe849f4
[df853ab4] 00000000

Anyway, today I decided to actually track this down. Must be all the PowerPC presentations I keep going to...

First try was that low-hanging fruit, Ipv6. It gets dragged in somewhere during the boot process, despite not being listed in /etc/modules. Luckily, the easy solution is the rename the module, so modprobe can't find it. ^_^

And lo and behold, the dang thing worked!

So I finished off the dscape-based packages I based on rene's softmac-based packages and uploaded it to http://www.tbble.net/dscape/

So LCA report for today will be late, since I'm currently at the Perl BOF and will have to dash off to the Penguin Dinner after.

2006年 1月 26日

Mew’s new drama launched: Gachi Baka!「ガチバカ!」

Posted in Mew at 9:08 pm by TBBle (Visited 687 times)

Mew in her new role

CAPS LOCK CANNOT EXPRESS MY FANGIRLY JOY

Yes, I know I used it less than an hour ago regarding Web 2.0. Seriously, it's true again. Not only did Mew's new TV series start last Thursday (I reckon they posted it late to her site. I'm sure I visited it last Saturday!), but a fansub of the first episode is already doing the rounds, with episode two not even available as a RAW yet.

「ガチバカ!」's official website is of course in Japanese, but JDorama.com have of course launched their own reference page for Gachi Baka!. JDorama's cast list looks kinda short, compared to both the cast and character lists on the official website.

Mew's character is named 牛島理恵, and there's an interview and some character background there, again in Japanese. I'll add it to my pile of Mew-related stuff that needs translating. ^_^

So to all those naysayers who said Mew wouldn't do any more acting (this includes Mew herself, as I recall)... Yay Mew!

Edit: How could I forget to include a picture?

Edit: And then the alt tag?? My fangirly joy must have flooded my HTML neurons.

The PowerPC and the PHPassion: LCA Presentations Day 1 Afternoon

Posted in CBIT Internet, Debian, Japan, LCA06, Linux, Programming at 8:31 pm by TBBle (Visited 915 times)

Lunch: Spent so much time editing the morning's post, didn't get to eat, and then went to two wrong theatres and missed the start of the 32/64 comparison with x86 and Power by Olof Johansson. And they were out of pies so I bought sushi instead...

The 32/64 bit presentation was interesting. I'd seen discussion on Debian-Devel along the lines that PPC64 is slower than PPC, and therefore a pure 64-bit Debian port (ala. AMD64 port) was a poor idea (as opposed to AMD64). Olof presented benchmarks (which supported this) as well as a discussion of the way the both x86 and PPC's ABI's differ between 32 and 64 bits. It seems that the PPC64 ABI has actually added more overhead to function calls, and hasn't taken advantage of an ABI change to improve existing issues, while x86_64 has actually used the ABI change to make more use of CPU registers to improve function calls significantly.

An audience member mentioned that newer toolchains than those tested use a different function-call structure or something and should be more efficient. So maybe PPC64's problems aren't insurmountable. Mind you, PPC64 does seem to be mainly targetted at specific applications, rather than overall system support ala x86_64... I wonder how MacOS X on G5 does it? I presume its a 32-bit userland from this...

Following on neatly there's a PPC presentation on next from Paul Mackerras... I wonder if this issue will be addressed then too?

Either way, it was a quick session, and happily I was _just_ able to follow the stuff that was going on and the following audience discussion... ^_^

And the short session meant I got to eat my sushi before the next presentation

Paul Mackerras (Paulus)'s presentation on Recent Developments in PowerPC

Merging 32-bit ppc and 64-bit ppc64 architectures in the Linux kernel: Lots of duplicate code, ensures both architectures benefit from features, cleanups, bugfixes and drivers etc. So instead, there's one architecture powerpc which is now the default arch.

This explains why recently building kernel modules on my PowerBook G4 failed, unless I prefixed the make with ARCH=ppc... >_< I noticed rene's bcm43xx packages did the same thing in debian/rules, so it's not just me.

Interestingly, Paul said that powermacs are no longer supported in ARCH=ppc as of 10th January. So 2.6.16 I guess...

It's been a fairly fast project, having been agreed to last July, first hit the tree on 29th August, and by 19th November the PPC64 stuff was completely gone.

During a question from Dave Miller about the PPC handing of OpenFirmware VS Sparc64's handling I was passed a card to sign for Paul Mackerras's birthday. I can't imagine how the people sitting directly in front of him signed it without him seeing...

Further discussion of memory layouts (64kb hardware page support means lots and lots of addressable memory!) followed by a quick round of Happy Birthday rounded out the rather technical session nicely.

I spent the interlude before the PHP5 presentation (ie while everyone else was off getting afternoon tea) finishing the morning's posting, and jealously guarding my powerpoint.

Rasmus Lerdorfs's PHP5 talk was quite technical, fast and codery in nature, so I'll just be noting the cool points I wasn't previously aware of. The version posted on his site right now is slightly older (marked 2006-01-25) than the one he's displaying on the screen (marked 2006-01-26).

PHP's main aspects: Fail Fast, Fail Cheap, Be Lazy. The greatest efficiencies come from solving problems you will never have.

Rasmus said that PHP has the unix philosophy of solving one small problem and solving it well. It's not a framework, or the complete solution, but it does what it does very well.

AJAX makes this even better because the layout stuff gets moved to the local browser side, meaning that PHP only really needs to serve up the data in a format like JSON or XML, and the client-side UI code is actually run on the client site.

AJAX appears (now that I've seen it on the code-side) to simply be javascript in the web browser sending requests to the server with updates and whatnot and dynamically changing the UI without refreshing the entire page. This is good stuff, and I probably would have understood it earlier if I had actually listened to anyone whom I'd talked to about it before now. I wonder if we'll be talking about this at the Perl BOF tomorrow...

I now also know what MVC means, and why it's not actually sensible for web applications. But we use AJAX to do something similar, seperating presentation and data (oooh, like XHTML!).

Oooh! A very very useful thing in PHP is the <<< construct. Like the << shell function, and it expands PHP variables that appear inline.

Coming soon from Yahoo!, some kind of useful library thing for AJAX and stuff. ^_^

Hmm. JSON is apparently a Javascript self-extracting object. Neat. And I didn't even know Javascript had an eval() function...

Man, the CBIT Internet customer manager interface is gonna be sooo cool when I'm done with it. ^_^

PDO is a new PECL extension for PHP5, and part of PHP5.1 which looks a lot like Perl's DBI. It lets you bind parameters which will also save a whackload of crappy coding on my part... Mind you, I didn't use the binding stuff in Perl5, but I should be doing so.

Things in PHP5 that make it good for AJAX stuff: XML uses libxml2 and dom now. This gets us XPath and XSL... and SimpleXML! This gives a PHP native object from the XML file....

<?php
$url = 'http://wiki.lca2006.linux.org.au/RecentChanges?format=rss';
foreach(simplexml_load_file($url)->item as $it)
  echo "<a href='{$it->link}'>{$it->title}</a> {$it->description}<br />\n";
?>

Huzzah. Two instruction RSS aggregator... I can't imagine why Planet takes so much code... ^_^

And with the demonstration of http://buzz.progphp.com/ and unsafe search (I wasn't quick enough on the URL, and the only thing Google will find is an old version of it, Rasmus's one had images. Images!) it was obvious that this is the future of the web.

OMG! I'm a Web 2.0 convert. CAPS LOCK CANNOT EXPRESS MY FANGIRLY JOY.

Boy've I've been looking for a place to use that last one. I can't find the website I saw it on, but as soon as I saw it, I know I had to write it somewhere. ^_^

And then just to finish off (and whet our appetites for tomorrow's "Fast and Secure websites" presentation) Rasmus pointed us to APC, a PHP Opcode Cache which Yahoo! is happily running on their servers. One server he pulled up has taken 87 million hits in the past few hours, with 20k cache misses. O_O

And then there's the XHTML problem which I really need to sit down and unblithe my pages about...

BOFs... VoIP. I visited PowerPC, but on consideration this one's actually more important to me.

VoIP BOF links for my own reference: MacOS X softphone, Platronics nice USB headset which can be bought from Harris Technology.

Interesting things pulled off Planet LCA2006: Gumstix - Small, small small computers; CryoPID - Freezes processes so they can be migrated across ttys and even machines. CryoPID was actually described at the lightning talks at LCA05, and received many oohs and aahs at the time at the idea of screening processes after they'd been started.

After the BOF, went to do my LPI 101 exam. As mentioned, I've been studying from LPIC 1 Exam Cram 2, which the LPI's Books page describes as ...the most up-to-date publication reflecting recent changes in LPI exam objectives.. Mind you, it fails to mention that they've since (as of October 1st 2005) merged the DEB and RPM exams... Mind you, I hadn't checked the errata since I was actually only going along to ask a question about the exam proceedure. Having since checked the errata, there's six pages of corrections, and there's still some whoppers missing. The above change to the exams, and the fact that Linux doesn't have an "Archive" bit...

Either way, it took 20 minutes of the 90 allotted, and I feel really good about it. Still worried about the second exam, will prolly put that off until Saturday and push hard to finish the book first.

And another episode of S.O.S watched, as this site was being slow for some reason... It's so wrenchingly painful to watch, but I can't possibly stop until I know what happens...

Either way, an excellent day topped off with way too much Japanese food. ^_^

Oh yes. If I get a chance, I must ask Dave Miller at the presenter's panel about the IEEE 802.11 stacks...

Niagra and network stacks, TCP and talloc: LCA Presentations Day 1 Morning

Posted in Computers, LCA06, Linux at 1:55 pm by TBBle (Visited 943 times)

Overnight interlude: I spent all evening installing WordPress 2.0, and fixing up a few old posts for XHTML compliance. The new WYSIWYG editor is neat, but will lose chunks of unparsable markup (ie. missed quotes and brackets). New posts will prolly be fine to use it for, but for the moment I'm sticking with writing straight HTML.

The whole AJAX interface thing is cool. I'm looking forward to the PHP5 talk this afternoon.

Of course, once I had that done, I decided to grab a new theme. This one's pretty cool, although the whole lense thing is a bit weird...

And I'm now appearing on Planet linux.conf.au 2006, although because I use the excerpt in all my posts to produce a clarification (or declarification) in Chinese Kung Fu Novel Chapter Synopsis Style, my posts end up being quite short on the site, while long on my page.

This morning's keynote by David Miller was interesting. He maintains the Linux networking stack, and also is the sole porter of the Sparc64 port. So he actually gave three presentations, an overview of the recent changes in the Linux networking stack, a presentation about the Linux port to the new Sun Niagra CPU line, and a brief talk about how to actually deal with kernel maintainers. Lack of wireless there meant I didn't get my laptop out, so don't have much more to say about it.

Well, I'll talk about the new Sun chip, known as Niagra, UltraSPARC T1 or CoolThreads depending on who's marketing department you ask. It's a 8-core CPU, each core actually runs four threads in a round-robin fashion when they are able to be scheduled, and leaving them out when they're waiting on main memory or the FPU or otherwise. This means that any task which can actually _use_ 32 threads for integer-only code will be able to run fast. Kernel compiles are a prime example (looking forward to the kernels-per-second numbers for comparison to the 128 CPU PowerPC G5 box talked about at LCA05. This would also be very nice for video encoding, I suspect. Mind you, the small Sun Fire T1000 Server (shipping March 2006) lists at US$3495, so I doubt I'll have an array of these to play with anytime soon.... Imagine a Beowulf cluster of these things. ^_^

Morning tea interlude: Posters have gone up. There's Thousand Parsec, WorldForge and FAI. I've looked at WorldForge and Thousand Parsec before, at LCA05, but if I have time tonight (Ha!) I might see where they're up to these days. FAI on the other hand I've only been vaugely aware of, since I never seem to deploy more than one box at a time... But now it's in my blog, so I'll be able to find the link when I do want it.

Congestion Advancements with Ian McDonald. A technically-oriented delve into the new congestion control algorithm module structure for TCP, as touched upon by Dave Miller.

Ian presented both the work done recently to generalise and modularise the congestion control algorithms for TCP in the Linux kernel, which had originally been kind of ad-hoc and wide-raning in their touching. The interface they use is fairly simple (if you know TCP backwards, that is ^_^) and they turn out to be per-socket switchable. This will allow much easier use of different algorithms, which are optimised for various combinations of high and low bandwidth, high and low latency, and timeout vs loss vs congestion vs drop situations.

He then presented his current research project, which is a TCP-like protocol (I think... Or was it a congestion-control algorithm?) called TCP-Nice, which is designed to back off from congestion so that the rest of the network functions as if it wasn't there, while it uses all the left-over bandwidth... I like this, I'd love to see BitTorrent ported to use it. Then I could give free TCP-Nice traffic, and lower my TCP quotas significantly. ^_^ A vast improvement over my previous Second-Class Traffic plan.

He then presented a futher, already live use of the modularised congestion control code in Linux, DCCP. This is a session-based congestion controlled (like TCP) unreliable (like UDP) protocol, mainly intended for multimedia traffic, where you want as much as possible to get through, to back off (somewhat) under congestion, while not doing retransmits and re-ordering since retransmitting live data is a pain.

It's in the final call for the RFC, and he's already gotten it working. It's in the 2.6.14 Linux kernel, with a NAT fix to come in 2.6.16. However, they still haven't gotten the perfect congestion control algorithm for multimedia streams... The TCP-like CCID2 isn't very good, the smoothed and slower-falling version CCID3/TFRC didn't help much, and the latest attempt, MFRC is currently too agressive, and needs tuning to avoid killing other traffic under congestion conditions. But it's getting there, and shows a lot of promise.

Netem: A last-five-minutes gem... Introduces loss, delay, reorder and duplicate packets on an intermediate box. Can only currently work on output queues.

Finally for the morning, Rusty Russell presented Talloc. Talloc was touched upon by Tridge in his "non-junk" code tour at LCA05, but he didn't spend too much time on it, looking mainly instead at tdb and ldb...

Basically, talloc is a hierachial pool allocator, which gives destructors, pools and hierachy to your memory allocation calls. This mean that managing your memory usage in C becomes sensible. It's mainly been driven by Samba, which in fact produces huge whacks of memory allocation... Rusty showed a graph of it, I've no idea where to find it. (There was also a URL to the program to make such graphs, I missed that too. >_<) Anyway, it's pretty impressive.

Andrew Bartlett pointed out last week that he's using talloc in Samba 4 to trivially wrap the krb5-allocated blobs coming out of the kerberos libraries. This basically gets him free destructors, solving the nasty lifetime problems kerberos's allocation and free activities otherwise bring.

nfsim uses talloc to simulate kmalloc, providing simple and easy kernel memory leak detection in the netfilter modules being tested. Also has a very neat graphical live talloc allocation tree display. I think that is really neat!

Now to find myself a project to use talloc on... That's also what I said last year about tdb, as it happens. I actually have one for the latter.... I want to unbone FreeRADIUS's IP Pool module, specifically so I don't have to kill FreeRADIUS to make changes to the pools. I just didn't get it done in the last 9 months. Gah.

In the more general programming talk at the beginning of the talloc presentation, Rusty suggested that interfaces should be hard to misuse first, easy to use second. He also suggested the following list of tools as being of great importance:

  • distcc
  • ccache
  • ccontrol - This one's new to me. In fact, I'm still not clear what it does...
  • Mercurial - Source control tool. I've not tried it, but Alan DeKok from FreeRADIUS uses it for his own development, and then breaks up the patches for shoving into CVS for the rest of us...

2006年 1月 25日

Interview with a Sambpire: LCA Tutorials Afternoon

Posted in Debian, LCA06, Linux at 5:15 pm by TBBle (Visited 655 times)

Samba4 status presented by Andrew Tridgell, Andrew Bartlett, and Jelmer Vernooij.

Samba 4 Tech Preview 1 has been released. In the tradition of named released, it's known as "Rigged Demo". ^_^ It's been packaged in Debian experimental for months, but you of course knew that...

The list of cool cool things is kinda long, but here's some very quick notes: Javascript-based scripting API. Finally, actually scriptable remote AD administration. In fact, there's Javascript embedded in the server-side of the new, AJAJ-enabled SWAT allowing remote web users to remotely administer other machines in the AD domain...

Which of course leads to the fact that Samba4 TP1 can already function as a AD Domain Controller. Tridge gave a live demo of Active Directory Vampire! Point it at a Win2k3 AD DC, and hit "exsanguinate". Less than a minute later, a windows XP machine which was on the domain with the old DC can login without missing a beat.

Andrew B? was telling me on Friday night that Samba4 is a monolithic server, but is completely non-threaded... When a part needs to wait for a response, it runs the event loop again. If a message comes in for another part of the system, that part gets to run, simply growing the stack of paused subsystems. This follows on sensibly from Tridge's talk last year about how bad multithreading is, how bad IPC is, and why can't the various Samba4 components all just get along in one address space...

The Samba4 core team took a brief vacation earlier in the year to look at the new Windows Vista tech-preview, specifically to pull apart the new and completely undocumented SMB2 protocol MS has slipped underneath. Consistent with their drive to make everything a database, it apparently has some kind of support for database-like transactions and rollbacks. The good news is that Samba4 has client-side support for it, and will probably release a full SMB2 product before Microsoft does. Just another way in which Open Source stifles innovation™, I guess.

Also this afternoon, a presentation on L2TPNS by Brenden O'Dea, who presented the same software at LCA05... I don't remember much about the presentation last year, but I had at the time just started playing with it for IPSec over 802.11, since I didn't have any WPA-capable hardware and was sick of cables running along the roof at Shane's place.

Since then, I've moved, I've got WPA-supported gear, and I'd forgotten who Brenden worked for. I told someone "a small ISP in Mildura" a couple of weeks ago. As it happens, he's from Optus, and his software is supporting about 170k concurrent ADSL connections. So it's good good stuff. As it happens, I'm back in the L2TP market just now, for both ADSL and hopefully a VPN solution, so I was glad this particular presentation was very very featureful, and talked frankly about the challenges involved. Also, Optus's ISP serverside is totally Linux-based, and as other departments hand servers over to them to operate, they get Linuxed too. It's a wonderful thing... Sounds like a great place to work.

Linux Australia AGM... Nothing to see here, move along people.

Keysigning... Not really entertaining, although I am equal 11th in the MSD, for those registered this year. This puts me out at the end of the unfashionable western spiral of the central cluster.

Well, it was faster than last year. Done in about 45 minutes. ^_^

So, dinner hunting time. Wordpress 2.0 upgrade to do tonight. And LPI study. And more S.O.S to watch... And gotta get more sleep than last night. (No last-minute libmysqlclient15 bug hunting this time...)

(Edit: &tm; is not the HTML entity for the tradmark symbol. &trade; is)

The power (or lack thereof) of QT4: LCA Tutorials Morning

Posted in Japan, Japanese, LCA06, Linux, Pretty Guardian Sailor Moon, Programming at 11:38 am by TBBle (Visited 1051 times)

Overnight interlude: Talked to rene, he didn't seem enthused about a dscape package, so I'll do it myself (based on his code. ^_^). Also, halfway through S.O.S. I really just want to hit Irie-san with something... Gah!

LCA2006 conference opening this morning. As I'd gleaned from the Rough Guide to New Zealand, it is unexpectedly hot. This place looks more and more tempting, although the Internet link (NZ - Spiritual home of IP over Carrier Pigeon according to one wag) scares me.

QT4 tutorial this morning. Not a lot to say, lots of concentrating on slides. However, I did observe a serious problem that I was not expecting... They've not supplied a single power board, and the powerpoints in Castle 1 are even more dearth than at the ANU. Castle 2 (where the Debian miniconf was) is excellently appointed for powerpoints, on the other hand. On the gripping hand, this was my main contribution to the pre-LCA network survery they undertook... Oh well, I'll see if I can go make noise on IRC or something...

Well, maybe I'll say something about QT4. I've not done any GUI programming before, so it's both interesting, and looks like a lot of work. Much as I can read and understand C++, I think I'd be more comfortable doing it in perl or similar. Also, the presenter moved quite quickly, so I suspect this was aimed slightly over my head (although I could follow what was going on, I certainly couldn't be aping him as we went. I guess I was spoilt by Rusty and Robert's kernel module tutorial last year... Maybe it's like The Princess Bride in that it's a beloved movie, but for many people watching it years later pales in comparison to their fond memories... Although neither the kernel module tutorial nor The Princess Bride have paled in my memory yet.

Oh yeah. And I had to keep stopping to apt-get install things during the tutorial. We were told we'd need qt4 w/sqlite support (qt4-dev and qt4-sql), nothing was mentioned of the Assistant (qt4-doc qt4-dev-tools) Designer (qt4-designer) nor the SQLite client (sqlite3) and admittedly the first and last are optional. I guess the presenter assumed we'd be fetching qt4.1 from source and installing it...

Morning tea: Rene's online, and _is_ working on a dscape packageset. ^_^ And in completely unrelated seen-on-IRC news: OpenJazz Jazz Jackrabbit 1 reimplementation (uses original tilesets etc)...Someone's started porting it to the Nintendo DS. More on this after I find cookies or something.

Also during morning tea, I was roped into coming to the Perl BOF on Thursday afternoon. Although there's several BOFs on I'm interested in, the perl6 talk from Monday has me all Perl-enthused right now. Especially if it means I can sensibly resurrect my SOAP server for CBIT, and send out my auto-emails without the evils of perl5's format code. (This modules implements Exegesis 7, although I think what Damian described on Monday was slightly different. There's no Synopsis 7 yet either. -_-

More QT4. I18n support's there and easy to use programatically, although they apparently expect literals in UTF-16... The suggestion is to work in latin1 and just provide a translation for the target language to start with. This is prolly a quite sensible idea in general, as it allows your documentation writers to rewrite the text in the interface as needed, and lets the programming team leave the messages in the untranslated version in a format and phrasing useful to them, which as everybody knows is rather different from the way users work. Who is General Protection and why did his mistake crash my program?

This reminds me of a neat thing an IRC friend of mine once showed me that she was working on for a games company. She'd managed to independently re-implement po (in fact, it looked more like the QT4 i18n does, now I've seen it) for Visual Studio programs, while extending it to not just text, but all kinds of resources, drop-in-able with DLLs. So graphics with embedded text, video, audio and country-specific non-language things were all trivially handleable by their l10n teams. I bet it was doing encryption too, from my experience with Japanese games' text resources.

Wow, haven't seen or heard from her since the fall of #pgsm to TVNihon... One of the sadly few IRC friends I have who get my programming stuff, my linux stuff, my anime stuff, my random Japanese stuff, and was still genki in the morning. ^_^

News flash! Trolltech has announced that US spelling is indeed wrong... In some cases internationalization is simple, for example, making a US application accessible to Australian or British users may require little more than a few spelling corrections. ^_^

Lunch: Seen on Planet linux.conf.au 2006: Splashpower, an induction-charger for mobile devices. According to Arjen Lentz they're in discussions with distributors. Amusingly, each submenu on their site has a picture at the top of someone who stuck the little metal strip to their foot and then walked across the pad. Possibly this could supplant firewalking as a harmless but dangerous-looking power-activity (or would that be extreme walking?) of the future.

Also lunch: I finally understand why the power-point cable on my PowerBook's adaptor comes off. You can replace it with a plug, which is almost as neat a solution as the retractable version I was talking to Jez about last week. I wonder if that's something I need to poke my boss about, or if it's an optional extra...

2006年 1月 24日

Sockmonkeys of fire: LCA Miniconfs Day 2 Afternoon

Posted in Debian, LCA06, Linux at 2:28 pm by TBBle (Visited 504 times)

Horm's followup talk on Debian kernel packaging from LCA2005 was great. At LCA2005, Horms gave us a rundown on the new kernel-team plan they had developed and not yet implemented (as they were waiting for the Sarge release, amongst other challenges). Since then, Sarge has released, they started the process with 2.6.12, and they've brought all 11 Linux architectures' kernel packages together as of 2.6.15. Which is a hell of an achievement.

They're using a SVN directory to track the security and sarge-affecting patches, to prevent losing track of problems in either people's inboxes or the security team's enormous pile of issues.

A brief interruption due to a firealarm put us somewhat behind schedule... Turned out to be faulty equipment overheating in the roof.

Horms mentioned that he spent a year doing bug responding for the linux kernel, and burnt out... I must remember to talk to him about that, I like answering bugs. ^_^

Bdale's presentation on "HP and Linux" was interesting, showing how a corporation and a community can cooperate in a way that suits both. I'd love to say more, but I've had wireless problems for two hours and it's sliped my mind...

I might change back to dscape, actually... This wireless has been fairly dodgey all day. I'll see if I can massage Rene's packages into building devicescape, he's done the hard yards of dpkg-divert etc.

Keith Packard returned to tell us how the launch of their LV2 rocket which he spoke about last year went. It was spectacular. Go read their site, but long-story-short, they now have a 3000G acceration-tested sockmonkey.

Bdale again took the stage, for another State Of The Project-type thing. He briefly talked about how things such as the Debian Project Leader Team "SCUD" had gone in the nine months since it came together, and how that related to what he'd said last year at the other end of the past nine months. He then moved on to talking about some of the more general issues facing Debian, some new and some quite old.

As well as the onsite mirror server (which we can't add to...) we now have an onsite proxy server.

Hmm, wireless seems to have settled down now... Still gonna poke Rene about dscape packaging. ^_^

For those who care about perpetuating memes: LCA Miniconfs Day 2 morning

Posted in Debian, LCA06, Linux at 10:28 am by TBBle (Visited 549 times)

In overnight news, I'm now on both the softmac bcm43xx drivers. Thanks to Rene Engelhard for letting me at his upload-ready builds while they idle in the Debian NEW queue. They worked OK in the unicol lounge, but I've not yet had them in the real world ("lecture theatres") so I still have the dscape drivers lying around as backup.

I also (as of 2am) have now upgrade to the new, 9base-based wmii 2.5.1 and already hit my first 9base bug. (Date doesn't handle "NZDT", unclear if it's 9base's fault yet). It's close enough to the 2.2 I was using before that I don't envision too many issues. ^_^ The main problem apps (rdesktop and mplayer) appear to be working fine. I had to build both from source, as wmii's not been uploaded from the autobuilder, and 9base appears to have had three from three buildd failures although not on major architectures (ie PPC) yet. The main improvement is that it no longer warps my mouse to the top-left corner on frame change... Now if I could get the bottom-bar to show the multiple windows open in a frame, I could dispense with that line entirely and get an extra line visible on my xterms. ^_^

More Debian miniconf today. Like all really good technical people, it didn't start until 10am. On the other hand I was here at 8:45 to give myself time to sort out any bcm43xx issues. (Apart from having to manually put either the channel or AP address into iwconfig sometimes... I think it doesn't failover properly.) So I spent an hour on email, and IRC discussions of the awfulness of MS Exchange and the wonders of Japanese schoolgirl porn DVDs.

First up, Matthew Palmer presented a delve into the mechanics of the .deb format and dpkg's handling of it. This was quite interesting, and faster than reading all the docs (Policy, dpkg manual, lord knows what else!) and I hope sets the tone for today to "technical".

Next, Russel Coker presents SE Linux, and where Debian stands with it. It seems that Debian was his initial target, but it proved too resistant at the time and he's gotten it into Fedora Core instead. As I recall, SE Linux support has been slowly working its way into Debian, so we might be seeing the "targetted" policy, which is what FC installs by default, working its way into Debian installs sooner or later.

Targetted policy is a policy designed to lock-down and affect only daemons that are either large and complex, or have a history of security issues (former eg. Apache, latter eg. bind, dhcp-server). This way it doesn't interfere with normal usage or workflows, although it therefore doesn't protect user login sessions.

SE Linux is hard... I think I get it, and at the same time I think I don't. I maybe ought to do the hands-on tutorial on Thursday, but it clashes with too many things I want to attend.

Oh, MLS is both fairly clear and interesting. Basically, on top of the DT model, this allows levels (eg Top Secret, Secret, Classified and Unclassified, but it's arbitrary) to be assigned to both programs and objects. Apart from certain exceptions (specially authorised users/programs) this means that a less-secure program cannot read a more-secure object, but can write to it, and a more-secure program cannot write to a less-secure object but can read it. This prevents accidentally declassifying information, and is something the military already does, apparently.

It's slightly more complicated, because programs have more than one level at once... If a program has only a level matching an object then it's read-write. If a program has a matching level and a higher level than the object, it's read-only, preventing "write-down". If the program has no levels greater than or equal to the object's level, then it's not readable, preventing "read-up". I presume at no point does it become write-only, because that's kinda daft... *flicks hair* -- Security Barbie

And now, lunch... Well, I just took a penicilin capsule, so I've gotta wait half an hour... Just got bdale to explain his method of doing keysignings without needing a trusted printout of the list. ^_^ While I'm bumming around, might see if I can get any joy out of this atheros card with the driver from http://ath-driver.org

Edit: That's perpetuating, not pepetuating. WordPress needs a spellchecker.

2006年 1月 23日

The bear dances: LCA Miniconfs Day 1 Afternoon

Posted in LCA06, Linux, Programming at 3:47 pm by TBBle (Visited 538 times)

Even before the presentation, useful tidbits came flying out. Damien and an audience member had a discussion about practical aspects of presentations (ie. looking at code and things during the presentation). Damien pointed out that he structures his presentations around the assumption that people have nothing, and that the audience doesn't really want to be interactively compiling and examing code and whatnot. As it happens, I'm hiding up the back anyway, trying not to be noisy with my keyboard. I'm actually back here because that's where the powerpoint is, but I guess it's all for the best.

I don't think I can do justice to this talk. So trust me, it's fascinating. He's given it before and gets rave reviews. ^_^

It's certainly an amazing and useful and complements my recent reading of the Perl 6 Synopses, (I'm only half-way through 2, as I was reading them during a series of outages at work, which solved itself right as I got into the swing of it...

OK, one thing that is so glorious I have to write it:

my $π = 355/113;

And that's not even the coolest thing. Well, I think it's cool, ASCII people will think I'm dumb (To whom I say "«»", "¥" and with a bit of luck "≅" although that is currently only ~~ and in fact is rendered differently in different fonts. For me, by hand it's two ~s on top of each other...), but there's just so much good good stuff here.

Actually, the coolest thing might be that the Quantum::Superpositions module (by Damien Conway, as it happens) is part of the basic perl6 syntax. He's calling them "Junctions" or "Junctive Operators" now.

Side note: The men's toilets near Burns 4,5,6,7 appear to be designed such that, no matter how carefully you aim, you reflect your urine back onto your own shoes. I highly recommend a look... Women might want to knock first or something, and possibly also visit the urinals in the Link area to get an idea of what you're comparing to.


OK, 10 minutes before the (scheduled) end, the coolest neat thing appears!

...

compiles but does not run. That's actualy its job. It came up in the "roles" discussion. Roles are like "interfaces" in Java, but more.

I guess the final summary is that perl6 is all the DWIM of perl5, plus more, plus real Object-Oriented, plus Aspect-Oriented, plus a real and good VM, plus literate programming, plus functional programming... But wait, there's more! And no XS!

And in good news, a very very very provisional release suggestion is in the next twelve to eighteen months. ^_^ Want it sooner? What perl6 needs: Money for the people they've got to put more time into it (including hiring Damian to train perl), developers to put time into it, and people to champion the cause in their organisations... Hmm. Isn't that the Debian wish-list? (And the Ubuntu got-list...)

Gonna be a hell of a keynote on Friday.

Debian bunfights, AJ sells his soul, and Battlestar Galactica: LCA Miniconfs Day 1 Morning

Posted in CBIT Internet, Debian, LCA06, Linux, Programming at 10:21 am by TBBle (Visited 411 times)

Happily, wifi works in the theatres. ^_^

First up in the Debian minconf was just enough of S2 Ep1 of Battlestar Galactica to remind me of where the Australian TV season's up to, and probably frustrate those who haven't already seen it.

Next was a presentation by a Ubuntu MOTU member regarding Debian/Ubuntu collaberation. A bit of interesting information about how Ubuntu's Debian-collaberation stuff works, a few buns thrown, and a fair bit of jovial back-and-forth. Just what I was hoping for. Interesting link: http://revu.tauware.de/~lucas/versions/ - Version comparisons between Ubuntu and Debian.

Interlude: Coffee, chat, and the next 20 minutes of the BSG episode.

Anthony Towns and his way of trying to get people to pay him to work on Open Source projects. It's kind of an inverse bounty where he posts what he wants people to work on, and people put up money to what they want done. It involves a Supply and Demand curve pair apparently, but he didn't post slides... So here's the link to it: AJ Market. The discussion evolved into a look at "betting markets" as a replacement for bounty systems. The idea is, you bet $x against something being implemented. If it's implemented, you got your feature. If it's not implemented, you get your money back, plus money that was bet _for_ it being done. People working on implementing it bet on it being implemented, and share the winnings if it is implemented. Obviously this places a bit of risk on the side of the implementors, but it's a fascinating idea.

Overhearing a conversation about this while I was packing up, apparently part of this also involves the buy and selling of "bets", which actually turn out to be more like shares... The idea being that a programmer can pick up cheap shares (eg. because the project's been ignored for ages, and is seeming very unlikely) and then complete it, realising the full value of the shares. This requires that any initial investments are made on both sides of the bet. This situation would encourage people to ignore things they know they _could_ do until it's worth it to do it, but at the same time if you want something done, you can buy your shares on both sides, and give away the "will be done" shares to a likely candidate, which gives them an incentive to get it done, as the shares are only on paper until the project is completed.

I'm sure AJ's blog has more useful information, or will do really soon now. I'm interested, myself. Anyone wanna bet me that I can't do Linux WMB for things other than ralink cards? ^_^

An interlude in the history of PHP...Rasmus Lerdorf is actually presenting a tutorial onPHP5 behind Web2.0 (AJAX etc) stuff which I'm probably going to go to on Thursday afternoon, much as it clashes with the tutorial on programming Asterisk PABX at serveral levels and the latter is highly relevant to what I'm supposed to be doing for a living.

This afternoon, however, it'll be the Perl 6 session at the Damien Conway miniconf in Burns 7. ^_^

Welcome to your new home in meatspace: LCA Prelude

Posted in Anime, CBIT Internet, Debian, Japan, LCA06, Linux at 7:38 am by TBBle (Visited 516 times)

Wow, linux.conf.au 06... Wow. ^_^

My first international trip started inauspiciously, as I came down with Tonsilitis on Thursday night. On reflection, going to see Underworld Evolution instead of finiding a late-night medical clinic was a poor choice, but happily Queanbeyan Hospital's emergency department was not busy. So I left Canberra at 2am with a prescription for a week's penicilin and some throat lozenges.

Got to Julia's place by 6am, and left her with my car. Met up with nearly a dozen LCA people on the same flight in the departure lounge, and had more time together than I expected because the plane was 20 minutes late taking off. I managed to sleep through most of the flight, and in fact only realised we were on the east coast of New Zealand when I realised there was ocean in front of us.

Dunedin's nice. I stayed at the Kiwi's Nest on Friday and Saturday nights, basically bummed about and was social with some of the other people staying there. This is probably the biggest improvement over last year, where my socialisation was largely limited to IRC since I was driving in and out from home, so wasn't really getting involved in the extra-curricular bits.

On the downside, I've been largely off the Internet since Thursday night. I did go to an Internet cafe for an hour on Saturday, which was enough time to check my email. Nothing seemed to have horribly caught fire at work, so I'm relaxed. ^_^ Also, the girl on the desk was _very_ cute.

Dunedin is frankly the sort of place I'd love to flee to if Australia's legal situation goes much further evilright. It's pleasantly cool (ie. a fan in summer would be sufficient), sufficiently focused (ie. One long main drag of shops) and has a cute girl at the desk of the Internet cafe. What more could I ask for? (Also, a large and apparently quite successful university, and lots of pubs.)

Anyway, on Sunday I moved onto campus, into "Unicol". It's nice, but the network wasn't working last night, so I still managed to not be on the Internet until now. Registration went well, and after a Subway dinner I spent the evening in a pub with some people who're here hanging around with a friend who's come to linux.conf.au, discussing politics, sport, comics and animation, Japanese culture, and whatever else seemed appropriate. I stayed sober the whole time due to the aforementioned penicilin. ^_^

I've also started watching Stawberry on the shortcake, at long last. It's been on my hard disk for two or three months, and I suspected it would be a heavy-going drama. Instead it turns out to be a hilarious at times, sad as hell at times (I think it's going to end sadly, if I've guessed the ending correctly. Only seen to episode 3) but both excellent and fascinating drama. It's really interfering with my LPIC reading... ^_^

Anyway, time to head over to the Debian Miniconf where someone's suggested to me that we don't have wireless, so I'll sign off here.

Oh, and in case anyone's wondering, my student card is current this time. ^_^

ストロベリー・オンザ・ショートケーキ 1ストロベリー・オンザ・ショートケーキ 2ストロベリー・オンザ・ショートケーキ 3ストロベリー・オンザ・ショートケーキ 4ストロベリー・オンザ・ショートケーキ 5

2006年 1月 18日

Once upon a time in California

Posted in CBIT Internet, Food Diary, General, Japan, LCA06, Linux at 1:52 am by TBBle (Visited 2205 times)

Saw "The Legend of Zorro" tonight with Bek and Sean. It was... interesting. A few fairly good fight scenes, with some nonsense in between to bulk out the movie. Bek and Sean commented that the movie could have done with some cutting, although really it was obvious that it had already had a fair bit of scissor-work taken to it. Particularly when one character says to another "As you said, 'You never see the one you love, you only see what you wish to see'" or words to that effect. Either I dozed off, or they cut the scene where the character in question actually says that. Maybe the actors decided the script was too long and coherent, and decided to adlib a bit. Who knows? It'll prolly be put back for the DVD, mind you. Then again, they _could_ decide to explore this particular editing path further on the DVD...

Spoiler Alert

The Legend Of Zorro: Zorro rides again in this blockbuster movie! Can Zorro defend the poor, downtrodden Spanish peasants of California from the evil French Count and his soap? Or will the Frenchman's wine prove too much for our hero?

Anyway, various interesting swordfights and similar. Apparently Catherine Zeta Jones learnt that one-inch punch from Kill Bill Vol. 2...

Previews of Aeon Flux (it looks cool, it had better be cool, or there'll be much crying and gnashing of teeth), Just Friends (Depressing, given my history... >_<) and Casanova (Looks amusing, but I'd rather watch the BBC miniseries I think. I'm sorry I missed it on the ABC late last year... I don't suppose anyone taped it?)

In other news, I got to the interview stage for the JET program. I'm not sure why they sent the notice to my mother's house, but there it is. Interview sometime in February, they're gonna call.

I got a phonecall from Melbourne yesterday afternoon... If that was JET, I'm confused as to why they called from Melbourne. If that's someone reading this, call again. I got no voice mail and my phone's phonebook didn't recognise the number. ^_^

I have to get the international roaming activated for my phone, on that topic. I'd die without a mobile in New Zealand. I'll prolly die when I see the phone bill. History suggests I make long phonecalls back to Canberra whenever I travel. On the plus side, calling me costs me 26c flat rate, so I'm as contactable as alays.

I'm all excited about the New Zealand trip. I've got all the accomodation worked out now, staying in Kiwi's Nest about three blocks from the university on the Friday and Saturday night, and at the university for the rest of the trip. I am also worried what CBIT will do without me, as the promised webadmin interface is not ready. Maybe I'll have a nice productive programming day tomorrow? The fact that I'm working on my blog at 1am suggests not...

On a side note, I think I've discovered Smilex... I can eat any one of sardines, tomatoes, tomato sauce, onion, curry powder, chillis, and noodles, but combine then together into a dish, the name of which escapes me (It looks like red sludge with noodles mixed in) and I have an upset stomach the next day. A friend pointed out that he's allergic to tomatoes, so I wonder if I am too... They're c

2006年 1月 13日

Oscar Wilde VS the Robots of Dawn, in stunning 3D!

Posted in Computers at 1:08 am by TBBle (Visited 213 times)

The fact is, that civilization requires slaves. The Greeks were quite right there. Unless there are slaves to do the ugly, horrible, uninteresting work, culture and contemplation become almost impossible. Human slavery is wrong, insecure, and demoralizing. On mechanical slavery, on the slavery of the machine, the future of the world depends. - Oscar Wilde

Now there's a man who saw the computer revolution coming...

Yesterday, a customer noted that he couldn't follow what I was doing to his computer, and that they're really not that user-friendly, despite all the advances in technology. This is of course correct, because advances in technology aren't making things user-friendlier, they're just getting faster at being unintuitive.

As happens every time this comes up, I spent some daydreaming time trying to work out what _is_ the best user interface. There's not a single true answer to this, so I'm limiting myself to what would work best for _me_.

The first and most defining aspect of my workflow is I tend to switch between focussed single-tasking and frantic multi-tasking. So I need a system which lets me run multiple single-tasking areas and switch between them quite quickly. I'm of course visualising a projected 3D space via goggles, where I look around to change workspaces, and the longer I'm focussed in a single space, the further other spaces move away from my direct field of view, while when I flick quickly from space to space the ones I'm moving between will hang around the center of my vision to be switched to.

This I think highlights a very very important general principle, that a workflow must be adaptive. You must be able to deal with each task in a way that is most appropriate, and the system must adjust to what you're doing at the time, removing extraneous things where possible without hiding things that should be at the fingertips.

When I work with papers on my desk, they're either in two states. An entire document or set of documents spread out so I can see all parts without moving things, or stacked up into a single pile, only the relevant pages, which I can flick back and forth as needed. I daresay these are relevant models for my workspaces. As I focus on a workspace, it expands across my field of vision, giving me more room to array objects in a manner most pleasing. My most extreme behaviour in this way is when I need to think big, and drag a whiteboard out. What I do on a whiteboard could easily be done on an A4 sheet of paper. The point is that I can fill my field of vision with it, and that focusses me marvelously. Also the whole standing up thing gets the blood pumping. ^_^

I guess I also expect a keyboard at my fingertips. I mean, I was prolly the only 8-year old in my primary school to ask to submit printed assignments rather than handwritten. I never did earn my pen-license, so it's not all good news. ^_^

Rather than have my fingers leave the keyboard, I guess within a workspace I'd like where I'm looking to be the target window for windowing operations, but keyboard focus to remain until I press the keyboard-to-current-window key. There'd also be a bring-window-to-top key and a push-window-to-bottom key. Those three windowing operations are sufficient on the keyboard, and support the various modes I work in, where I'm either just typing into a box, typing into a box based on something in a different box (which I'd obviously be looking at) or in fact flicking my eyes all over the place as I type stuff into a box I might not even be able to see.

Thank goodness for touchtyping lessons from a typewriter-era guide. I suspect modern keyboardists (ie. anyone younger than me) who learnt to type from computer-based tutor programs has probably missed out on the practice in typing without visual feedback. Although most commonly hit when transcribing a document from the document holder that was once a prominant attachment to any respectable secretary's monitor, it's also useful (with the right window focus model) when you only need to type with 95% accuracy but need the maximum possible viewable area for whatever is causing you to type.

Anyway, I'd also expect to be able to manipulate documents in the workspace spatially with my finger or fingers. Moving, flipping pages, expanding and contracting, etc. Generally, I'd lay out my workspace, and then return to the keyboard. So full functionality for zooming, pageupping and pagedowning is probably also important for windowing operations. So that makes six.

By zooming I mean full-screening (or full field of viewing). Visualising to the exlusion of all else. See the bit above about whiteboards. ^_^

Although I'm talking about a 3D sphere or something here, I don't know yet how depth/distance would fit in. Although I stack things now, that's mainly due to a lack of space (or a tendancy for things to fall off my desk). I guess I would have to try it, or at least think about it some more.

So how is this relevant to now? Well, frankly, a lot of what I'm looking for is available via wmii. I'm on the wmii-2 release, and I use it in Maximised mode (which is not the author's recommendation by a long shot) mainly because I'm too lazy to poke around harder. The default mode (tiled) is actually quite clever, but I deal with too many apps that don't handle resizing too well (xterm, specificially. It doesn't unwrap text when the text area grows, but does when the area shrinks. Or at least that's the default, maybe I can change that.) I can switch windows and spaces with the keyboard quite quickly, to the point where I don't mind that I can't see a list of open windows, I just go switch-switch-switch until I get the one I want.

Many people would find my workflow suboptimal. Many people would be able to point out ways _I_ could work more efficiently. But I like my workflow, and it does work for me. Until I can put on a pair of augmented glasses and be projected into a virtual world of my own imagination, there's always going to be something that could be done better.

As always, I'm open to suggetsions but reserve the right to initially reject them obstiantly without good reason. I will come 'round eventually. Heck, I even eventually conceded that there are times when handwriting is better than a laptop. It did take over 10 years, but I couldn't even begin to imagine trying to take lecture notes on a laptop. ^_^

As far as user-friendliness goes, I'm fond of telling people that computers won't be user-friendly until they are as easy as toasters. On more careful consideration, that's not true. Toasters are not user-friendly. If you do it wrong, your toast burns. Look away or do anything more catastrophic, burning toast sets off the fire sprinkler. Combine burning toast with another accident involving a kitchen paper roll falling over, and your kitchen's on fire. That's not user-friendly. It's downright user-dangerous. But the point is that it's a simple device, that does one thing (apply heat to bread) and only a few knobs to adjust (how long to do so, and a button if you want it sooner).

Can computers be like toasters? Sure. They used to be just as dangerous, but with hundreds of vacuum tubes to twiddle and adjust. OK, can they be simple like toasters. Single-tasked and low-button-count? Sure. Of course, you have to balance that computers are very versatile. They have to be able to do multiple single-tasks (that sounds familiar... ^_^), or there's a whole lot of wasted silicon going on. Sure, you can get some efficiencies by moving away from the desktop PC model to having a site-based computing cluster, providing CPU and memory resources to whichever thin terminal (which may be running on a desktop PC, but which may not have all of that PC's resources dedicated to it at that moment) is being used. Network-transparent filesystems, operating systems and the like let us do this sort of thing without a lot of bother.

Then it comes down to the applications. It's widely held folklore that the overwhelming majority of computer users only use a tiny minority of the functionality in a program. And not only that, the ones I've watched generally don't multitask. When Quickbooks is open, the computer's a bookkeeping thing. When it's not a bookkeeping thing, Quickbooks is closed or iconised. You don't end up with half a screen of Quickbooks, and half a screen of MS Word with letters to customers describing new products. Well, you might. I don't and the users I've watched don't either. And if you _do_ do it, I bet you do it because you think you're being more efficient. I doubt you actually are more efficient, but only a stopwatch and a professor of efficiencology would know for sure. And two professors of efficincology would mean we'd never know for sure. ^_^

So try it for a day. Run everything full-screened. If you're a Microsoft Windows user, hold down Alt and hit tab repeatedly to change between programs. You'll save a _lot_ of time running for the mouse. On the other hand, it's not optimal. Because you do often work in multiple documents. As I mentioned above, I often type into a different place than I'm reading. Everyone does. Well, authors of fiction maybe not so much, but try writing a budget report looking only at the program you're typing it into, rather than looking at the actual budget you're reporting on.

So we come back to workspaces. X11 window managers generally implement workspaces. Apple finally got on board with expose in Mac OS X. nVidia windows drivers provide the same thing on Microsoft Windows. I imagine ATI's drivers do too. But having them isn't enough, you have to be able to use them efficiently. Remember, they must be sensible for operation that's staying long periods in a single window. So hitting the edge of the screen with your mouse is too sensitive a reason to change workspaces. Much time has been spent demonstrating that people's mouse cursors hit the edges of the screen more often than just coming close to the edge. On the other hand, unless you've an excellent recall, or like to go hunting through spaces, or just _always_ lay things out the same way (I'm one of these ones), you need some kind of visual representation of what's in what page, so you can go to it efficiently. One of the neatest pagers I've read about is the Live Updating Workspace Switcher from Luminocity (Video of it in action here) which takes advantage of modern graphic card features to provide a little, real-time view of your entire work area, so you know where you are, and where the task you're about to switch to is. It also means you could leave a task processing something, and be able to see visually when it's done. Seriously, this is _good_. Granted, in my job I do a few tasks (compiling, downloading) where I'd like to see them complete without having them clutter up my current display, but surely there's other things people'd like this sort of feature for? Of course, in my 3D worksphere, it's unneccessary. I can just look over and see what my apps are doing, without having to do things like reach for the mouse, stop typing and start meta-keying, or whatever else. It'd become like checking your blind spot when driving. Sure, your eyes are off the road for a moment, but you don't automatically slam on the brakes when you do it.

Yes, some people slam on the brakes when they headcheck. Seriously, I barely got my driver's license, how can I not be the worst driver on the road?

Maybe driving a car is a better metaphor for computing than making toast? It's not great, still, so I'll keep looking for the perfect metaphor for how computers _should_ be able to be used.

For the mentioned customer, and anyone else who feels that computers are running our lives, you're probably right. _I_ expect that, that's what I do, it's both my job and my passion.

To put it in perspective, I wouldn't feel it was right to have to help bump-start an aeroplane any time I flew anywhere, but many people accept similarly onerous demands from their computers. Somewhere along the line, instead of enslaving our machines, we became slaves of the computers.

Would you believe all this came from me visiting a quotes website, and seeing the search-by-author box, decided Oscar Wilde was a good candiate... I nearly put Groucho Marx in instead, in which case this post would have been rather different, I expect. ^_^

You might notice the complete lack of speech discussion here. This might seem weird from me as a linguist. But a computer you can instruct in natural human language is (a) a long way off, further than my projected worksphere I think... It's a hard hard challenge, and has nothing to do with user interfaces or user friendliness, or even workflows, but instead obsoletes an enormous part of that; and (b) a robot, of the Asimov mold. (The books, not the dang movie.) Seriously, once you have a computer you can converse with and instruct in a meaningful way, articulating some joints onto it and hooking up some blinking lights for eyes is relatively trivial. Although that might just be because the only robotocists I know happen to be grade-A geniuses. ^_^

(Edit: "Time flies like an arrow. Fruit flies like a banana." turns out to be attributed to Groucho Marx. Wow. ^_^)

2006年 1月 12日

The best laid plans

Posted in Bandwidth Unlimited Pty Ltd, CBIT Internet, Debian, Japan, LCA06, Linux, Mew at 2:35 am by TBBle (Visited 469 times)

Wow. I sneeze, a few months pass, and life turns upside down...

安座間美優 2006年度 カレンダー

Firstly, obviously no The Other Day's Mews posted. I've got backlogs ahoihoi (although I'm missing about a month from October 3rd through November 11th) which I might have to start cherry-picking just to get them up.

Still, I got my 2006 Mew Calendar from AmazonJP. It was too expensive to ship by itself (shipping was significantly more than the calendar. >_<) but then I decided to buy myself an LPIC I book, and found a friend who wanted some stuff, so it came out quite cheaply. (Pictures and links at bottom of post)

I need the LPIC I book because I'm going to linux.conf.au 2006 in New Zealand later this month, and will be sitting two LPI level 1 exams there. I'm really looking forward to it, I had soo much fun last year. And I've never been overseas before (over strait, technically), so I've now got my first ever passport.

The passport was surprisingly quick to get. I had most of the paperwork already, and put the application in on the 23rd of December, and when I got