Begin main content

Volunteer work for Apple and the Graphing Calculator

Anyone who was an Apple die-hard in the mid-90s loved the graphing calculator—it allowed you to rub your Wintel friend's noses in the sheer processing power of your new Risc PPC Mac.

So reading the story of it's very Apple development process was really a joy :) It should definately be included in any future edition of Insanely Great.

To get you interested, here is the last line and postscript from the story:

We wanted to release a Windows version as part of Windows 98, but sadly, Microsoft has effective building security.

After the events described, we made everything retroactively legitimate by licensing the software to Apple for distribution.

Also worth a look is the gallery of cool graphs at pacifict.com.

03:36 PM, 22 Dec 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

Yet Another Apple Emulator - Patches

While geeking out on Apple ][ assembler programming this weekend (last weeekend it was Objective-C), I discovered there aren't many Apple // emulators for Linux.

There are tons of great free and shareware emulators for my MacOS X Laptop, but I want to use my beefy Linux workstation... I can SURELY get better than twice the speed of an original 6502!

I found YAE — Yet Another Apple Emulator, but I had to patch the source a little to make it compile on a modern gcc. I'll package them better soon (and mail the maintainer), but for now my POST ./configure patches are below.

Also of note, the speed limiter (to the authentic 1.04MHz) is implemented in speed.c if you want to increase the speed or disable it. Since I just want to edit and assemble, the timing shouldn't matter for me and I now have a WAY fast emulated Apple //e ;)

--- iou.h	1998-11-26 19:24:56.000000000 +1100
+++ ../yae-0.6-patched/iou.h	2004-11-21 23:54:20.000000000 +1100
@@ -143,5 +143,7 @@
 unsigned long GetIOUSoftSwitch(void);
 BYTE AppleIORead( ADDR );
 void AppleIOWrite( ADDR, BYTE );
+void printer_byte( BYTE );
+void init_printstream( void );
 
 #endif /* _IOU_H_ */
--- iou.c	1998-11-29 23:27:52.000000000 +1100
+++ ../yae-0.6-patched/iou.c	2004-11-21 23:53:26.000000000 +1100
@@ -547,7 +547,12 @@
 	return data;
 }
 
-FILE *printstream=stdout;
+FILE *printstream;
+void init_printstream (void)
+{
+  printstream = stdout;
+}
+
 void printer_byte(BYTE data)
 {
 	data &= 0x7f;			/* Remove hi-bit */
--- main.c	1998-11-29 20:45:20.000000000 +1100
+++ ../yae-0.6-patched/main.c	2004-11-21 23:53:53.000000000 +1100
@@ -73,6 +73,7 @@
 	setDefaultOptions();
 	ParseConfigFile();
 	processOptions(argc,argv);
+    init_printstream();
 
 	/* mount disks */
 	if (optind<argc) disk_name[6][0]=argv[optind++];
--- Makefile	2004-11-22 00:02:05.000000000 +1100
+++ ../yae-0.6-patched/Makefile	2004-11-22 00:00:49.000000000 +1100
@@ -15,7 +15,7 @@
 
 X_CFLAGS= -I/usr/X11R6/include
 X_LIBS= -L/usr/X11R6/lib
-X_EXTRA_LIBS=
+X_EXTRA_LIBS= -lX11 -lXext
 X_PRE_LIBS=
 
 DEFS= -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 

11:12 AM, 03 Dec 2004 by Mark Aufflick Permalink | Short Link | Comments (3)

Apple ][ all the way

Well, I won an eBay auction picking up some old editions od Nibble magazine with tutorials about Apple ][ assembler programming so I'm on my way!

One disappointing thing I learnt is that Appleworks is not Y2K compliant. Damn.

12:29 PM, 24 Nov 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

Musings about a new Apple ][ Operating System

After having fun with Apple ][ emulators on the weekend (see my dev blog), I got to thinking about writing an operating system for the Apple ][ hardware.

I have always thought that I wouldn't be worthy of the title Uber-geek until I had written my own OS from scratch, and the Apple ][ hardware is delightfully simple.

I want it to be multitasking, although I haven't researched the interrupt options in the 6502 yet. To be pre-emptive the Apple would probably need a thunderclock card or similar.

The memory issue worries me - it may need to be all based around relocateable code and memory handles, like Classic MacOS. One smart (maybe) idea I had was to assume an Apple with loads of ramcard expansion, and then to let each process have nearly all of a 48k/64k page. The code could be fixed, and the scheduler would swap between the pages as well as switching execution point. Of course on a real Apple ][ (as opposed to an emulator) the number of processes would be limited to the number of memory pages you had (A Franklin 500 would be nice!) and processes would be limited to around 40 or 50k.

If anyone has any ideas please post a comment!

09:06 AM, 22 Nov 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

plutonium + terrorists = bad news

Tonight's Lateline show (ABC TV) featured an interview with Dr Mohamed ElBaradei who is the current DIrector General of the International Atomic Energy Agency (of the UN).

He had many things to say - some very controversial (for the UN at least) - including:

  • that the UN is "crossing it's fingers" that no terrorists have nuclear material - in the face of 600 known cases of illicit trading of plutonium and other fissile material;

  • that the UN's current policy of only using force in response to an attack is no longer sufficient. He floated the idea of "collective pre-emption", saying that pre-emptive attacks are appropriate in certain circumstances, but only in an environment of agreement within the UN member nations;

  • that the world can no longer sustain "narrow blinkered national interest", advocating revolutionising the current vetoe power

  • that the imbalance of power in the middle-east, due to Israel's nuclear capability, is unsustainable, and that middle-east security dialogue must be based on trust

He also had things to say about North Korea, nothing new there.

His implication on a number of occasions was that it is only a matter of time before terrorists get their hands on, and likely use, nuclear material.

It's a scary world at the moment.

10:24 PM, 10 Nov 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

blackwhite - awake * inspire * empower [www.blackwhite.tv]

My friend Tanya and her business partner have just launched their company blackwhite. WIth cool products, inspiring and informative writing about world and african issues.

Go check it out!

http://www.blackwhite.tv/

10:07 PM, 10 Nov 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

US Election Voting Machine Issues [catless.ncl.ac.uk]

From the RISKS digest, a concise (and definately not exhaustive) summary of electronic voting issues in the recent US elevtions.

And here is an article about the internals of the Diebold aggregating server:

http://www.blackboxvoting.com/scoop/S00065.htm

If it is true, then it is rediculously scary on so many levels. Using Access is such a bad thing for starters, even if the code is perfect (which apparently it is so not). Do you see your bank storing your data in Microsoft Access? They quite possibly use Sybase, which is bad enough, but they wouldn't dream of using Access.

How did these things ever pass security audits????

11:32 AM, 10 Nov 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Nigerian con-man from Dubbo gets five years' jail

As I previously blogged just over a year ago, an Australian from outside Dubbo was a key person behind at least some of the so called "419" Nigerian scams.

Well, he's been in court lately, with coverage provided here by the Sydney Morning Herald.

It's amazing that people actually fell for this - even more amazing that they cam from Dubbo of all places!

02:56 PM, 09 Nov 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Sydney Open 2004

Just got home from some of the Sydney Open 2004 sites. For those of you not in the know, Sydney Open is a bi-annual day run by the Historic Houses trust and opens many Syndey buildings to the public (for a small fee).

Buildings include the historically significant (eg. Walsh Bay Piers 8/9), architecturally important (eg. various Seidler buildings) and the beautiful (Macquarie Lighthouse).

Included in the regular ticket were 38 properties and focus tours of other properties were available for booking (at an additional fee).

Highlights of my day were:

  • Walsh Bay Piers 8/9 (recently the headquarters of Murdoch Magazines)
  • Macquarie Lighthouse
  • The Penthouse (Harry Seidler) and the Seidler Offices

I shot a few rolls of film, so as soon as I have them developed I will post a few highlights.

It's really amazing to see so much of the diversity of Sydney's architecture in one day. It is truly a city with depth of character that after 4 years is still surprising me every week.

There was also an "Epilogue" comprising short talks by architects and other people that I would have LOVED to have gone to (Harry Seidler was speaking), but Kath and I had friends in town to entertain.

10:47 PM, 07 Nov 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Arafat brain dead, says medical official [smh.com.au]

Holy cow. If this isn't big news I don't know what is. I don't even know if it is positive or negative for the Middle East.

It's just a pity that Arafat couldn't bring himself to really pursue the changes necessary for peace in his region.

Now it's all history.

Update: Apparently not true : Arafat may have liver failure [smh.com.au]

02:41 PM, 05 Nov 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

The adventures of ... Action Item! [www.fatalexception.org]

Action Item - Professional Super Hero!

Leaping tall buildings with a single memo. Or something like that.

09:50 AM, 05 Nov 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Vote Save Error #9 [nickstech.com]

Vote Save Error #9. It could be a hoax. As discussed on another blog, I'm unsure which is scarier - that there are at least 8 other types of vote save errors, or that the voting machine uses the "Chicago" font.

If it were to eventuate that the electronic voting software was written in Hypercard I'm not sure whether it would be dumbfoundingly stupid, or sublimely cool... (Has anyone ported Hypercard to Linux yet?!)

A related site, blackboxvoting.com has people writing in their voting experinces. It's not pretty.

I really appreciate the simplicity of Australia's paper voting system. But then there's not quite so many of us to count ;)

Update:

Here's more, courtesy of the Risks Digest:

Touchscreen voting spawns glitches

And More:

Courtesy of Wired.com:

E-Vote Glitch Inflates Bush Total

11:24 PM, 04 Nov 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

tuning in to podcasting

Something else I have just caught up with is podcasting. For those of you who haven't heard the term, imagine a blog or article that you can download to your mp3 player and listen to on the train.

I finally got around to hooking my mobile phone to my PC (for mp3 transferring)* to listen to an interview with Alistair Cockburn about agile development. The interview was recommended by Lars Pind—a friend and podcast-listener—in his blog.

Now I'm hooked. I don't actually use any special software, I just download an audio file from IT conversations.com onto my phone each morning. The amp in my LG U8120 is not really loud enough to compete with the train noise, so I sometimes go for a walk at lunch and listen.

Listening to a daily audio program is really a great way to get a richness of information in your favourite areas. It's kindof like listening to NPR's All Things Considered, but always about topics you are actually interested in ;)

The podcasting software takes it a step further, and chooses your audio files from your selected RSS streams and sticks them straight onto your iPod or other mp3 device. No rocket science here, but then bloggin software wasn't rocj]ket science and look what that did.

Of course it's hard enough getting files onto my LG phone at all (over USB via Windows XP running in an emulator on my Linux workstation) without the fancy stuff...

I hope and/or suspect to see a podcasting channel from the boys at Tram Town one day :)

10:45 PM, 26 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Another Perl 5 OO Syntax [search.cpan.org]

I previously blogged about the reformed-perl OO syntax here, and here is a spiffy YAPOO (Yet Another Perl OO syntax) called Spiffy.

"Spiffy" is a framework and methodology for doing object oriented (OO) programming in Perl. Spiffy combines the best parts of Exporter.pm, base.pm, mixin.pm and SUPER.pm into one magic foundation class. It attempts to fix all the nits and warts of traditional Perl OO, in a clean, straightforward and (perhaps someday) standard way.

Spiffy borrows ideas from other OO languages like Python, Ruby, Java and Perl 6. It also adds a few tricks of its own.

I haven't played with it, but I still like the idea behind reformed-perl better. But then they don't quite aim at the same problem.

04:22 PM, 25 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Social Bookmarks

A little slow onto the bandwagon you might think, but I'm not particularly partial to bandwagons.

I started to get frustrated about having no easy way to bookmark things that look usefull when surfing at home or work to look at later. I end up emailing myself links all the time.

In the process I would CC friends with that particular interest if I thought the material was interesting enough.

Well, del.icio.us social bookmarks is the answer. I was already visiting del.icio.us/tag/perl to keep on top of new 'net articles about my favourite programming language so it makes sense to contribute mine and to get a personal global bookmarking system to boot.

I post links to my own del.icio.us/aufflick area using handy shortcuts on my browsers respective toolbar. I can access them on via http://del.icio.us/aufflick or via RSS. The RSS access is super handy, since it means that my bookmarks can appear in my Firefox sidebar using the excellent RSS plugin.

As an added bonus, I have also hacked up a recent links box in the left column of this site where you can see my 5 most recent bookmarks.

Cool eh?

07:09 PM, 19 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

Perl Monks search plugin for Mozilla/Firefox [pumptheory.com]

I submitted a perl monks search plugin to the email address at mycroft.mozdev.org some time ago, but nothing happened.

So if you want to try out my Perl Monks search plugin, you can install it from my business web site:

http://consulting.pumptheory.com/collaboration/misc/mozilla/

The plugin has a caveat, quoted from my original email:

The one caveat with it is that the site uses the same url (index.pl) for search results and article display, so the sidebar results list gets cleared when you click on an article. I cannot see any way in the search plugin syntax to deal with this, but I am open to suggestions! I will also suggest to the site maintainers that they change this behaviour to allow the plugin to work properly.

09:14 PM, 17 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Ultimate developer workstation accessories

To go with my ultimate keyboard, I need one of these ultimate screens.

If you're thinking of buying one for me as a gift, I think the 6 x 19" is a good compromise of size tp price. The 19" display segments also seem to have the best brightness and contrast.

04:49 PM, 12 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

The Tokyo F1 race should have been called an F1 drive...

Although it is a cool looking circuit, there is only one real overtaking opportunity, possibly two—the two last corners leading to the straight.

That combined with the Japanese tv directors inability to find the action made for disappointing viewing. Jenson Button possibly missing out on 2nd because he let Takuma Sato through on team orders was also disappointing.

One bright spot to look forward to—I can't wait to see what Mark Webber can do in a real car next year.

10:41 PM, 10 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

John's come good! [vtr.aec.gov.au]

Well it looks like the Liberals are home and hosed in stronger positions in both houses compared to last election.

Far from the mandate for change that Labor/Latham were asking for, the Liberals are actually UP 1.8% on a two party preferred basis.

Pretty much no-one was forecasting this outcome. Victory to the Liberals by a slimmer margin was the accepted reality. So what happened?

Labor's Bob McMullen tells us that he is "fearful for the future" and "disappointed". Perhaps he, as Costello has been saying of the Labor Party, doesn't trust the public to make sensible decisions.

Nick Minchin said he thinks that most Australians were smart enough to know that Labor's promises were "too good to be true".

Looking at who contested what seats and the relevant seats, I have my own theory. Obviously one part is that people are pretty happy with the record of the Liberal/Howard/Costello combination, so I wasn't expecting dramatic swings. But nearly every contesting candidate has a swing towards them.

So where did all the votes come from? Mostly, it seems, have come from the implosion of the Democrats in every seat (including a number they have failed to contest). Some (but definately less) from the drop in support for One Nation (but not as across the board as the Democrats drop). To my eye there also seem to be less independants contesting than last time, but I haven't seen stats supporting that.

The Greens haven't garnered as much support as I feared, and the support for Family First is quite pleasing. Alan Cadman securing Mitchell against no less than 8 opponents yet again is no surprise. Louise Markus taking Greenway from Labour is a good win. Ross Cameron seems to have sadly met his fate in Paramatta (although the postal votes remain to be seen in this ultra-marginal seat).

All in all a far more interesting election that expected.

The senate count is less advanced, but things look good for the Liberals there as well which will hopefully leave our country less at the mercy of Greens or Democrats.

Is it time for bed yet?

01:21 AM, 10 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

The Ansari X Prize has been won by SpaceShipOne! [www.economist.com]

Twice into sub-orbit in two weeks with two people.

Now that's cool.

If you want to buy a ticket, maybe you won't have to wait long...

[SpaceShipOne] has teamed up with Sir Richard Branson, an airlines-to-telecoms entrepreneur, to offer space tourism under the banner of Virgin Galactic.

You just know Branson couldn't resist branding that sucker. Sure beats a big baloon ;)

An industry thriving from putting payloads and paying passengers into space? It may sound fanciful, but thatÂ’s what they said about the first aircraft designed to ferry passengers across continents.

01:19 PM, 07 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Recently presented lecture material

Thank's to Rafael Calvo (Web Engineering Group, The University of Sydney), I recently presented a series of Software Engineering lectures.

The slide sets and related research materials are now available online:

(All lecture material)

01:13 PM, 07 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Introduction to Fonts [www.anaesthetist.com]

For a website about anaestetics, it has a lot of useful developer tutorials on perl and other things.

This page rates a mention since I find that so many developers have little understanding about the basics behind fonts. Developers who started with Mac's in the early 90's have more than most for obvious reasons.

Even if you don't follow the maths behind bezier curves etc., you will learn a lot of usefull terminology.

01:01 PM, 07 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Fixing the window - raise issue in X11.app with sawfish

Anyone using Apple's X11.app and a custom window manager knows the frustration of X11 windows not always raising above MacOS windows when you click into them.

The problem turns out to be that Apple made the decision that just switching to X11.app wouldn't change any stacking - the wm (window manager) should raise the stacking of the window. Trouble is, most window managers won't bother to raise the window it already knows (thinks) is on top (since it doesn't manage the MacOS windows).

Under Sawfish this is easy to solve. In sawfish-ui->Bindings->Window, map Button-1 to Raise and passthrough click if focussed instead of the usual Raise and passthrough click.

Or add this to your ~/.sawfish/custom file:

(custom-set-keymap (quote window-keymap) (quote (keymap (raise-and-pass-through-click-if-focused . "Button1-Click") (move-window-interactively . "W-Button1-Move") (popup-window-menu . "W-Button2-Click") (raise-lower-window . "W-Button3-Click") (lower-window . "W-Down") (raise-window . "W-Up"))))

There are some other bits in there too.

Unfortunately this won't work with my usual sawfish config that has button-1 do NO raising, and button-3 set to raise OR passthrough click...

Update:

Having a window (say an xload) in the upper layer breaks this fix. Just kill the offendin window and all is good.

Also, Exposé so frustratingly almost works. It shows the X11 windows, and even brings one to the front when you click it, but the X11 window manager doesn't know about the stacking change, so if the previously front window overlaps your new front window, it will recieve the click (and revert to the front) when you click in that region. gah.

Update:

Also, this fix has no effect if there is only one X11 window open. You need at least two for sawfish to even bother raising anything.

08:17 PM, 06 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

ROT13 Implemented multiple ways in 58 languages [www.miranda.org]

Mildly amusing - I love that someone has implemented rot13 in postscript - that way you can make sure you don't see the answer to the joke until you print it out I guess ;)

And for people more interested in speed than security, there is a patch to use rot13 as a cipher for your ssh connections!

I notice there is no SysRPL implementation Russell...

08:44 AM, 06 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

What is Amazon getting at? or to?

First their own web site search engine, now they are integrating Alexa directory results into the regular Amazon site and offering their own style of cross-linking .

For instance, did you know that people who view my business site (pumptheory.com) also view massmedia.com.au? The Amazon wesite info page for pumptheory.com tells you all this and more—including that my "Average Traffic Rank" is 5,052,676! Can I exchange them for dollars?

This site (my blog) apparently only has a 4,852,959 strong Average Traffic Rank.

Even stranger, a friend's site has an Amazon ASIN product code:

http://www.amazon.com/exec/obidos/ASIN/B00009RE5T/ - thecodemill.biz

11:37 PM, 05 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

U2's lost "October" lyrics returned [www.theolympian.com]

Any U2 fan knows the story behind the stolen briefcase and the hastily re-written lyrics. (And the resultingly weak album that was October).

It seems that someone found them in an attic (is that like the back of a truck?) and returned them to Bono.

Maybe they know where my acoustic guitar is...

10:24 PM, 01 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Getting sawfish to compile under cygwin

I won't bore you with the many hours of FAILED attempts - this entry is to document how to get the sawfish window manager up and running under modern (2004) cygwin environments.

CAVEAT: This is a hurridly written and poorly constructed document. I will try to edit it into a more useable form later. I can't tell you what underlying cygwin modules are required, except to say that I have a full developer install with importantly:

  • all the gdbm database modules installed.
  • pkgconfig
  • pango-devel
Current cygwin also includes a bunch of gnome libraries in the X11 section which will help you runnning gnome applications later.

Sawfish relies on a number of other projects, which take varying efforts to install.

1/ Imlib image library

Imlib for cygwin is maintained by cygwin-ports.

Download the latest Imlib bundle from http://sourceforge.net/projects/cygwin-ports/ and untar it with tar zxf (or tar jxf if it's a bzip file)

You will end up with the original source tar file and a bunch of patch related files. Simply running ./imlib-1.9.14-1.sh all will unpack, patch, compile and install imlib for you.

It will also delete the build directory when it's done, so if you want to go through the build process yourself it will take more steps, starting with ./imlib-1.9.14-1.sh mkdirs; ./imlib-1.9.14-1.sh prep. The rest is left to the reader ;)

2/ librep lisp library, gnome-libs-devel, rep-gtk, rep-gtk-devel and sawfish-1.2
Many hours have gone into trying to compile each of these from source - multiple versions, different patches. It's hard enough to compile on linux let alone cygwin...

NOTHING I tried could make it compile.

It turns out, you can make the gnome 1.4 binary versions work from cygnome.

Run the cygwin installer as per normal, but set your mirror to http://cygnome.sourceforge.net - you will find a whole load of GNOME-* categories. From memory the auto dependancies don't select everything you need, but be careful not to click things you don't need as you may end up un-installing some newer versions from the current cygwin installation.

In fact I reccomend making a backup of your entire cygwin directory - I broke mine once and was glad to have a backup.

Now you're installed, you need to setup your PATH to include /opt/gnome/bin and your library path to include /opt/gnome/lib.

I added these two lines to my /usr/X11R6/bin/startxwin.sh file:

export PATH=/usr/X11R6/bin:"$PATH":/opt/gnome/bin
export LD_LIBRARY_PATH="/usr/lib:/usr/X11/lib: :/usr/local/lib:/opt/gnome/lib"
and put a (sawfish &) at the end.

Note that for some reason, sawfish doesn't decorate any already running windows, so I don't start any apps from the startxwin.sh - instead I start them from my .sawfishrc file eg:

(system "xsetroot -solid lightblue")
(system "xterm -e bash &")
(system "xload &")
3/ Getting sawfish.wm.ext.pager compiled:
Get the 0.6 source and unpack.

The makefile won't compile pager (no surprise) - I used this commandline to produce pager.exe within the aforementioned sawfish1.2-gtk1 environment:

gcc -DUSE_SAWFISH_LIBCLIENT -DFRAMEOVER -I/opt/gnome/include/gtk-1.2 -I/opt/gnome/include/glib-1.2 -I/opt/gnome/lib/glib/include -I/usr/X11R6/include -L/opt/gnome/libexec/rep/i686-pc-cygwin/sawfish -L/opt/gnome/bin -L/usr/X11R6/lib -lgtk -lgdk -lgmodule -lglib -lintl -lXext -lX11 pager.c /opt/gnome/libexec/rep/i686-pc-cygwin/sawfish/client.dll -o pager

You will also need to add /opt/gnome/libexec/rep/i686-pc-cygwin/sawfish/ to your PATH so the dll loader can find it.

do a make private-install to copy and compile the lisp files. It will fail to copy pager.exe, so just cp pager.exe ~/.sawfish yourself.

If you have no pager, and executing ~/.sawfish/pager.exe by hand yields:

error: can't connect to socket
/tmp/.sawfish-MYUser/AA053174.pc.domain.com%0.0

or similar, just delete the socket file it found and restart sawfish. Actually, you need to delete the whole /tmp/.sawfish-MYUser directory, otherwise the next time sawfish starts it won't create a socket file. And then all sorts of wierdness ensues.

Sweet.

Forgot: You also need to let cygwin find client.dll by adding /opt/gnome/libexec/rep/i686-pc-cygwin/sawfish/ to your PATH.

02:26 PM, 01 Oct 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

New Perl 5 OO Syntax [www.netalive.org]

This module (reformed-perl) providesw a whole bundle of OO syntax goodness for perl 5.

Personal favourites:

Sub args in definition (which is normally not possible in Perl due to lazy evaluation):

    sub method($foo, $bar)
    {
        print "First param: $foo";
        print "Second param: $bar";
    }
Implicit self, class and base:
    sub method
    {
        self->instance_method();
        class->static_method();
        base->super_class_method();
    }
Ability to override default setters (accessed by clients like a normal object hash value):
    fields foo;

    sub get_foo
    {
        print "Getting foo!";
        return self->{foo};
    }

    sub set_foo($value)
    {
        print "Setting foo!";
        self->{foo} = $value;
    }
Of course it's non-standard, but if it got adopted into, say, perl 5.9 then it could rock the Kazbah. Whatever that means.

01:25 PM, 30 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

Irony is not always funny

It is painfully ironic that today is the (Australian) television premiere of the movie of Black Hawk Down. I was just reading today about the militant groups in Iraq loyal to Abu Mousab al-Zarqawi. The situations I read about sound too similar to Mogadishu.

Chillingly, the best tagline that Channel 10 could come up with for Black Hawk Down was "See how Eric Bana showed Hollywood what he was made of". And if the film disturbed you, try reading the book.

Mogadishu is one of the embarrasing events that the US Army would rather forget. And you hope that the chain of command learned some lessons. The Bush Administration and the interim Iraqi President tell us how things are going swimmingly (liberal paraphrase), but the fact is that many many more American soldiers have died than the 18 at Mogadishu. Many more westerners' mutilated bodies have been dragged around the streets on film than the one US Pilot in Mogadishu. You can negotiate with warlords because they don't want to die, nor do their followers.

You aren't in control if there are no-go areas. You didn't prepare properly if you are only negotiating border security months too late.

I would like to write more, and there is so much more to say, but what would be the point. Some time ago I investigated technology contracts in Iraq to be a part of rebuilding the people, no chance of that now.

The sad thing is that if the majority of Iraq want Sharia rule, to go to war with the West and all that the insurgents ostensibly stand for, then they are welcome to start a political party. Free elections are planned for early next year. Of course they must know that the majority don't support them. But Saddam Hussein demonstrated how effectively you can take a people in a direction against their will if you are willing to use violence to intimidate them and any would be rescuers. It's just a crying shame that the rescuers who had the guts to come, didn't think through the fact that they would have to stay a while to protect the people they rescued.

10:05 PM, 27 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

Blogging in my pajamas

Well I'm not really. That's not to say I never have, but I'm not right now.

Although I quite like the term 'the pajamahadeen' which I picked up from this weeks Time magazine.

It's a strange world when I learn about geek cultire from Time magazine. Except, of course, blogging isn't geek culture any more, it's collaborative computing enabling vocal analysis of the establised media, politics etc.

And, of course, the odd Microsoft joke. Except that an operating system that allows an application flaw to result in the execution of data (a la the latest jpeg vulnerability) is no joke.

So in line with the new respectability of blogging (and more that I am interested in putting more effort than over some months this year) will lead to some more features around here.

First up will be a longer articles section. I'm playing with ideas, but I think the article pages will be driven by something I'm terming a "compositing" module—it will let me stitch blog entries, photos and other content together into a homogeneous article.

I'm also going to get around to uploading photos less than a year old (any day now...)

I've also made the first major colour change in a year, and I'm not sure I'm happy with it. Of course to make the site start looking nice I'm going to have to get rid of the auto-generated ascii-art headings. Like that's going to happen.

I also don't like the proscriptive "latest two" entries on my home page, or the fact that the developer blog is always at the bottom. But then I don't like "read more" links either, and it can't get too long.

I'm open to ideas—please comment.

I know you're reading this—I have the usage stats to prove it ;) Yes, that includes you Croatia.

09:03 PM, 27 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Design (and other) Patterns

After first (and often) reading articles about design patterns in various Java and other journals, I decided (rather too quickly) that it was all just hype—or worse, it was force fitting canned solutions to make up for the lack of innovation in many development teams.

Today I had some reading time up my sleeve, so I thought I would learn what I was actually talking about when I documented the object factory I wrote yesterday. This led me on a journey of discovery about Patterns, Design and otherwise.

I learnt that Patterns—far from being canned solutions for enforcing re-use by medeocre developers—is actually a first class computer science concept/theory/philosophy. The journey often threaded to and from my recently added must-read blogger Grady Booch, which was a pleasent surprise.

For starters, the Hillside Group linked me to a fantastic introduction to Design Pattern theory and philosophy:

Patterns and Software: Essential Concepts and Terminology [cmcrossroads.com]

From my new and limited understanding so far, I don't think that half of the "patterns" I have read about in Java or C++ journals meet the tests in the above document by Brad Appleton. Unfortunately this type of pattern thinking wasn't popularised by the time I was studying computer science at Uni. There also seems to be a misconception that applying patterns means using an object oriented language, but I don't see that that is necessarily true. A software framework will necessarily have to be implemented in a language, and a description of a pattern should include code examples, but I see this concept, or school of thought, should be able to transcend languages and become almost a description of good software engineering. Hmm, I'm not sure that explauins my thought or even make sense, but I can always edit later!

Appleton quotes Reengineering the Application Development Process (Michael Beedle) likening the effect of using> patterns to the generation of emergent behaviours.

The article segues to Pattern Catalogs and Systems, which makes me think if Perl's CPAN. CPAN is a most like a repository of frameworks in this terminology (although much of the modules in CPAN do not meet the formal definition for a framework). CPAN is one of Perl's best assets and is unchallenged by any similar competitor. Imagine a similar library existed that was a global centre for:

  • Pattern proposal, certification and definition (in a standardised pattern language)
  • Pattern implementation (in whatever language you need - of course implementation coverage would vary)
  • Pattern system proposal, certification and definition
  • Software framework glue (which is really an implementation of a pattern system)
  • etc. etc.

CPAN works, and it's not anarchy. If we could agree to not have language wars, I think such a system could be immense. Of course the barriers to creating such a library as authoritative are huge, but that's an issue left to the reader ;)

Being a product of the early 90s, I didn't study patterns at University (who needs patterns when you can program in Miranda, Pascal AND macro-assembler ;) so I have some catching up to do. Should make for interesting reading over the next few weeks (and a dent in my book budget...)

08:29 PM, 27 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Visualising complex data & Relationship oriented computing

Methods of visualizing complex data sets is an interest of mine—perhaps a throwback from my Geomatics studies.

When I was at University we used a 3D GIS system on a Silicon Graphics workstation. You wore LCD based 3D glasses which synced via infrared to the screen (displaying alternate angles on every screen refresh). Navigation was provided by a horible HID (human input device) called a rat. It was very non-intuitive.

I was also facinated by Apple's attempt to present a 3D view of the complex relationships of Internet content, but navigable in 2D. Known variously as Project X and HotSauce, the data format was trialled by a number of companies including Yahoo, who provided the ability to "fly" through their 'Net index with the Apple tool. It was one of the many cool things to come from Apple's ATG (Advanced Technology Group) that was discarded never to be seen again.

I recently became aware of a new open source Java library that helps you present various types of 2D navigation of your complex (possibly multi-dimensional) data called prefuse You can view some cool java applet demo's and download the code from http://prefuse.sourceforge.net/

(Thanks to forresto on the "Related projects" mailing list of the touchgraph sourceforge project : http://touchgraph.sourceforge.net/ for mailing the link to prefuse).

A very interesting use of prefuse is Vizster—a project by Professor Marti Hearst of the University of California, Berkeley (http://www.cs.berkeley.edu/~jheer/infovis/final/).

Vizster is an interactive visualization tool for online social networks, allowing exploration of the community structure of social networking services such as friendster.com, tribe.net, and orkut.

PS: Sorry for the inconsistant spelling of visualising / visualizing - I just wanted to make sure all English speakers could find this page with a search tool.

03:20 AM, 25 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Making Emacs shell work with Rational ClearCase

I was having a problem where the emacs shell was flakey when started from a shell within a clearcase view.

If the shell was csh (urgh), M-x shell would result in an error about a bad tty.

If the shell was bash, then all would seem fine, but I could not interrupt a subprocess (eg. with C-c C-c). I presume that emacs decided it was not the process owner, but I never delved into the C source.

My solution was to subclass the emacs shell to run bash directly with some funky environment munging.

Based on a post to the help-emacs-windows mailing list by Theodore Jump (read in archive), I cooked up the following proc:

(defun bash ()
  "Load Bourne Again Shell for interactive shell processing"
  (interactive)
  (require 'shell)
  (let ((binary-process-input t)        ; for 19.x
        (binary-process-ouput nil)      ; for 19.x
        (coding-system-for-write 'no-conversion) ; for 20.x
        (coding-system-for-read 'iso-latin-1-unix) ; for 20.x
        (explicit-bash-args '("-i"))
        (explicit-shell-file-name "")
        (original-shell (getenv "SHELL"))
        (ori-sfn shell-file-name)
        (w32-quite-process-args ?\")
        )
    ;; Wipe out PID in case emacs is called from
    ;; Cygwin32 built BASH (this causes problems)
    (setenv "PID" nil)
    (setenv "SHELL" "/bin/bash")
    (setq-default shell-file-name (getenv "SHELL")
                  explicit-shell-file-name shell-file-name)
    (message (format "invoking bash ... %s" shell-file-name) )
    (shell)
    (setq-default shell-file-name ori-sfn)
    (setenv "SHELL" original-shell)
    )
  )
So now instead of M-x shell I invoke M-x bash and all is good - interrupts, vobs, tab completion and all :)

There is, though, a slightly annoying echo of the commandline when you hit enter - I will investigate later.

02:10 PM, 23 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Apple iPod + hp = Apple iPod... [www.shopping.hp.com]

Well we talked about it, and here it is. You can buy the "Apple iPod + hp" from Hewlett Packard. It's only in 20 Gb or 40 Gb models, and it's even exactly the same colour scheme.

Makes you wonder what the "+ hp" part of the equation gives. Oh that's right - invent...

Such a shame. I wonder if I can make my HP48 Calculator play mp3s :)

09:21 PM, 21 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Why Do Java Developers Like to Make Things So Hard? [www.linuxworld.com]

James Turner is, among other things, the senior editor of LinuxWorld magazine and a committer to the Apache Jakarta Struts project. He has also published two books relating to Java and has five years experience with the language.

Which makes it all the more refreshing that he can see the problem in the Java community so clearly:

Java is a great language being destroyed by Rampaging Computer Science

He summs up this viewpoint article with:

The long and the short of it is that, in my opinion, Java is a great language being destroyed by Rampaging Computer Science. There's a time for elegance, and a time for usability. If developers want to make the internals of packages flexible and extensible, that's all well and good. But the external interfaces should be clean, simple to use, and have wrappers for the most commonly accessed functionality. For example, in a PGP package, I should be able to encrypt or decrypt a file in 5 lines of code or less. After all, I can do it in Perl in 3.

Shh. Don't anyone tell Larry Wall - he'll prove that Perl can do it in two.

12:20 PM, 21 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

A year of your life? [ifoundsomeofyourlife.blogspot.com]

The author of the linked blog (i found some of your life.blogspot.com) found a camera flash card in a taxi. It contains almost exactly a years worth of photo's taken by the unknown owner.

As the finder was unable to contact the owner, he has decided to post an image a day to the Internet - combined with fictional commentary for your enjoyment.

I'm not sure of the ethics here, but it is really quite, um, something!

If you want to start at the start, you will need to catch up from July 26th by clicking here.

04:00 PM, 20 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Nine (9) times the google of Google [a9.com]

I honestly have no idea how this has missed my attention previously.

Amazon's a9.com search engine takes google results (ie. it uses google) and adds more stuff:

  • Amazon's search inside book
  • Google images (presented with each search)
  • IMDB (Internet Movie Database)
  • Reference sites (dictionary etc.)

They even have their own version of the Google Toolbar at http://toolbar.a9.com/ and if you use Firefox you can add a9 to your search bar (go to http://mycroft.mozdev.org/download.html and search for a9).

Some of the Google keyworkds work, like site:, but not all of them.

I like it so far.


On further investigation, the data gathering undertaken by a9 is pretty amazing. Every link you click, you may notice, redirects via a9.com and stores the click in your preferences.

You may prefer to use generic.a9.com which doesn't store any details in your Amazon profile.


I also just re-discovered vivisimo.com and it's fantastic results clustering. I'm going to give it a shot as my main search engine for a few days. I'll let you know how I go. (As with a9, you can download a search plugin for Mozilla for it).

11:33 AM, 20 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Thunderbirds movie - maybe worth a looksee? [tramtown.blogspot.com]

Semi from Tram Town is the first person I have heard with good things to say about the Thunderbirds movie.

I used to watch Thunderbirds every Saturday morning—way back when TV wasn't 24 hours a day and early morning had music clips instead of ad's because no-one would buy the slots (except perhaps for Franco Cozzo. Megalo Megalo Megalo.)

I'll probably have to hurry, i can't imagin it will survive long in the Australian box office.

10:45 AM, 20 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

Software development [is] fundamentally hard [www.booch.com]

Grady Booch (currently of IBM) is pasionate about the way we develop software. Why?

Despite its transparency, as Bjarne Stroustrup has observed, "our civilization runs on software." It is therefore a tremendous privilege as well as a deep responsibility to be a software developer. It is a privilege because what we do collectively as an industry has changed and will continue to change the world. It is a responsibility because the world in turn relies on the products of our labor in so many ways.

The book is being made available online once you have regitered and logged in, but I was not able to find any chapters with actual content...

Grady's site has other good stuff though.

The site can also be painfully sluggish (perhaps because it is written in java? :P)

10:36 AM, 20 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Evaluating Web Publishing frameworks [www.arachna.com]

Ian Kallen, Manager of systems and software at Salon.com presented this, um, presentation about their choice of publishing and workflow framework. If you know about these topics already you can quickly skip through nearly half the slides.

His conclusion is to go with Apache, mod_perl and mason over a fairly large range of open source and commercial options.

I whole heartedly agree with nearly all of his reasoning.

However, I think that he missed a great possibility (especially with regards to workflow) when he disregarded the ArsDigita Community System (now OpenACS) with the following silly (and unprofessional) takedown:

Phil Greenspun has spoke extensively but unconvincingly of the virtues of the AOLServer. We don't agree that Tcl is the world's greatest language and Alex seems nice and everything but a good dog doesn't make a good publishing technology.

OpenACS addresses many of his complaints against the other competitors and shares most (not all) of it's flaws with his chosen platform.

mod_perl and mason is a killer combination that I am growing to love, but in situations where OpenACS is an appropriate choice, it can save you 6 months to a year of development time. Seriously.

09:46 AM, 20 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Silicon Valley Road Trip Doco [www.stage4.co.uk]

As reported by MacSlash:

In Search of the Valley will visit places and people of historical and personal significance, including but not limited to: local artists, hackers, hobbyists, venture capitalists, academics, and robots!

I can't wait to see the interviews with Andy Hertzfeld, Jef Raskin and Woz :)

One of the great looking places they visit is the DigiBarn computer museum.

Stop Press: From Grady Booch's IBM blog, I also found this nice in-browser photo tour of Silicon Valley: http://www.riehle.org/ageekstour/

04:04 PM, 17 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Performance bakeoff of Perl XML modules [www.xml.com]

The results are quite interesting - depending on your density of XML tags, the results can be quite different.

03:58 PM, 17 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

A little Small talk

Smalltalk, as the computer scientists and/or Historians among you will know, is the ante-sescendant of nearly every Object Oriented programming language there is. It's ideas are most cleanly followed by Objective C and much less by C++ and Java.

There is an opensource GNU Smalltalk compiler and it's documentation includes a good smalltalk tutorial.

I have to say I really like it. Now to find a place to use it...

Here are two histories of smalltalk I have found:

03:37 PM, 16 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Perl one-liner command line options [www.perl.com]

Here is the best clear explanation of perl's command line options I have ever read. I have linked straight into page two which covers the options most useful for writing perl one-liners.

It makes so much sense that you will find yourself having to refer to the documentation less than you used to.

11:16 AM, 16 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

RSI - a good reminder [www.onlamp.com]

This onlamp.com article is a good reminder to take RSI seriously, and links to some really good looking ope source software enforcing micro-breaks etc.

For Windows and Linux there is the excellent Workrave: http://www.workrave.org/

For Mac OS X, AntiRSI (http://ozy.student.utwente.nl/projects/antirsi/) is very nice looking and well integrated with OS X. It has the basics, but it's not as advanced as Workrave.

A friend of mine once got extremely bad RSI (from her violin playing of all things) and required a hired note-taker to go to class with her for over a year. I think it's worth taking some precautions to avoid a similar fate. After all, if I can't type I'm not earning any money...

10:45 AM, 16 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Wind Energy now cheaper

There are various recent reports of wind power now being cost-effective (eg. this slightly useless article linked to by slashdot).

Someone suggested that converting 3% of America's farmland to wind power would provide 95% of America's electricity requirements.

Let's pretend that all that we read about wind power is true (and there are many opposing views) - ultimately we are removing energy from a system that has previously been untapped. And 95% of America's electricity requirements is a LOT of energy.

What will the effect of that be?

One slightly preposterous thought of mine is that the earth's rotation could be slowed. Well - we would be creating quite a strong opposing force...

I read someone suggesting that removing energy from the atmosphere would help combat global warming - sounds silly at first, but if you look at the net equation it seems plausable.

I think the pundits from Tram Town may well have something to add here...

03:15 PM, 15 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

Sawfish - still the best ever window manager

Sawfish is by far my favourite window manager.

It's lite, very functional and very customisable. Like Emacs, it is completely extensible by writing lisp functions. Also like Emacs, some standard functions are in fact in lisp themselves.

On machines without full gnome installs (or perhaps without the resources for the insanely resource-hungry gnome-panel), you can build up a good level of UI functionality with lisp add-ins.

The most important extension is the pager by Daniel Pfeiffer sawfish.wm.ext.pager.

I'm still looking for a window/icon dock a la twm or NeXT - maybe time to learn some more lisp...

Sawfish used to be THE window manager - it was the default for GNOME and thus RedHat. As of GNOME 2 and RedHat 9, metacity has replaced it as the default and sawfish development seems to have disappeared into a black hole.

Funny thing is, that doesn't matter. Sawfish still has more features than metacity, and if you want an extra feature, it's just a short lisp proc away.

A good source of info and lisp snippits is the Sawfish wiki: http://sawfish.uberstyle.net/ and this sawfish lisp repository: http://www.sics.se/~lofgren/sawmill/repository.html

Update: See this blog entry for info about cygwin and sawfish.wm.ext.pager under cygwin.

12:30 PM, 15 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

Rational ClearCase (and Emacs integration)

Once again, Emacs rocks! Here at my new client we use Rational ClearCase for source and release control. As a very long time CVS user it's taking a little getting used to.

It's underlying concepts are far more advanced than CVS and going back to CVS will hurt once I'm used to ClearCase.

Amusingly, ClearCase is just as syntactically confusing as CVS (what is it with source control software...) and has even LESS consistant command line arguments!

Once again, Emacs integration is sweet - once you install Kevin Eslar's excellent clearcase.el - which will save my noggin from those crazy commandline options.

I plan to extend clearcase.el with some labelling menu options (which we use as release tags) and fold them back into the release. More to come...

03:42 PM, 14 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

A new spin on replacing my Newton

I LOVE the Newton OS - even though it hasn't been updated in 6 years or so.

I love pen-based computing.

But when I saw the new Windows CE based Psion (the Psion Teklogix NETBOOK PRO) It occurred to me that it might be the size that is the killer feature.

In between a Palm and a sub-notebook, the Psion has a near full-sized keyboard and a relatively powerful processor

Once you can get Linux on there, it will be a absolute rip-snorter of a portable device.

10:18 AM, 13 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Micro-satellites - $30,000 USD a pop [www.usatoday.com]

And you can launch them for only about $40,000 USD as well! The only snag is that your satellite has to fit into a 4 inch square box... Which is quite big with miniture electronics these days.

And off the shelf equipment like PDAs are exactly where these researchers are getting their kit. Professor Twiggs of Stanford University says of PDA manufacturers "They didn't know it but they're building stuff for us".

Professor Twiggs concludes:

"you don't know what the heck you're going to do with this little box when you build it or what markets will be enabled. But it's so cool, you've got to do it,"

Bring it on!

04:01 PM, 09 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Speaking of Perl... [www-106.ibm.com]

Perl inspires many well-written articles. More, it seems, than any other language - possibly because of it's linguistic design??

IBM's people have written many, and this link takes you to a list of some of them:

10:01 AM, 08 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Software Patents

I'm not going to add to the volumnous literature written about software patents, but The following letter from Donald Knuth to the US Patent Office is a very clear and concise argument - worth the short read.

http://lpf.ai.mit.edu/Patents/knuth-to-pto.txt

01:53 PM, 07 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Lars on Agile Languages [pinds.com]

My friend Lars has posted a good summary of the reason behind the rise of scripting languages - and why some of them are so bad!

I would modify his article to point out that although Perl is somewhat of an "accidental" language, it was grown by people who actually know about things like compiler theory. And the OO structures available in Perl are really quite excellent when you become familiar with them.

11:19 AM, 07 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Favourite TV Scientists [www.cnn.com]

I dislike just re-posting links, but it's been a long time between blogs (I've been quite sick) and this is definately news-worthy!

In a recent poll of the public's most favourite TV Scientists, Dr. Bunsen Honeydew and his assistant Beaker (of the Muppets) resoundingly beat Dr. Spock and Agent Sulley by a factor of 2 to 1.

Roland Jackson, of the British Association for the Advancement of Science said "They are accessible, humorous and occasionally blow each other up".

I wonder what the result would have been had the guys from the Curiosity show been included in the poll... well I'm glad you asked...

09:09 AM, 07 Sep 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

More Apple X11.app wierdness

When you are running your own window manager (and with the quartz-wm in proxy mode for the clipboard support), expoze works with X11 windows. Amazing!

Well, sort of. It throws around all the windows correctly; and when you click one it comes to the top; but it doesn't change X11's window stacking order because front clicks are sent through to the window that used to be on top instead of the one that Quartz has now placed on top.

09:02 AM, 23 Aug 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Sensible Emacs usage with Apple's XCode

The new version of Apple's XCode mercifully allows you to use an external editor, and the integration seems to be quite thorough. Of course for the old time Mac users there is BBEdit integration. I was a big BBEdit fan before I became a Unix-head (which was well before MacOS X).

But hallelujah, XCode supports emacs integration! And, it's quite smart - but yet not quite smart enough :/

It uses my all time favourite gnuserv/gnuclient (with the gnuserv-compat.el library so it can run in GNU emacs), and Apple have put a Darwin compatible gnuserv binary in /usr/bin/gnuserv. This is handy even if you (like me) run fink installed emacsen.

But this is a Mac, so you don't want terminal emacs... Carbon emacs is nice, but I want to use X11 GNU Emacs. Problem is, the way XCode interacts with gnuclient is a bit annoying.

First up, it executes /usr/bin/emacs with no arguments inside a Terminal.app window. You have to configure your .emacs file to start gnuserv-start as per these release notes.

One easy thing you can do, is start gnuserv by hand in your X version (M-x gnuserv-start) and not in your .emacs file. Then, when you double click a file in XCode, it will start a (useless) console emacs, and use gnuclient to open the file in your X11 Emacs.

So far so good - but two emacs processes is heavy, so i replaced /usr/bin/emacs with a hard link to /usr/bin/true ;)

See Update 3 below for the right way to do this!

This only leaves two problems:

  • A Terminal.app window is brought to the foreground each time, but we want X11 brought to the foreground instead
  • XCode asks gnuclient to open the file in the same frame but I want it in a new frame. Presumably this is because GNU Emacs doesn't support multiple frames (ie. across multiple ptys) in console mode, which is all the Apple supplied emacs supports.

The emacs support seems hard coded - I can't find any scripts that do the work to hack away at. Maybe I can replaec Terminal.app with an AppleScript compiled .app that ignores the calls that XCode is making and thus just leave the gnuclient calls (which appears to be executed by XCode directly - not via Terminal.app), but also to tell X11.app to come to the foreground when (the new) Terminal.app is asked to go to the foreground.

Seems like a lot of work. And I don't do any commercial Mac development, so I probably won't bother!

Annoying though...

UPDATE

It seems the link to /usr/bin/true didn't work - XCode must realise that emacs wasn't started.

What does work though is to move aside /usr/bin/emacs and replace it with a symlink to your X11 version (eg. /sw/bin/emacs-21.2).

Still have both of the bulleted problems abouve though.

Then I had the great idea to move gnuclient to gnuclient-bin, replace gnuclient with dtemacs (hard coding DISPLAY to :0.0). I thought it might fail if XCode exec-ed the binary directly, but it didn't seme to make any difference, so perhaps the gnuclient protocol is coded into XCode??

If an Apple developer on the XCode team reads this - please give us an option to tune the system calls for emacs :)

UPDATE 2

Ok, so this is REALLY bogus, but if the bazillion Terminal windows annoy you, here is what you can do:

  1. Symlink your X11 emacs binary to /usr/bin/emacs
  2. Have your .emacs (gnuserv-start) as per above
  3. Fire up an XCode project, and open a file with emacs as the external editor
  4. [Terminal.app will launch your X11 emacs, and subsequently the frame will have the file opened in it by the gnuclient call]
  5. Minimise the Terminal.app window, but leave it running.
  6. in a shell, rename /Applications/Utilities/Terminal.app to something else.
  7. Yes you heard me! Rename the sucker.
  8. Now you can double-click in XCode and open the file in your running X11 Emacs process in the front-most frame with being annoyed by Terminal.app windows

Unfortunately you will have to repeat these steps every time. Also, if you symlink X11.app to Terminal.app it will get raised, but none of it's windows will so that kinda defeats the purpose.

If the next version of XCode doesn't help, I'll come up with some Applescript wizardry for a replacement .app and a script menu entry to do all the stupid renaming etc.

UPDATE 3

You can actually tell Xcode which emacs binary to start up using the Expert preferences. Simply run the following in a shell with the path to your custom installed emacs:

defaults write com.apple.Xcode PBXEmacsPath /opt/bin/emacs

Still doesn't address the Terminal problem though.

02:13 AM, 23 Aug 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

Trackpad scrolling for Mac Laptops [www.ragingmenace.com]

For some time now, high end Wintel laptops (Toshiba ones at least) have had a sexy feature that makes the far right and bottom of your trackpad to function like a scroll wheel. In other words, if you stroke up and down the far right edge of your trackpad, your current window scrolls up and down.

It's even more addictive than a scroll wheel since your trackpad is right under your hands at all times.

Well, now you can get this on your OSX Mac laptop as well thanks to a very smart Control Panel called SideTrack from Alex Harper (RagingMenace.com<.a>). It's currently in public Beta, but I have yet to see any SideEffects on my original TiBook running Panther.5

This guy also provided some enhancements to uControl—another of my (very few) essential OSX addons.

02:08 PM, 18 Aug 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Emacs on MacOS X goodness

First, thanks to XCode 1.5's support for external editors, my desire to start writing some Mac software doesn't mean I have to learn YAE (yet another editor).

However, coercign Xcode to talk to a running X11 emacs using gnuserv seems to be tricky, so I'm investigating Aqua emacs. Apparently cvs builds of emacs can now generate a .dmg emacs installer for Aqua. My cvs tree is still downloading so we will see.

Since Applescript is still handy even on OSX, the emacs lisp functions to call applescript from within emacs may be useful (on Steve Wainstead's advogato blog).

Elsewhere on Steve's blog is an excellent lisp func that starts tailing a logfile in a new shell buffer and frame in one easy step (here).

Many more great tips here: http://www.emacswiki.org/cgi-bin/wiki/MacOSTweaks

05:19 PM, 15 Aug 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Logged Query Analysis for Postgres [pqa.projects.postgresql.org]

This is absolutely legendary. Very simply, pqa analyses your postgres logfile (after tweaking the logging level a bit in your postgresql.conf) to produce reports on:

  • The most expensive (slowest) queries
  • The most frequently run queries
  • The queries that took the most aggregate time

Very simple - but very beneficial when you have to optimise a large amount of code pumping the database as fast as it can.

The biggest deficiency it has is that it doesn't log which database is involved - I'll take a look at the code and the logs to see if that is possible, but it's written in ruby...

Maybe I should port it to perl, but then I'd have to maintain it...

05:08 PM, 13 Aug 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Web CMS Face-Off [www.eweek.com]

This face-off between opensource perl Bricolage, InterWoven TeamSite and others gives Bricolage a good wrap.

Bricolage rated as many "Good" and "Excellent" rankings as TeamSite and it's "Cons" section was shorter.

So why would anyone shell out $40k USD for TeamSite? It's not like their support is amazing or that its easier to find TeamSite developers than Perl/Mason developers...

11:23 AM, 12 Aug 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

PowerPC : An Architectural History [arstechnica.com]

This is brilliant! Part 1 of 3, this article looks at the first PPC ship, the 601, and how it was designed to bridge from POWER to PowerPC, then continues to cover the rest of the 60x line.

If you're into processor design you will love this series. The same author has apparently written a more in depth history of the Pentium line, but I like my processors in RISC thanks ;)

06:18 PM, 05 Aug 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

NGO in a box [www.tacticaltech.org]

Further to my previous blog entry about micro-finance and the IT community finding opportunities to assist the third world, I recently read about an initiative called NGO in a box

Its aim is to increase the accessibility of F/OSS to non-profits in developing and transition countries.

Open Source should be an ideal help to NGOs and small businesses in the third world, but a major stumbling block is that we depend so much on Internet access—much more than say Microsoft developers. It's hard to leverage the power of the CPAN if you don't have reliable internet access, and imagine downloading the latest Java JDK over a flakey 14.4 dial-up connection...

NGO in a box aims to address these sort of issues by packaging an agreed set of F/OSS tools in a kit that can be distributed and copied at will—the contents will remain fairly static (although version upgraded) so that the relevant technicans can work confidently in the environment across organisation of similar aims.

It contains Linux, firewalls, applications and documentation. It sounds simple, but I would imagine that simple practial projects are what is needed.

Time to put on our brainstorming hats to see what else

03:41 PM, 30 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Write Aqua Applications in Perl [camelbones.sourceforge.net]

Don't let the wacky name or often flakey website fool you—CamelBones is a very serious piece of software.

In a nutshell, it allows you to interface Perl and Objective C libraries (in both directions).

What gets me excited is the ability to write fully fledged Aqua applications in Perl, using all the gui goodness of Xcode. You can effortlessly link buttons to perl methods in Apple's Interface Builder (CamelBones uses Perl OO constructs to do it's business in the developers space).

Immediate obvious uses are writing custom corporate database applications connecting to any perl supported backend database via native connectivity, SOAP etc. I could write a simple proof of concept application in under an hour!

In fact I wrote a simple XML-RPC based Aqua front end in AppleScript a few years ago—today I would do it in perl.

I looked at CamelBones a few years ago (from memory) and it wasn't really ready for prime time. With the current release being 0.2.3 it is clearly not promising to be complete, but with it's (new) threads support it seems plenty for my purposes.

Combining Perl with the Apple/NextStep libraries = Rapid development x 2 :)

03:43 AM, 28 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

The beauty of God's Creation [www.apolloarchive.com]

I wondered how I would find a topic to follow up my last blog entry without seeming flippant.

As always, there is beauty in God's creation that is more than a match for our evil doings.

Tram Town pointed me to this archive of re-scanned photo's from the Apollo 11 flight and moon landing. My favourites so far are the "earth-rise" sequence. Truly breath taking.

I can't wait for space tourism to get underway!!

11:14 AM, 26 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Postgresql goodies

Two pieces of Postgresql software I have just become aware of:

  • Slony-I multithreaded replication engine - single master, multiple slave (but if the master fails, a slave can be promoted to a master)
  • pgpool connection pool server

I like postgres, and these two pieces of the puzzle will come in very handy.

05:00 PM, 23 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Ghosts of Rwanda

800,000 people were killed in 100 days.

Genocide is such an easily used word these days, but the slaughter in Rwanda equates to wiping out every person living in Tasmania almost twice over.

From the PBS Frontline show, this special website titled Ghosts of Rwanda is disturbing.

Thank's to Phil Baker for the pointer to one hero (of a very few) from that time—Carl Wilkins. There is a short New York Times Article (Saying No to Killers) and a great interview from the PBS show (Interview Carl Wilkins).

I'll post some more pointers and comments as I digest this wealth (or is it poverty) of information.

01:07 PM, 23 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Generating Ideas

I love the tagline on Philip Greenspun's Weblog:

an interesting idea every three months; a posting every day

The order in which it is presented is humorously self-deprecating, but the concept has a long and valid history.

Thomas Eddison, who generated over 1000 patents in his lifetime, had an "idea quota" of one minor invention every 10 days and a major invention every six months (newsscan.com). It seems to be common among the "great thinkers" over the centuries that they all generated bulk quanitites of ideas to come up with the few breakthroughs.

Mind Mapping sounds like a funky modern business buzzword, but it was used by Leonardo Davinci and Lord Tenyson (wilywalnut.com).

I want to research more about how the great thinkers did there thinking—I will be sure to report back on my findings!

11:26 AM, 22 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Analysis of the OpenACS code base [www.nafpik.com]

Robert Mello has run an interesting report on the OpenACS code base in the cvs repository on openacs.org using a program called statcvs.

These stats are well worth checking out for all OpenACS developers, and I will be running statcvs over all my projects now—just for fun of course!

Some interesting tidbits about the OpenACS code:

  • Total lines of code: 2,500,552
  • Total lines contributed by my cvs user: 326! ***
  • I have removed almost as many lines as I have added!
  • Code inherited from ArsDigita: hard to tell exactly, but looks like 400,000



    *** Note that there are a lot more lines of code written by me atributed to other cvs users before I had cvs commit rights - still a bit shameful though ;)

09:53 AM, 21 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Irregularities of the earth's rotation [www.iers.org]

There is an international service that keeps tabs on the rate of change of the earth's rotation, which won't be news to most people.

What I found interesting is that the rate of change is so unpredictable that they can give us as little as two months notice of an impending leap second! They're usually the good kind though—you get an extra second sleep!

Thanks to Rusty for the tipoff.

04:57 PM, 20 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

New F1 regulation proposal from the FIA [www.f1racing.net]

I have to say I'm not excited about most of them. For instance, how will F1 maintain it's position as the most technically advanced racing format when things like variable valve timing are banned. My 5 year old Honda has variable valve timing!!

04:36 PM, 20 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

State Machines for UI Code

I have been doing some more thinking about finite state machines and their applicability to different problems.

If you're not familiar with my previous thinking, you can check out the OpenACS workflow package (which I had a small hand in) and some lectures I have presented (see the Relevant Links section below).

I re-read an article titled "State Machines & User Interfaces" in the January 2003 Dr Dobb's Journal which got me thinking about my current project and it's overly complex UI code.

The article basically discusses modelling the UI interaction with your application as a finite state machine—which is something I always do. But then it discusses driving the UI from finite state machine code. In a sense many partsd of UI code do exactly that without realising it, but driving the whole thing from a state machine has all sorts of benefits.

It specifically discusses JStateMachine for driving GUI or Web applications with Java Swing or Servlet technology, but the concepts are applicable anywhere.

The bullet point summary of what JStateMachine does is: (quoted directly from the article)

  1. Locate the source state and event on the chart.
  2. Ensure users have permission to fire the event, throwing an exception if not.
  3. Load the IController delegate for the event and ask it for the correct result transition.
  4. Ask the controller to perform any required side effects.
  5. Follow that transition, including computing the history or deep history if required.
  6. Ensure users have permission to enter the result state.
  7. If there is a default event, follow it. Keep processing default events until you end in a state with none, always ensuring permissions are not broken.
  8. Load the IView delegate for the result state and ask it to update the display.

Some other smart things is that the project defines a dtd for specifying the state machine and callbacks etc. in an xml file. It also defines a default view controller that renders a form based on the possible action and required field information in the specification thus allowing you to walk through the whole system and simply fill in the display code as you go.

Alas, jstatemachine.org seems to have gone commercial, but you can still download the old LGPL licensed code from SourceForge. I'm going to investigate porting it to Perl, otherwise I will write a new module from scratch using the same ideas—it just makes too much sense to keep doing large application UI coding any other way. (Of course there are some projects where a finite state machine is the wrong model, but I think you would be surprised...)

Relevant links:

10:26 AM, 19 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Sybase is good (tm)

I have been building some sample databases and code with Sybase, and I have to say i'm pretty impressed so far.

First of all you can download non-time limited developer versions of their software for free (for Linux, Windows, MacOS X and more!):

http://www.sybase.com/downloads

Second, installing and configuring is a snap.

Third, it seems solid and fast so far—and the sql implementation is as solid and thorough as you could ask for (well, so far, and it is a bit old-school...).

Two slight tricks

  1. to get the Perl DBD::Sybase driver running, you need to use slightly different libraries (from what I can tell). I used the information on this page to good effect.
  2. In addition, I am somewhat confused by the sybase terms of "server" and "database". After finding this email list thread (ASA Error -83: Specified database not found) I used the database name as the server name, and voila...

Update: At my current employer I use a lot of Sybase. It's not cool. It's not particularly bad, it's just that it lacks some key usability features for developers that makes it unwieldy. If money is no object, stick with Oracle. If money is an object, I would go with Postgresql every time...

Update2: You will find a somewhat less positive attitude at my more recent blog entry: Sybase, it's Californian for ****.

01:35 AM, 17 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Subversion 1.1 RC1 - with file based storage [subversion.tigris.org]

Subversion is getting closer and closer to something I want to use. Now with 1.1 you can backend a subversion repository (what svn developers call a "filesystem") on the Unix filesystem (instead of BerkelyDB). This reduces the install requirements and complexity—for most projects I think it's the better choice.

Also, the release notes paint a much more palatable picture about possible api and storage format changes. Prior to 1.0, the subversion code has been subject to pretty major changes between releases (as you would imagine for a pre-1.0 product).

03:34 PM, 16 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

MasonX::WebApp - Web Applications with Perl OO

Here is a nice way of structuring Web Applications in Perl getting the best of most worlds:

MasonX::WebApp

MasonX::WebApp is basically a query dispatcher that calls a particular method in your WebApp perl module (of the same name as the url) which may then (after doing the real work) pass control to a mason component to render some html output.

It lets you write your app using all your Perl OO goodness and make use of Mason's html ease—all without resulting in a mess of incoherant Mason modules full of code.

The best example is the code for a site by the module Author (Dave Rolsky), you can download it here—I haven't seen 25,000 lines of code that clean for a very long time!

10:34 AM, 15 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

Creating employment in the emerging world

This foreignpolicy.com page has an interesting info graphic showing the relationship between the hourly access cost at Internet cafés and the proportion of a country's population living on one US dollar per day.

I think it still shows that the Internet is a very cost efficient tool in the emerging world—certainly compared to traditional alternatives—but when you have less than 1 USD to play with each day, it's going to be tough to get any business inertia going.

That's why I think micro-enterprise or micro-finance provided by groups like Opportunity International are so important and so much more valuable in the long term than simple handouts.

While i'm on the topic ... ;) Opportunity International was co-founded by Australian David Bussau and provides small loans to help people start businesses. The loans are eventually repaid from profits (with no interest) and used to fund further loans. The first loan David made was $AUS 50 (in 1976) to a struggling Indonesian farmer to buy a sewing machine. That farmer now runs an import/export business and owns a fleet of taxi's—providing employment in his village as well as financial security for his family. David's achievements since that time have netted him an Ernst & Young Australian Entrepreneur of the year award (and thus finalist to World Entrprenur of the Year)—the first social entrepreneur to be awarded one.

According to the blurb on the E&Y site, Opportunity International has funded startup businesses that have created 2.4 million new jobs and currently creates new employment at the rate of one job a minute in 28 developing countries!

The challenge to the IT industry is to take part in this and use the Internet and Open Source to help bring poverty stricken people groups more in line with western nations.

04:28 PM, 03 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

AWK is your friend

The Unix philosophy is all about simple tools that fit the job at hand. awk is one of the better examples of this, alongside familiar commands like grep and less etc.

A recent linux.com article catchily titled AWK is your friend reminded me that many people aren't familiar with how handy awk is. This article isn't fantastic, but it's worth a read as are the comments at the end.

The document that alerted me to how handy the awk command can be—even for a seasoned Perl hacker—is How to get things done with awk written by Sakari Mattila. I recommend it over the linux.com article for usefulness as both an introduction and resource. Sakari has updated it a number of times over 8 years, so it is probably safe to trust it's accuracy!

Another document that looks excellent is An Introduction to AWK by Brian Brown. Like Sakari's article this one was written in 1994, but apears not to have been updated since.

03:51 PM, 03 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

MacOS X Tiger looks like what an OS SHOULD be [apple.com]

At least one OS company is providing better features with each release... I suspect switching to a Unix kernel is really starting to pay of in saved development time.

A few things that stand out to me:

Safari RSS - Apple understands the increasing complexity of dealing with information sources, and that RSS is one of the keys to dealing with opt-in data feeds. Haveing a great interface built into the browser is smart.

Spotlight - Similar to the RSS feature, the new searching functionality shows further that Apple understands information. Apple has been strong with searching since it's (now disbanded) Advanced Technology Group developed and patented the V-Twin (archived on archive.org: ATG, V-Twin) searching technology in the 90s.

iChat AV multi-way - iChat has already made text and voice chatting the most convenient way to collaborate even for non-techie users. iChat AV and the iSight camera make video conferencing just as easy. The new UI for multiple chats is a great use of openGL to make a complex concept visually easy to understand.

Dashboard - I don't know that the super-bold colours in the example screenshot will win any friends, but the return of the desk accessory is a good think - I hope that the launch times and availability will be just as convenient (and no Font/DA mover in sight!).

02:45 PM, 01 Jul 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Agile Development [www.agiledata.org]

agiledata.org is a fantastic repository of useful development stuff. Focussed on agile type stuff, it has info that good for people not using agile methodologies, like the database refactoring page which is a great checklist of ideas to run over your db design.

The advanced XML page is a good intro to XML namespace schemas and the like.

02:38 PM, 22 Jun 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

The first commercially funded Space Ship [www.economist.com]

Life is on another world when you have $US 20 Million to throw around. That's how much Paul Allen (co-founder of Microsoft) has poured into a venture with Burt Rutan/Scaled Composites to put the first commercially finded vehicle outside of the Earth's atmosphere.

There's even a commercial space race—the Ansari X Prize offerin $US 10 Million to "the first privately financed team to build and launch a vehicle capable of taking tourists into space".

Where do I buy my ticket? (Thanks to my reading friend The Economist for bringing me up to speed on this essential 21st century issue!).

03:44 AM, 22 Jun 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Language is brain food [www.theaustralian.news.com.au]

According to The Times (reprinted here by The Australian), some recent Canadian research shows that learning to speak a second language helps to prolong the life of your brain and proetect against age related brain disorders such as Alzheimer's disease and dementia.

Bilingual older people have faster reaction times than those who speak only one language and are less easily distracted while completing mental agility tasks. The findings add to growing evidence that taking part in activities that stretch the mind has a lasting effect on brain health.

If I want a real challenge, I guess it's time to learn Danish ;)

I wonder if this extends to knowing more than one computer language? According to my CV I am fluent in about a dozen, but that doesn't count programming my HP48 ;)

04:40 PM, 19 Jun 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Perl and AOLserver [sourceforge.net]

Was chatting with Jim on IRC who pointed me to his old-ish project perl-aol - looks really nice.

I'm going to do some enhancements because it could be the solution that gets me the best of both my dev worlds (OpenACS/AOLserver and mason/mod_perl)

12:26 PM, 18 Jun 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Mmm - Internet advertising works...for someone

Not sure why I bother having Google AdSense ad's clutter my page design - from 36,538 page impressions I have had 61 clicks. Yes - that's 0.2% I can change the statistics by clicking on my own ad once a month, and that's depressing!!

I guess I'm just not feeling lucky.

01:25 AM, 18 Jun 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

On those who practise without knowledge [interconnected.org]

From Leonardo Davinci's diary:

OF THE MISTAKES MADE BY THOSE WHO PRACTISE WITHOUT KNOWLEDGE.

Those who are in love with practice without knowledge are like the sailor who gets into a ship without rudder or compass and who never can be certain whether he is going. Practice must always be founded on sound theory, and to this Perspective is the guide and the gateway; and without this nothing can be done well in the matter of drawing.

02:16 PM, 17 Jun 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Drag your mouse between Linux, Mac and Windows screens [synergy2.sourceforge.net]

Whooee this is nice. Let's say you (like me) have A Linux box, a Windows box and a mac laptop all side by side on your desk.

Traditionally you have two solutions to your keyboard and mouse problems:

  1. Use an expensive KVM switch (I guess in this case it's really a KM switch...) and remember to switch back and forth
  2. Have three keyboards and mice (or two and strain your back reaching for the laptop)

Synergy is an opensource project that lets you drag your mouse across all three (or more)! Yay! Your keyboard enters into whichever system currently has the mouse on it's screen (And yes, there is a solution to the ever present Ctrl-Alt-Del problem - just hit Ctrl-Alt-Pause - except since my Happy Hacking keyboard has no pause key I'll have to patch the code...)

Even better - as you move around, the clipboard follows you :)

At last - some software that does what you want. I'll report back when I have it up and running at two sites. (This one will be fun, because all three are on differen subnets with firewalls...)

Update: The current 1.19 release is a bit smoother it seems, and the clipboard copying to MacOS X clients also appears more reliable.

The scroll wheel support for the Mac client is still way too slow.

I hacked COSXScreen::fakeMouseWheel in lib/platform/COSXScreen.cpp to speed it up. Just before the call to CGPostScrollWheelEvent, I added the line wheelIncr *= 5; and that seems about right.

04:59 PM, 16 Jun 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

A thousand words... [1000words.net]

I came across this site ( http://1000words.net/ ) when David Chin (the founder and maintainer) emailed me inviting me to submit one of my photo's with a 300 word essay.

Amusingly I only saw his email subject fleetingly before my anti-spam filter whisked it away, but something told me to investigate.

Essentially, David's site contains a (nearly) daily photo with an accompanying 300 word essay by the photographer.

Quite a nice low bandwidth way to take in some different creativity each morning. I will be sure to submit something.

10:59 PM, 15 Jun 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

SQL Transaction Misunderstandings

Well, it appears that my understanding of transactions in PostgreSQL and Oracle is somewhat deficiant, but at least I'm in good company.

This recent OpenACS forum thread contains a good discussion - basically being inside a transaction does not guarantee that your view of the database will not change during the time of the transaction.

Yeah - that's what I said as well.

So, it looks like I'll be doing a few more select for update's in the future, but the serializeable level needs to be higher for the behaviour I usually expect. Of course as pointed out by my friend Russell, that will lead to a much higher percentage of aborted transactions, so my code will have to get more robust as well. While that's a good thing, it looks like a traditional RDBMS does less of my work for me than I thought...

Related links:

10:42 PM, 11 Jun 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

F1 has it's groove back

Last week's Monaco F1 GP was spectacular both for it's crashes and who did (and didn't) set the pace. Monaco is also amazing for who turns out. Race weekend was so feature packed that a mysteriously missing £140,000 diamond hardly rated a mention!

This weekends European GP race at Nürburgring is shaping up to be more of the same (well—probably not as spectacular crashes as Monaco). Kimmi Raikkonen set the time to beat in practice. It's also easy to miss just how well Jenson Button is driving—we're becomming so used to it!

Bring it on :)

01:52 PM, 29 May 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

Java Now Running on Apple IIc [www.javalobby.org]

Oh this is just too good.

* 128Kb ram is required, but 256Kb is strongly recommended
* The distribution fits on three 143Kb-sized floppy disks
* A hard disk is not needed but makes the system much more responsive

I have no idea if it's real or not - I might just have to dust off the //c and try it out!!

08:33 PM, 18 May 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

Phew - back to the (un)real world

Those who I speak to regularly will have heard me complain about having no broadband Internet access for sooo long (like 3 WEEKS!), well now I have dsl (phew).

And you'd reckon having several dsl companies as your clients would help...

So, the blogs should come thicker and faster than tomato sauce from a dried up squeeze bottle at an under 9's footy training bbq.

Now that I can finally download at reasonable speeds I set about upgrading various bits of my home dev box. At last the mozilla firefox project is providing contributed compiles. At long last I don't have to compile my own darn firefox just to get good xft support. Plus I get well integrated gtk2 (no more annoying XUL gui issues) and SVG support to boot. The world's best browser just got better:

for linux x86 (warning: 8.9Mb)

09:05 PM, 17 May 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

EPA Approved ICBMs [www.strategypage.com]

Now this is just silly. Thanks to TramTown, I just read the above article about how new EPA regulations have forced the Air Force to replace the rocket fuel used in Minuteman III ICBM rockets, so that the air won't get polluted... at the launching end anyway....

This could just be a money wasting piece of silliness, but the new environmentally friendly rocket fuel has a shorter range - so in the interests of clean air, America is nominally a less-safe place.

What happened to all's fair in love and war? Mad Max would be in trouble if after the nuclear missiles land the EPA is still around. Perhaps their should just be one ICBM pointed to the EPA head offices to protect against future litigation ;)

10:07 AM, 12 May 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Sciences, Boffins & America

There is an interesting New Your times article about how the U.S. Is Losing Its Dominance in the Sciences (free registration required). I suspect that as well as the reasons postulated in the article, another factor is that big dollar research doesn't require dollars quite as big as it used to.

Also, the big dollars that are still required are more frequently coming from commercial entities who are waking up to the gains to be had from funding academic research.

This, however, is raising new issues of tainted research, with many journals finding they can no longer apply as rigerous independance standards as they used to. (There was a good discussion of this with experts recently on NPR's All things considered radio show. Looking through the story archives it must have been one of the recent stories on the American FTA's decision regarding the morning after pill—but I can't figure out which one since airing times here in Australia are a bit behind).

Some costly research, however, is still the domain of the US and big Europeans. like slowing a neutron to 15mph!! That's crazy talk! But apparently it has been done in Los Alamos, as reported by The Register article: Boffins slow neutrons to 15mph.

10:55 AM, 11 May 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Sick of eating quiche?

Here are some interesting articles I have read over the past few days.

The first is an interesting article suggesting that learning to program in assembly helps you be a better high-level programmer. I think it has some valid premises. I would actually add that you should be able to design logic systems, program in assembly and write a basic operating system in C. But that could just be me...

Why Learning Assembly Language is Still a Good Idea [onlamp.com]

The second is a somewhat interesting essay that walks through the writeers quest for performance in a particular program. In the useful parts, the writer talks about our often misguided attempts to find efficiency in the wrong places.

Programming as if Performance Mattered [dadgum.com]

10:36 AM, 11 May 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Old Technology (Post from Siberia)

Hello readers! Sorry it has been such a long time between posts - I moved house and have no broadband. In fact I had no narrowband until a few days ago. Apparently there is a cafe down the road with wireless, but I haven't found it yet.

I am well known for my love of elegant technology, old or new, and here are some great snippets of info I have come across in the last few days.


First, I have come into recent ownership of an old Apple Color Classic and an LC630. The Color Classic is so cute I want to set it up in my office to replace my broken fax machine. With (another piece of great tech) my old Global Village (cool old link) Teleport Platinum it will do just fine. Finding the GV software could be tricky though - try finding THAT on limewire...

So of course, I want to upgrade the Color Classic. The CC seems to have a sort of cult following due to it's cute form factor, and I am in luck with plenty of other people coming up with circuit and case changes so I can jam the LC630 mother board in, making a Takky CC:


Next up, there is a new (and probably illegal) BeOS distribution called PhOS, based on a leaked copy of the BeOS source from just before development folded. Among other things it is multi-user!!


And finally, I can never resist a good Apple Newton story. I still use my Newton MessagePad 2000 (to the amusement and ridicule of my un-enlightened friends), though not as much as I used too.

I certainly havn't used it for mobile blogging over bluetooth - but it's comforting to know that if I wanted to I could:

10:07 AM, 07 May 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Three cheers for Linux! Three cheers for RedHat!

Well, todady I just upgraded my client dev machine from an old Dell P3 to a new P4 clone plus dual head NVidia display. The P3 was running RedHat 9 with so much customization I couldn't face starting again.

I have upgraded many Windows, Mac and Unix boxes before, and braced myself for pain.

The process wen't something like this (a few misc. steps skipped for clarity):

  1. Take the slow 8Gb HD out of the old box (no screwdriver necessary due to the nice Dell case)
  2. Swap the drive in the new case (temporarily) to the 2nd IDE bus and plugged the old drive into the primary
  3. Booted the box - started off the old drive fine
  4. Accepted the default choices offered by RedHat's kudzu hardware config tool that came up automatically (now also available in fedora)
  5. Everything came up fine with two exceptions: my sound card didn't work (tell someone who cares); and my screen was the wrong resolution (probably the default).
  6. Download and run the NVidia driver installer for linux from NVidia.com
  7. Copied and pasted some config options from NVidia's sample XFree86 config file - Now I have two monitors in Xinerama - woohoo!
  8. Rebooted into single user mode
  9. Ran "dd if=/dev/hda of=/dev/hdb" - ie. clone my drive please
  10. Rebooted - checked the drive for errors and bad blocks with fsck -f -c for good measure
  11. Booted up like normal - all good!
Total time taken: less than 1 hr plus 45 minutes waiting for the HD to be copied by dd (I went for a coffee).

Try doing that with a Windows box. Actually, another guy in the office had exactly the same hardware migration to do - but with a Windows installation. By the end of the day he's still not done...

06:02 PM, 22 Apr 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

How did I miss this? HP returns to the calculator business

Late last year HP announced some new graphing calculators, and their Calculator Product home indicates they are producing their full range of calculators icluding the delightfully old school looking financial range.

It is a matter of record that I love my HP48 calculator, and I bemoaned the loss of calculators in the new "HP +/- invent". I can't find it in this blog, so it must have been pre-blog2.0. Can anyone remind me whether HP stopped producing calculators alltogether?

I have even been known to dabble in programming the Saturn processor based calculator, soo it is with interest that II note on this hpcalc.org article that the new range is based on a fast embedded processor running some form of Saturn emulation layer. Also noted in the article is that HP +/- invent has outsourced the inventing to Kinpo Electronics, Inc. of Taiwan who also manufacture for Citizen, Canon, Sharp and Magellan among others.

Newsflash

Further investigation has revealed that HP +/- invent has found an even cheaper place to outsource their inventing to. For the sum total of $11,000 in prizes, HP +/- invent is running a "Design a calculator" competition. Sounds like fun tho—too bad it's capped at year 12 students!

03:37 PM, 06 Apr 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

It's not the Boston Computer Museum...

But the Mountain View, California Computer History Muesm does seem to have a sterling talk commemorating the 40th anniversary of the IBM System/360 Mainframe. It's fully booked now - let's hope the video is available online.

For readers unfamiliar with the IBM System/360 mainframe system and it's genius, there is plenty of online information. The Wikipedia, as always, has a useful entry. For the more visual, you can see some really cool black and white photo's on this Columbia Uni page. A useful timeline can also be read here.

09:58 AM, 06 Apr 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Getting started in programming

O'Reilly net recently published an interesting thread titled Which Programming Language? discussing the question of a 12 year old boy who wanted to get into programming.

There was various discusison of looking at the tasks he was interested - maybe flash for games etc. Then someone suggested Cocoa and Objective-C.. crikey! Why not just suggest he starts tuning queries for the Oracle SQL query planner!!

Programming is such a big deal these days, how WOULD you get started as a 12 year old who thinks he would like to do it as a hobby? I'm sure I'm not alone among you readers in having started into programming as a hobby at that sort of age.

Finally in the thread, a wise man tells how he started his son programming on a Commodore-64 emulator - figuring that it worked for him when he got started.

That's genius! When you learn to fly for example, you start in something like a Cessna or a Piper—planes that are barely different from the very first single-wing planes—and learn the basic principals of winged flight. Just because you can get faster, better (and safer) jet planes doesn't mean that's what you should learn in.

So a simulator it is. I would personally start my son on an Apple //e emulator, but whatever.

So then what do you do once you're done with 10 Print "Hello"; 20 GOTO 10 ? Buy him a Dr Dobbs Journal and tell him to check out the nifty design patterns? I hope I still have some of my Nibble magazines somehwere—I would like to give my son (when I have one)a two page basic listing of a simple arcade game to type in—he'll learn to track down typos in his code, and can learn about simple data structures, memory access etc.

It's a real need—maybe Apple could make a market out of marketing an Apple //e emultor and beginmer educational material.

02:26 PM, 05 Apr 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

A time to link and a time to die

Our favourite old Hyperlinking object based data management rapid developent system has been formally discontinued.

That's right, Hypercard is now officially a finished product line of Apple Computer according to this story by one of the original Hypercard team members.

Hypercard, like most things from Apple and especially those designed and built by Bill Atkinson, was ahead of it's time. Attesting to this is it's 16 year life cycle. Not many commercial computer programs last that long.

There was a good article on Hypercard from 2002 in Wired (here) telling us how great it is and how it's still useful. Unfortunately when you can make good money from Filemaker, you don't really want to be pushing Hypercard. Which is a pity since the OSX framework could lead to a really nice Hypercard, where embeddeble NSObjects replace xcmds...

It's a sad day. Somewhat akin to the day some 4 or so years ago when Apple discontinued support for it's first Mac. Yes, Apple sold spare parts for the original Macintosh for roughly 15 years after it was released. Stick that in your HP/Compaq pipe and try to smoke it...

03:37 AM, 31 Mar 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

That's just plain wierd

whenever I try to download something from a CPAN mirror on my Mac laptop, my Compex NetPassage 15 router freezes and i have to powercycle it.

I can perform the same task on my linux box, and I can perform any other task on my Mac.

Interestingly I remember the same problem on my old Mac workstation (7300/120) that was running linux a few years ago. Otherwise the Compex has run flawlessly for 4 years!

In the works of an old collegue of mine Armin Slivinski <accent="german">It makes no sense</accent>

12:22 AM, 29 Mar 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

And now, a word from our sposors...

It seems somehow appropriate that after some change to the Amazon ad system that my front page now prominantly shows Http/1.1 Service Unavailable as an advertisment.

I think I'll leave it like that.

01:39 AM, 27 Mar 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

An interesting experiment that seems to work

My current employer uses a wiki for internal documentation. I detest the markup and the structure. The "everyone can edit nearly everything" concept seems far too simple and trusting to be of any use.

But it seems to work. With smart application of versioning, and that darned markup that non computer scientists or designers can understand, the Wiki is an experiment with huge success.

The Wikipedia is the best example - a public contributed encyclopedia. Now that it's here it seems so obvious. Such little effort, but by a lot of people with an enormous aggregated knowledge. The law of averages means that most topics will be very accurate, and the sheer number of people means that even obscure topics will get coverage.

And no more door to door encyclopedia sales. (Actually there haven't been any of them for years).

Another favourite (from my 15 minutes of surfing) is This Might Be A Wiki—the official Wiki of the band They Might Be Giants.

02:34 AM, 25 Mar 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Why software still stinks [www.salon.com]

Following on from my renewed interest in the history of computers and logic, it seems appropriate that it is the 20th anniversary of the publishing of Programmers at Work. Not that I had heard of the book or read it, it is definately on my list now.

At a recent forum, some of the 19 porgrammers interviewed in 1986 for the book met to discuss current problems with the software industry. Andy Hertzfeld (a software guru of the original Macintosh and subject of this recent blog entry), Jef Raskin (another great mind behnid the Macintosh), Dan Bricklin (of Visi-Calc fame) and some others shot the breeze in what would have been a fantastic panel to witness.

Too bad there is no transcript available, but this salon.com article gives some tasty excerpts, and Dan Bricklin's blog from March 11 has a few notes and also some excerpts from the book

My takeaway is that the community in general, especially the business community, does not understand what is required to make amazing technology and software that truly changes things. In fact most software companies probably don't.

How to change that, I'm not sure. Some of the panelists have good ideas and have the money (courtesy of the tech boom) to put them into action. The rest of us creative tech geniuses without the cashola? Well I guess we'll just continue to do our best.

My friends at Collaboraid are giving it a red hot go, as are many others in my favourite open source community Open ACS. It's a funny time—like the early times in computers. Lot's of promise and ideas, but no clear path or funding. As opposed to the Internet boom when there was lots of funding and a clear path—even for those with no promise or idea!

08:26 PM, 21 Mar 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

Andy Hertzfeld & other Geniuses

How on earth has it taken me so long to find this site? It is essentially a blog by Andy Hertzfeld, but it contains a VERITABLE wealth of Apple history stories:

http://www.folklore.org/

TramTown—why on earth have I not found this on your site?? Talk about letting the side down!

Oh, and if you don't know Who Andy Hertzfeld or Burrell C. Smith are, or why Woz's disk controller was so cool—do yourself a treat and put in some quality reading time.

A comparison just came into my mind ... having just finished reading Richard Feynman's semi-autobiographical Surely you're joking Mr Feynman, it strikes me as interesting that a common trait to "genius" types is that they are far more at home talking in short interesting (often funny) anecdotes. Don't think I'm saying that they like wasting time—in fact it is because not a single thought is wasted that makes their anecdotes worth reading. Even reading about Dick Feynman trying to get a date can be insightful.

I have some of the annoying sides of being a "genius" type (with far too few of the useful ones), but I know a lot ov *very* smart people and they all tell stories, all the time.

Interesting...

04:15 AM, 05 Mar 2004 by Mark Aufflick Permalink | Short Link | Comments (3)

Hardware Java Acceleration [www.theregister.co.uk]

It seems that the secret project called Azul being worked on by former Cobalt CEO Stephen DeWitt is a Java application server that is packed with Java acceleration hardware.

Sun, the charity fund who helped Stephen out with a few billion dollars for a bunch of perl scripts he had written, is working on it's own Java acceleration platform. It bought a start into the arena by buying Kealia from one of it's own former executives. Probably for a bit less than 2 billion.

The Register article asks why none is working on a .Net accelleration platform—with the implied expression that Java is more popular since it's getting so much attention.

My suggestion is that multiple vendors are working on accelerated Java servers is because it's SO FRIGGIN SLOW! Perhaps they could come up with a way to accellerate Java software development. Maybe they would call it Perl? Ever wished you had hardware acceleration for your Tcl code?

Sheesh!

09:39 PM, 26 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

Writing man pages [www.linux.com]

This linux.com article is a very good introduction to writing man pages in nroff macros.

As discussed earlier, I like man pages!

12:53 PM, 17 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Leadership and Management in 2004

Last week's AFR Boss Magazine has two interesting, if not ingenious, articles about leadership and management in the current age.

James Carlopio from AGSM tells us that 'Stepping back and taking in the broader viwe can help you stay ahead of the pack.' in his back page article Reeling from all that Infomation?

Carlopio points us to our natural pattern recognition ability as the key to managing our communication, strategies and personal (business) relationships. As he states, us humans are constantly using pattern recognition, but we need to practise applying cognitive pattern recognition to our business worlds. A common pattern he suggests as an example is convergence. Convergence is an unarguable pattern, so look for where it might happen next around you—and prepare for it. Even better, initiate it.

Carlopio finishes with the great piece of advice:

In fact, the point at which you think you've found something impossible is a good place to startr looking for what might happen next.

 

The other article that caught my eye is by Lauren Keller Johnson originally published in the Harvard Management Update. It is titled Lateral thinking but her primary topic is something she calls Lateral leadership. She discusses the now common phenomenon of being tasked with a project whose success relies on the buy-in and collaboration of people over whom you have no direct authority. She talks about Networking, Constructive persuasion and negotiation, Consultation and Coalition building. Keller Johnson tells us that building the right relationships and other such "investments in lateral-leadership 'capital' can take time and patience—and often the dividends don't come until later."

It's all very good advice, although again not amazingly ingenious. It is very similar to the way I have managed unpaid volunteer teams for some years now. It also sounds a lot like what my old manager Tim McLaughlan used to call Management by wandering around .

 

Of course I can't not mention that the cover feature of the magazine was an interview with Richard Branson entitled Reluctant guru, because you can never read too many interviews with Richard Branson!

11:56 AM, 16 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Getting chummy with Iran

The recent chumminess the west has shown towards Iran is somewhat troubling. It's true that we need to offer them practical encouragement for their recent change fo heart with respect to WMD—but we need to be careful too. An excellent recent article in The Economist poignantly says:

HOW ironic it was that Iran's President Muhammad Khatami welcomed Prince Charles, the heir to the British throne, on the prince's surprise visit to Tehran on Monday February 9th. While Charles will one day be the largely powerless figurehead of a parliamentary democracy that pretends to be a monarchy, events of recent days have shown his host to be the largely powerless figurehead of a pretend parliamentary democracy that is in fact a theocracy.

That the reformist party has called off it's boycott isn't going to help keep the pressure on the ruling clerics either. Although that may be just good pragmatism, as it seems not even the Ayatollah Khomeini can pressure the upper house (not it's real name!) into re-instating the 2500 reformist candidates. Even if so, it is dangerous pragmatism. As The Economist says:

The danger now is that just enough of the "vetted" reformist candidates stand to allow the clerics to claim that there was a proper election, while voter apathy and a dearth of liberal candidates ensure a shoo-in for hardline candidates.

03:23 PM, 12 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Java is the SUV of programming tools

Readers of my dev-blog will know that I am no fan of the philosophies behind the Java family of web development envionments.

It seems that I am in good company, with one of the Grandfathers of database-backed websites, Philip Greenspun, writing this article comparing Java with an SUV. Unwieldy for 90% of tasks, and not actually appropriate for that last 5% of tasks that require something more powerful or specialised.

So why is it being rammed down the throat of the development community?

This Advogato thread suggests that it is not ignominious for a language to quietly die. Eiffel, Algol and Pascal are languages that have died honoroubly - maintaining a small niche where they are appropriate and appreciated. Java is no longer operating in the niche that the original designers intended, and it survived in it's early stages only because of Sun's muscle and the feeling that it was a way to avoid Microsoft. Of course you can avoid Microsoft with many other equally as portable and much better languages.

12:49 PM, 12 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Amusements from the SCO Group's latest filing

54. At this point in time, IBM's UNIX expertise was centered on its own Power PC processor. IBM had little or no expertise on Intel processors.

Mmm. I guess David Boies is hoping that the judge is so technically ilinformed that he will never have heard of that obscure phrase "IBM PC". And he'd really better hope than noone mentions that OS/2 is fully SMP capable on Intel processors...

97. The only way that the pathway is an "eight-lane highway" for Linux to achieve the scalability, SMP support, fail-over capabilities and reliability of UNIX is by the improper extraction, use, and dissemination of the proprietary and confidential UNIX source code, derivative works and methods. Indeed, UNIX was able to achieve its status as the premiere operating system only after decades of hard work, beginning with the finest computer scientists at AT&T Bell Laboratories, plaintiff's predecessor in interest

I also seem to remember that BeOS was SMP capable - in fact it was widely acclaimed as better SMP than Windows and lower thread latencies than all mainstream operating systems. BeOS was developed by a small number of developers in under four years, and then ported to PowerPC in under 2 years, and ported to Intel in a similar amount of time. It puts SCO, Microsoft and Apple's development efforts somewhat into perspective!


It also seems that the JFS code complaints come from the /ref/ directory of the JFS distribution - which just happens to be to original OS/2 implementation of JFS included for reference, from which both the Linux and AIX JFS modules were written. So even if SCO's insane definition of derivative works is upheld - this example probably doesn't even fall under it!

People have been getting excited that the filing lists files and line numbers. But basically they are just giving references to the entire blocks of code implementing RCU, NUMA and JFS in Linux - which they have already claimed using words, so they are basically presenting the same information in a different way to make it look like they are complying with the court order to put up or shut up.

And then this:

80. The first versions of Linux evolved through bits and pieces of various contributions by numerous software developers using single or dual processor computers. Unlike IBM, virtually none of these software developers and hobbyists had access to enterprise-scale equipment and testing facilities for Linux development. Without access to such equipment, facilities and knowledge of sophisticated development methods learned in many years of UNIX development it would be difficult, if not impossible, for the Linux development community to create a grade of Linux adequate for enterprise use.

What a load of garbage! Even the poverty pack PCs used by Linus et al in those days would have been more powerful than the 68000 based machines Sun used to develop SunOS on (although with much smaller screens - gee I loved those monochrome screens!). And about the only way to get more sophisticated than a single PC is to use a second for serial-based kernal debugging (Ooh - thinking of that makes me long for the good old days of MacsBug ;) A commenter on Groklaw also points to the very early MCC Linux distribution from the University of Manchester, who UK tax payers would hope had access to enterprise-scale equipment...

What a load of crap!

03:46 PM, 08 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

LinuxWorld 2004 In Review [www.sitepoint.com]

This article by Nathan Matias is far more creative and fun to read than what you get used to reading IT publishing. It did feel a little like listening to NPR though...

It's especially fun for OpenACSers thanks to it's description of our stand at the conference as well as a merciless description of Malte Sussdorf ;)

03:11 PM, 08 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Post Modern Management [infogettable.net]

CAVEAT: This article is not finished, but it's been hanging around for a while so I thought I would post it and polish it later.

Post modern Management theory
IT and modern management
OpenACS

MBO - management by objective - popularised by Peter Drucker - "a process by which managers and subordinates work together in identifying goals and setting up objectives, and make plans together in order to achieve these objectives. These working goals (performance objectives) are to be consistent with the organizational goals (value objectives)." The author lays down five main concepts of MBO:

  1. Central goal setting
  2. Manager-subordinate involvement
  3. Matching goals and resources
  4. Freedom of implementation
  5. Evaluation and appraisal of performance

The author then goes on to discuss some details and implications of MBO.

But the interesting part is still to come in the second page, as the author applies what he has discussed about MBO to GSS or Group Support [IT] Systems (that's groupware to you and I).

In the final page he discusses the specific example of the open source OpenACS collaboration software (incidentally used to run this site and the site the article is published on—so sure we're biased!).

The predecessor of OpenACS, ArsDigita ACS, was used to build Siemen's ShareNet—the pinup poster child of business collaboration and knowledge management systems. As an example of it's value, it is one of four case studies used in a Berkeley Knowledge Management subject alongside The World Bank and Daimler Chrysler (link).

According to this ArsDigita case study, Siemens has publicly attributed over $122 million in additional sales to ShareNet, in the first year of operation. Not bad ROI for a system whose main components are available as open source software.

02:17 PM, 08 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Well now we're getting closer to the truth

"SCO abandons any claim that IBM misappropriated its trade secrets, concedes that SCO has no evidence that IBM improperly disclosed System V code, and acknowledges that SCO's contract case is grounded solely on the proposition that IBM improperly disclosed portions of BM's own AIX or Dynix products, which SCO claims to be derivatives of Unix System V," according to IBM's compliance report on the Court's order from Dec 12. [theregister.com]

Ok, so SCO is buying more time and focussing on one of their two (both bogus) arguments.

Darl McBride isn't getting any more believable (or smart or sane) though. He claimed at a talk at Harvard last week that there "is roughly a million lines of code that tie into contributions that IBM has made and that's subject to litigation that is going on. We have basically supplied that." IBM pointed out in court that SCO actually only claims 3,700 lines in about 17 files.

If the case was being held in Australia, the judges ruling would be a sarcastic "Good onya!"

Oh, and while they removed some of their claims, they INCREASED their claimed damages by an additional 2 billion... makes sense.

12:00 AM, 08 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

In todays age, 99 cents for 2 minutes of silence is a good deal!

I'm surpised people haven't noticed this before. It is common knowledge by music lovers that a wide variety of artists have published named tracks of silence on their albums. Famously, the estate of John Cage and Mike Batt got into a copyright suit about whether Mike Batt had stolen the same piece of silence for a silent track that he credited in memory of Cage...

Of course since these are tracks off an album, you can buy them for 99c off the Apple iTunes store. News.com points out that of the silent options on iTunes:

For those looking for the best value, Schaeffer offers nearly two minutes of silence, almost twice as much as any of the other tracks.

and

three of the tracks--all titled "Silent" and all by hip-hop group Slum Village--are labeled as explicit, even though there is only silence. For those who worry that the lack of sound will be too racy, iTunes offers "clean versions" as well.

For ultimate listening pleasure, I'm going to go listen to a silent track on my Sony noise cancelling headphones!

10:43 AM, 06 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

RSS headlines in your OS X dock

For those of you living on Mars, RSS is an xml file format that allows easy syndication (re-broadcast) and aggregation of news-type information. (Actually, Mars probably has it's own RSS feed come to think of it...)

The most efficient way of dealing with bulk amounts of news for me used to be freshnews.org, which is excellent, but with the return of my Mac, getting news headlines in my Dock every hour is fantastic.

The product in question is MulleNewz, which appears to be German for something. Whatever - it's a great product and it's free :)

11:55 AM, 05 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Tomcat/Apache virtual hosting

Damn using Tomcat with Apache is complicated—furthering my belief that java web development is over complicated just for the sake of it :/

After hours of frustration I thought I'd better blog my findings to save others frustration in the future, having not found a comprehensive solution elsewhere. I'll be incrementally adding to this entry, so here goes...

1.
Install Tomcat 5 and the ajp13 connector as normal, and verify it works (checkout /jsp-examples/, /manager/html/ etc.)

2.
For a virtual host that you already have working in Apache, add an entry to your ${CATALINA_HOME}/conf/server.xml following this template (replacing ${CATALINA_HOME} with your tomcat home):

<Host name="www.domain.com.au" debug="5" appBase="webapps" unpackWARs="true">
   <Alias>domain.com.au</Alias>
   <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="consbh." suffix=".log" timestamp="true"/>
   <Context path="" docBase="/path/to/website/htdocs" debug="5" reloadable="true"/>
   <Context path="/manager" debug="5" privileged="true" docBase="${CATALINA_HOME}/server/webapps/manager" />
</Host>

3.
In your relevant apache conf file add to each virtual host directive following this template (replacing ${CATALINA_HOME} with your tomcat home):

JkMount "/*.jsp" ajp13
JkMount /manager/* ajp13
Alias /manager/ ${CATALINA_HOME}/server/webapps/manager

4.
Now how to get a unique login realm for each virtual host /manager/? Well I've been at it all morning and do you reckon I've figured it out yet?? Grrr.

5.
Add to the frustration that in Apache there seems to be no way (outside writing an apache module—which I may yet do) to say something like "If you (Apache) can't resolve a request to a file, please do this action". You can forward to a 404 handler script which I'm sure can get the original url from an ENV variable—but it would have to know how to handle that situation. This task is easy as pie in AOLserver...

Unfortunately I can't even get JkMount "/*.do" ajp13 to work on this server (for struts handler use). Time for more troubleshooting :(

More to come...

01:45 PM, 04 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Sure it doesn't close...

But at least it tilts nice and safely now!

You can also see the bodgy lines at the bottom of the screen in this shot - they seek to come and go. I'm not complaining.

06:33 PM, 03 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Bochs PC Emulation on MacOS X

Well, I am progressing on my journey back into MacOS land, setting up my newly rejuvinated TiBook. You know it's old because I call it a TiBook - no-one calls the new G4 powerbook an AlumBook...

I thought I would blog my Bochs 2.1 installation experience on MacOS X since there is no disk image available yet.

Bocsh is not dissimilar from VirtualPC et al. (don't talk to me about Microsoft) and provides Intel/AMD x86 processor and standard BIOS/VGA emulation. In otherwords a virtual PC ;) Bochs is opensource, fairly unpolished compared to VPC (come on, it's free!) and quite slow in comparison. From what I can tell it's a fairly pure emulator without the heinous caching, prediction, client OS drivers etc. required to make PC emulation zip.

Compilation on Panther (10.3) was really very easy. With the developer tools installed I kjust downloaded the bosch 2.1 source tarball, untarred it, did a ./compile --enable-cdrom ; make ; sudo make install dance and bob's your uncle - bosch.app !

I relocated it before I tried launching it and discovered that a buch of support files (like the bios) are required. The easiest thing to do is to do a make clean and just leave the whole source tree hanging around - makes recompiles nice and easy.

The next step is the config file. Unless you want to be lanching bosch from the command line every time, you want to be editing the .bochsrc config file (invisible in the finder unless you have used tweakUI to show hidden files etc.).

The MacOS X version also doesn't seem to support native cdrom access, so I had to image a win98 SE install CD - you can do it with Apple's Disk Tool (in your Applications/Utilites folder), just make a non-encrypted .dmg file and you'll be sweet.

I made a "images" folder in the bocsh-2.1 folder and copied the cd image (im my case win98-cd.dmg) there. Now we need a hard drive image file, and the bochs suite provides a commandline program bximage to do just that. I gave the following responses:

$ ./bximage
...
Do you want to create a floppy disk image or a hard disk image?
Please type hd or fd. [hd] hd

What kind of image should I create?
Please type flat, sparse or growing. [flat] growing

Enter the hard disk size in megabytes, between 1 and 32255
[10] 4096

I will create a 'growing' hard disk image with
cyl=8322
heads=16
sectors per track=63
total sectors=8388576
total size=4095.98 megabytes

What should I name the image?
[c.img] win98-hd.img

Writing:[] Done.

I wrote 4294950912 bytes to win98-hd.img.

The following line should appear in your bochsrc:
ata0-master: type=disk, path="win98-hd.img", mode=growing, cylinders=8322, heads=16, spt=63

I moved this win98-hd.img file to the images folder as well. Note the line at the end where bximage gives you the config options for the drive you just created - copy that into your clipboard because we are about to make the following amendments to the .bochsrc config file (changes in bold - look for similar lines in the default config):

romimage: file=$BXSHARE/bios/BIOS-bochs-latest, address=0xf0000
vgaromimage: $BXSHARE/bios/VGABIOS-elpin-2.40
ata0-master: type=disk, path="images/win98-hd.img", mode=growing, cylinders=8322, heads=16, spt=63
ata0-slave: type=cdrom, path="images/win98-cd.dmg", status=inserted
mouse: enabled=1
boot: cdrom

Double click Bochs, and do a normal win98 install! Don't go make a coffee, go for a drive to your favourite cafe and read the news paper—this is going to take a LONG time!

When you're all done, you just want to change the boot: config line to disk and commend out the line that mounts your cd image.

Enjoy!

12:22 AM, 03 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (3)

Other's misfortune == my gain :)

Readers of my version 0.1 Blog will remember seeing sad photos of my G4 laptop with crazy post-modern coloured stripes on it's screen (fault not feature). Well since my friend Ian's G4 laptop just blew it's motherboard he has kindly donated me his (nearly fully functional) screen!

After a bit of fun with a torx T8 and T6 I now have a fully working G4 laptop! (I hope I used enough heatsink compound...)

The screen does have a few bodgy lines at the bottom of the screen which appears to be caused by the cracked frame (a common problem on original TiBooks) - I need to use some super-super glue or something to keep the hinge together.

The google search you can see is a few million results for "powerbook G4 cracked screen frame" ;)

05:33 PM, 02 Feb 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

A speaking cat, imagine that!

I was actually searching for useful stuff for my OS X Panther laptop - like how to:But I stumbed across the coolest thing of all, a /bin/cat drop in replacement which has an option to speak (as well as screen echo) a file or standard input. SO cool! Download here

01:01 PM, 31 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Woohoo - tcl 8.4!

Now that I'm on Aolserver 4 I can ise the funky new tcl comparison syntax and other goodness! (see my previous blog here).

Of course none of my live sites are on AS 4 yet - the next challenge is ssl - time to go look at what oacs code needs to chenge to work with the new improved nsopenssl...

12:32 PM, 31 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Developer Weblog

Just what the world needs, you say, another blog...

Well actually in this case it's designed to give most people LESS information to digest (yay!).

I have started a seperate Developer Blog where i will keep "development related posts" seperate (whatever that means).

Gotta love OpenACS - I decided to start a new blog and it took me, oh, 45 seconds!

You will notice a new tab up the top of this page titled "Dev Blog" which will take you to Mark Aufflick's Developer Weblog. Go on, click it. You know you want to! This blog has it's own seperate RSS feed to keep you RSS feeders happy.

02:22 AM, 31 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

OpenACS on MacOS X Panther (10.3)

Similar to Vinod Kurup's excellent instuctions on installing OpenACS on OSX, I like to use fink for my Un*x goodness on OSX. I started using fink way back on 10.0 - I remember the pain upgrading to 10.1 (or was it 10.2), but since I did a fresh install on 10.3 it was a breeze. It is all so much more polished now.

I am loving being back on OSX - all because it looks like I can get a cheap replacement screen for my original G4 PowerBook from a friend (thanks in advance Rutho).

I decided to go with Postgres 7.4.1 (in retrospect the current OpenACS documentation actually tells Panther users to go with 7.4 instead of 7.3 - Malte as always you are one step ahead). Compiling pg 7.4.1 needs the very latest version of bison which is ahead of both apple and fink, so I had to install bison from source.

With all this manual installing going on, I decided to start an /opt tree, So now I have very clear delineation: /opt is stuff compiled by me, /sw is compiled and/or installed by fink - everything else is from Apple or a standard OSX application/package install.

So my standard ./configure command (as used for both bison and Postgresql) is now:

./configure --with-includes=/sw/include --with-libs=/sw/lib --prefix=/opt

Keeps everything nice and tidy :)

Like Vinod, I decided to manually add --enable-threads to both ./configure lines in fink's .info file /sw/fink/10.3/stable/main/ finkinfo/languages/tcltk-8.4.1-2.info for tcl to enable thread support. But instead of sheer laziness (in Vinod's case :P) I actually did it on purpose so that any other fink packages needing tcl (probably plenty) will work ok. Seems like an ok idea to me - but I wouldn't recommend it for anything other than a development machine.

For AolServer 4.0 I used:

./configure --with-tcl=/sw/lib --with-includes=/sw/include --with-libs=/sw/lib --prefix=/opt
so much nicer than the old aolserver 3/ArsDigita configuration files! Note that I have merged everything under /opt - probably better to use the prefix /opt/aolserver .

Note that for some reason, the aolserver sourceforge archive has no tarball for nsrewrite - you have to get it from cvs. Details and other Aolserver 4 installation help is in this OpenACS 5.0 document. Basically, after the above .configure, I did the following to install the required modules:

make install
cd ../nscache
make install
cd ../nsrewrite
make install
cd ../nsoracle
make install
cd ../nspostgres
make install ACS=1 INST=/opt POSTGRES=/opt
cd ../nssha1
make install

I didn't need to edit nssha1.c like Vinod did - the current version only generates a warning which you can ignore.

Ok - AOLServer works now. Time for bed :) GAH - 3:43 am!!

Oops - forgot to install tDom. Unlike in Aolserver 3, we install the tDom library into our system instead of libtdom into the aolserver directory. As per Vinod's instructions, edit the tDOM-0.7.8/unix/CONFIG file by uncommenting the Aolserver 4 section - but modify it to say this instead (again supplying your prefix of choice):

../configure --enable-threads --disable-tdomalloc \
   --prefix=/usr/local/aolserver --with-tcl=/usr/local/lib

Then:

sh CONFIG
make install

If you get "invalid command dom" in your error.log, then aolserver is not finding tdom. Assuming you have installed it, check your LIBRARY_PATH I guess.

01:58 AM, 31 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

Launch of a new Blog

Gotta love OpenACS - I decided to start a new blog to keep my development related posts seperate - and it took me, oh, 45 seconds!

This blog will be where I post "development related" blog entries so that they are easier to find and don't clog up the home page since most people really won't care that I created a new /opt tree on my laptop...

Oh - and so for those of you tracking my blog with RSS, this blog has it's own RSS feed (linked on the right).

01:46 AM, 31 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (2)

Mac OS X Outliners

Having recently re-installed my G4 laptop with Panther, I am setting out to get back my super productive environment (of course having an internal LCD screen that worked might help...)

One big issue is an outliner - the one piece of software that soothes my brain instead of frying it!

I had an ok outliner before, but I can't remember it's name!! It had something to do with strawberry software, and some other name that had trademark issues...

Anyway, while hunting for it I found a few nice bits of software:

    MyMind - outliner and mapper - you can map interesting relationships graphically, and have arbitrary columns, but no concept of a "body" of text per entry...

    Omni Outliner - better than I remember it - this may well be the winner since it fits my outlining paradigm.

Woohoo :D I found my old favourite:
    Shout! My Brain Out - dumb name (due to aformentioned trademark issues), great product. It's been updated more recently than the old version I used to run, and I'm going to have to go license it now that it runs in demo mode, and $USD20 is a bit steep when the incumbant (and slightly more polished) OmniOutliner is $USD29.95
Of course what I really want to do is port the Newton development kit to OS X, but I don't know that the Outliner functionality can be extracted off my MessagePad 2000 into a .pkg :(

04:56 PM, 30 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Innovation

I
nnovation is a highly sought thing. A simple definition of the word from the American Heritage dictionary is:
The act of introducing something new.
A
mong other definitions, Websters Revised Unabridged dictionary gives us this botanical meaning of innovation:
A newly formed shoot, or the annually produced addition to the stems of many mosses.
I
am quite enamoured with this idea—I think that effective innovation in the business community does not always need to be something that has never been done before (otherwise we would all have PhD's)—Instead like the newly formed shoot that comes every spring, we must look for how to produce the same outcome we have always desired (profits, productivity, whatever) with what we have available to us now. What we have available is constantly changing and making effective and innovative use of those things is the main goal.

T
his Harvard Business School mini case study looks at three developing country business and how they innovate with three main ideas:

  • Know your customers' mindsets—intimately
  • Innovate around—rather than through—the technology
  • Scour the globe for good ideas

I
t's quite short, but an interesting read nonetheless.

02:44 AM, 30 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Mars Rover runs out of flash [spaceflightnow.com]

Now I don't feel so bad letting my /var fill up occasionally - the NASA team couldn't contact one of the Mars Rovers for days because their flash memory filled up which made the system constantly reboot. Or something like that.

Also for those of you confused about how to hear a beep in the Marsian atmosphere - I think they mean a network ping...

12:23 PM, 29 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Do You Race? Hell, yeah, I race! [www.hovercarracer.com]

It's never been done before.

Matt Reilly, or Matthew Reilly as he is known in the U.S., Sydney's own best-selling author, is about to publish a full length action novel, on the Internet, for free.

The sharper readers will remember Stephen King doing a similar "world first" - but he tried to charge money for it (a dollar a chapter or something). A quick google search will show that he never finished (or finished publishing) the book - possibly because noone bought it.

I have raved about Matt's writing in my book reviews (like Contest) - they are fast, furious, and leave tradtional action writers for dead when it comes to pleasing a 21st century blockbuster- raised generation of readers.

To quote the release email (which seems inspired by Apple's Superbowl ad invoking 1984-which incidentally is about to have it's 20th birthday):

Welcome to the future of reading.

On 04.04.04, everything you thought you knew about reading is going to change. Because on April 4, one of the biggest novels of 2004 comes out, but this novel...

HOVER CAR RACER is the first full-length 400-page novel by a major international author to be released on the Internet. Which means it will be available for reading on your computer....for free. The story will be released in 8 cliffhanging parts, each part ranging from 25 to 72 pages, so you can read it at your desk at work during lunchtime, or at school during library period, or you can even print it out and read it on the bus-ride home! Any way you want, just like a book!

You can sign up for his email list, where the first episode will be pre-released. From the catchy date of 04.04.04 you will be able to get further installments on the website www.hovercarracer.com. You can sign up to the mailing list at that site or Matt's official homepage MatthewReilly.com.

12:59 AM, 29 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Bible stories - in Lego! [www.thebricktestament.com]

The Brick Testament depicts a number of old and new testament Bible stories with Lego blocks and characters. It rates each story with the NSVC ratings (Nudity, Sexual content, Violence, Cursing)!!

The site is created by The Reverend Brendon Powell Smith, who has his own website with the cool URL of www.thereverend.com - but I'm not sure that he's a genuine reverend, just like Phil Dooley's not a genuine doctor...

02:02 PM, 28 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

McDonalds HotSpots [www.btplc.co.uk]

I'm not referring to the Hot Apple Pies - which haven't had any hot spots since some lamer sued them for burning his mouth.

McDonalds and BT (British Telecom) have teamed up in the UK to launch wireless hotspots in 500 of their restaurants.

If you get drivethrough I guess you would need to read your email real quick ;)

01:24 PM, 28 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

London Olympics 2012 [www.london2012.org]

Well bowl me over with a giant sized ferris wheel - London is bidding for the 2012 Olympics! Let me quote from The Economist London Briefing:

The centre of the games would be an Olympic park built in east London, comprising an 80,000-seat stadium, a velodrome and an aquatic centre (which will be built regardless). Tennis matches would be in Wimbledon; archery in the Lord's cricket ground; swimming, cycling and athletics at the Olympic Park; triathlon and road cycling in Hyde Park; baseball and softball in Regents Park; and beach volleyball at Horse Guards Parade.

Now apart from the idea of beach volleyball in London, that sounds absoulutely amazing. It would be the next "can't miss" Olympics after Sydney 2000. Even Eton gets a lookin with their new rowing course.

It seems a pity to use Lords for archery though - why not hold cricket as a demonstration sport? It would be yet another gold medal for us to win :)

01:13 PM, 28 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Colons; Semi-colons: What's the big deal?

Some academics, it seems, are getting fed up with them. With quotes such as "People have gone hog-wild with colons." - this article reads more like a page out of TheOnion.com than a serious higher education website!

02:56 PM, 15 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Have bullets, will travel

It turns out that a Sudanese man snuck 5 bullets past security at Washington's Dulles airport - a fact that was unnoticed until they were detected at London's Heathrow. (BBC news report here).

Washington airport - who would have thought. Now it's true that five bullets by themselves are not a big deal - even if he had dissasembled them to extract the gunpowder he would have been lucky to set off the smoke detector that is fitted in the toilet because smoking is a safety hazard (that's funny - it wasn't a safety hazard in the 1980s...)

What's a bit scary though, is if there are terrorist groups testing out security methods to find weak points. Maybe this guy could meet up at an airline hub with half a dozen others each with a few pieces of a ceramic pistol...

The Brits were quick to point out that this shows America should be focussing more on ground security and less on ramming sky marshals down everyone's throat. I am inclined to agree - regular sky marshals would mean that there would be at least one gun on every international flight. That concerns me. (more discussion in this article)

In related news, at New York's Kennedy Airport today, an individual later discovered to be a public school teacher was arrested trying to board a flight while in possession of a ruler, a protractor, a setsquare, a slide rule, and a calculator.

At a morning press conference, Attorney general John Ashcroft said he believes the man is a member of the notorious al-gebra movement. He is being charged by the FBI with carrying weapons of math instruction.

"Al-gebra is a fearsome cult," Ashcroft said. "They desire average solutions by means and extremes, and sometimes go off on tangents in a search of absolute value.

How the man managed to obtain a slide rule continues to baffle investigators.

02:26 PM, 15 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

What, exactly, is SCO implicating?

Ok, so we all know about the SCO issue well enough by now. I have commented on it a number of times in these pages. But what I, as well as others, have failed to clearly point out, is the usual Linux is not GNU/Linux thing.

I often get annoyed by people who take their high horse on this, thinking "just let the punters think it's all Linux - it's easier for them to understand that way". But now that ambiguity is helping SCO.

You see the only code SCO is complaining about is in the kernel. And as we know, the kernel is just on (very important) piece of the puzzle. We can, though, run almost exactly the same set of software on a different kernel - like *BSD, GNU's own Hurd (running on the Mach microkernel), Apple's opensource Darwin kernel or even non-free kernels like Solaris.

So there really is no reason for the Opensource / GNU movement to be affected by these lawsuits - even if the unthinkable happened and SCO actually won a point or two.

Thank's to Richard Stallman for pointing this out on ZDnet (gee, if you coudln't trust Richard Stallman to point this out - what could you trust!)

11:35 AM, 15 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

HP licenses Apple's iPod technology

According to this press release from Apple (dated January 8th), HP will release an HP branded product based on the iPod. In addition, all HP laptops and desktops will come pre-loaded with iTunes for Windows.

"We explored a range of alternatives to deliver a great digital music experience and concluded Apple's iPod music player and iTunes music service were the best by far." -- Carly Fiorina, chairman and CEO of HP

Looks like even one of Microsoft's best friends recognises that Apple is lightyears ahead of Microsoft when it comes to personal Audio. Game on!

03:49 PM, 09 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (1)

Linux for Poets [www.linux.com]

Nice interview about using linux by a normal person. Well, by a writer anyway. The writers I know are just as far from the norm as computer programmers - just in very different ways!

The interview covers topics like "is using linux hard". My favourite is the following question/answer (excerpts):

Q: Why do you think so many writers use MS Office instead of OpenOffice?

A: They use it because it comes with their $400 Dell specials. Or because they bring it home from work and copy it. ...if you're going to be a welder, you have to know how to use a torch -- for instance -- but for writers, they seem to think they don't need to know how to use the tools of the trade in order to make a living at it. ...

03:45 PM, 09 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Better Linux Virtual Servers [www.linux-vserver.org]

Linux-VServer takes a different approach to running virual servers than most arrangements - a kernel patch to the host system gives it the concept of "contexts" which is the heart of Linux-VServer.

Essentially, every virtual vserver shares the same kernel as the host system, although they are all full isolated and protected form each other. This means it's no use for testing new kernels (which is on of the main aims of User-Mode linux), but is more efficient for production servers that most of us run.

It makes sense that it's more efficient than User-Mode Linux, and I would guess that it should be faster than VMware as well. (Incidentally I love VMware, and use it on production servers).

Thanks to Guan for the link.

11:07 AM, 08 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (3)

When more can be too much

This article proves by construction that sendmail rewriting rules are Turing-complete.

So THAT's why I hate sendmail configuration! In my mind there are two ways to do configuration files:

  • for simple cases, a .ini type with named groups of name/value pairs (although the .ini format itself sucks)
  • otherwise, use a well know, simple to embed, structured language. The way aolserver uses tcl in it's configuration file is a good example of this (example).

01:51 PM, 07 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

Friendly worms

I was just reading about the latest worm that installs a rogue SETI@home client, and it occurred to me that worms could do good as well as harm. I know that it would upset a lot of people, and possibly cause some damage of it's own, but imagine a windows worm that installed the microsoft patch to pluc the specific vulnerability that it exploited. Microsoft could release such a worm every time a vulnerability was discovered.

This would of course only be useful for exploits that allow code to be executed or files to be installed.

People who know me know that I intensly dislike most Microsoft implementations of technology, but I think it is instructive to how we operate as people that if this technology came from, say, the IBM research labs, it would get positive page 2 or 3 IT press reports. If, however, it came from Microsoft, it would get page 1 negative reports - but be implemented anyway.

11:57 AM, 07 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

New Search Engine Technology

Just when it looked like Google had attained an unchallanged monopoly on web searching ideas, a raft of new concepts are garnering press coverage. I like google, I really do. I used it almost exclusively even before it was cool, and when the geeks choice of search engine was still AltaVista (Alta who? I still remember having to go to altavisita.digital.com, but then I'm getting on in my years ;).

My theory is that it is the rise of blogging, rather than spam-like pornographic sites, that are ruining the results from conventional search sites. For example, my referrer logs show that some time this month, a poor hapless internet searcher was searching for "(law and rss )and( not commercial)" which hits my blog entry SCO vs. the World. So this web surfer has gone to roughly 300% more effort than the average person while constructing his or her search string and still they get a less than useful result. I hope they enjoyed my site though!

Not that long ago, you wouldn't have called Google a "conventional search engine" with it's innovative page rank technology, but times move fast, and I guess eventually the pigeons just can't keep up.

I have been playing with vivisimo.com a bit which, basically, automatically categorizes the search results into browseable groups of results. Not so exciting, except that the categories themselves are generated from the content of the search results themselves. I am a bit ambivilent about the results so far, I suspect their results would be better if they used google as the underlying index instead of Yahoo, MSN and others.

A different approach is to improve the way you interact with the search results. This is the approach taken by Grokker. Grokker clusters the results, possibly in a similar way to vivisimo but I'm not entirely sure, and then lets you kindof "fly through" the results. It appears to borrow a lot of ideas from Apple's Project X (using their experimental Meta Content Format known as Hot Sauce), which was a new idea in, oh, 1996. Like Project X, it's a nice idea, but I don't see it being a big hit.

A similar concept is behind www.kartoo.com, but instead of downloading an application, it runs in your browser which is more convenient, and instantly gives it 100 times more chance of surviving. It took me a little while to get used to it, but I quite like it.

Stay tuned for more reports.

06:18 PM, 06 Jan 2004 by Mark Aufflick Permalink | Short Link | Comments (0)

XML

Blog Categories

software (39)
..cocoa (21)
  ..heads up 'tunes (5)
..ruby (6)
..lisp (3)
..perl (4)
..openacs (1)
mac (20)
embedded (2)
..microprocessor (2)
  ..avr (1)
electronics (3)
design (1)
photography (25)
..black and white (6)
..A day in Sydney (18)
..The Daily Shoot (6)
food (2)
Book Review (2)

Notifications

Icon of Envelope Request notifications

Syndication Feed

XML

Recent Comments

  1. Unregistered Visitor: An other Script
  2. Unregistered Visitor: A message in there?
  3. Unregistered Visitor: using Amazon S3
  4. Unregistered Visitor: Thank you ! Thank you ! Thank you !
  5. Unregistered Visitor: Umbrello on leopard
  6. Unregistered Visitor: Script gor generate for library
  7. Unregistered Visitor: Similar but different
  8. Unregistered Visitor: Thanks for fixing my problem!
  9. Unregistered Visitor: Pop up once the category is been defined
  10. Unregistered Visitor: smal amendment