Hello again everyone!

The YAGHR FAQ list

So what exactly IS going on?

Ho hum, another day another service provider. It dawned on me today that my users.ox.ac.uk account would be deleted over the Summer of 2004 [it wasn't, ironically - I still have a Wadham College, Oxford account], so I've got myself a nice hefty quota from sdf-eu and they are hosting this site now, on their OpenBSD/Alpha machines. Which makes this image look a little, well, out of place.

Welcome back to my homepage, now cunningly entitled YAGHR. Again this is just a quick-and-dirty version of the homepage while I write a decent page (i.e. a reasonably consistent CSS, natch) so look out for a few changes in the nearish future. On the brighter side, at least you get to choose how the site is viewed. Not many sites allow you to decide what fonts and colours to render their sites in; even less look good in Lynx. Also, this site is perfectly usable from a Braille reader, from what I can gather.

Is there anything useful on this site?

The virtual hostname might make you think that this is at least partially NeXT-related, non? Well, oui, un petit peu. But not especially so, not just yet. I haven't had time for all that stuff. Hopefully updatage shall ensue shortly. There already exist a number of better sites, next.z80.org being one example. I'd recommend having a look. Somewhere below exists the port I did of Darwin passwd to NeXTSTEP, which is fine only utterly pointless. Just goes to show what can happen when a hacker can't get any sleep :-)

While we're on the subject of Darwin, I observed that for what I want to do, the client-server mechanism of iTunes is the wrong way around. To whit, what I want to be able to do is to control a remote iTunes locally, not listen to remote iTunes on my local computer. I knocked up a quick-n-dirty shell script called shTunes to allow me to control iTunes over an ssh connection. It works using OSA.

Speaking of Darwin, a fledgling adduser utility which actually works on any UNIX, but I mention Darwin because I'm adding some NetInfo goodness soon. Hopefully it will work on NeXTSTEP too. Should be pretty clear how it works from the source, but please install all binaries as owned by root with permissions 500 so you don't get r00ted ;-).

My setup at work has multiple platforms, such as Darwin, Solaris and NeXTSTEP. To allow me multiple versions of the same executable, I use the following lines in a bash profile:


Works, except that there's no uname on NeXTSTEP. Well, there is now...just download uname.c and compile with 'cc -posix uname.c'.

Something else I required when migrating from NeXTSTEP to OS X Server was the ability to chuck user data currently stored in NetInfo into the Directory Services. How I did so is explained here.

Some brief notes about a conversion of some code I had originally written in C, into Objective-C. It's no great shakes but it does show the mappings between the C functions and the Objective-C methods. Hopefully it's useful to someone.

Disability Discrimination Act

A law which came into force in October 2003 made it illegal for businesses and public institutions to target their web sites toward particular technologies that could exclude people without access to those technologies from viewing their site. This is so that people who use large-text displays, Braille readers or even slow internet connections are able to access the information contained in these sites. Here the organisations that fail to deliver such sites are named, so that you know who not to bank with / watch movies from / etc.

Anything else?

gle-mode for Emacs

Well for the first time in the history of anything at all, there is! First up is gle-mode, a major mode for GNU Emacs used in editing GLE scripts. This file is copyrighted University of Oxford under the terms of the GNU Public License, and has been posted to gnu.emacs.sources. Work is still in progress on it, so watch this space for more news!

Hackintosh Macs

OK, this has just gone wildly out of chronological order. I was playing with an Apple Mac today and noticed some cool things that could be done with it. Hope that you can find a use for them, because I blessed well couldn't :-)

Grind - Graham's replacement for find

The UNIX find(1) utility is horrendous, and very conspicuous in its non-UNIXness. I present grind, a UNIXish replacement.

Slideshow Bob

Then we've got SlideShow Bob, a.k.a. Powerpoint for HTML. It's a little restricted in what it can do (right now...) but still comes in pretty useful.

Lord of the Pings

There's also The Lord of the Pings, a work-in-progress epic tale of daring courage in the face of the evil lord, the one known as "Gates".

Programming Languages

A new addition is the tutorial I wrote for alt.2600.hackers on which programming languages are suited to what tasks. Comments, suggestions, improvements etc. are always welcome on this.

Debian Linux on crappy PCs

There ought to be a file here somewhere that shows you how to install Linux on a really low spec PC.

Terminfo for Cambridge Z88

Another current work-in-progress of mine is a terminfo entry for (SysV) Unix to use a Cambridge Z88 on a serial port/modem. As the source reveals, it's heavily based on the entry for the DEC VT52, which the Z88 is supposed to emulate. But where the VT52 has 24 lines, the Z88 has 8. Other changes due shortly.

GIFT - Graphical Interactive Fourier Transforms

Recently completed (this bit was written in August 2003), GIFT is a project written for the University of Oxford Physics practical course. It is written for UNIX or Linux systems running X11 with a Motif implementation, and provides an interactive demonstration of the applications of Fourier Transform mathematics.

Quantum well simulator

I don't know whether or not this will be of any use to anyone, but thought I'd post it anyway. It does numerical solutions for the 'particle in a finite well' problem. People doing the Condensed Matter Physics option here may wish to check for bugs before using it, and TRY AND DO THE PROBLEM YOURSELF YOU LAZY WOSSNAMES!

Geeking through the ages

Although I have no intention at all of going back to the glory days of the telegraph operators, G33|<ing through the ages lets all those young scriptkiddies - and the grown-up geeks who think that the earliest computers ran Windows 3.11 for Workgroups - find out what life was like for me as a four-year-old computer programmer.

DNS resolution over IRC - hostbot

If you like this sort of thing, then have a look at hostbot.py. This is an IRC bot that can give out DNS results; it comes in useful if some of the people in a channel have to deal with dodgy DNS servers they can just do '!host www.donkeypr0n.com' or whatever. Anyway, the source kindof explains how it works.

Darwin passwd utility for NeXTSTEP

I got bored last night (2003-11-30/2003-12-01) and ported the Panther (i.e. OS X.3, or Darwin 7.0) passwd utility to NeXTSTEP 3.3. In accordance with the Apple Public Source Licence I provide the modified code so that you may use it yourself, should that be desirable. Note that not only did I disable DirectoryServices on the NS3.3 port (because they don't exist on NS3.3), but also NIS/YP (because I couldn't be bothered to deal with it ;->).

Advsh - the Adventure Shell

Some UNIX hackers may remember the advsh, a shell-script by John "UNIX God" Coker. I present a C language version of the same program, suitable for use as a login shell (should you want to confuse some PFY).

Retro computing!

I've been writing a little software for the Speccy of late, and thought I might share it with you, my adoring pubic^Wpublic. Take a butcher's hook at what's on offer. BTW I wrote some stuff for the Dragon32 a while back, which is located here.

Finally, I thought I'd share this with you.

I took the "Which OS are you?" quiz and I think my answer was quite appropriate.

Which OS are you?
Which OS are You?