June 03, 2005
Lispworks 4.4.5 Personal Edition
Xanalys announced the release of the personal edition of LispWorks 4.4.5 (the non-pesonal edition was released on April 15).
Version 4.4.5's release notes mention lost of fixes and new features. In particular, OS X got a lot of attention, with a new Objective C interface that lets one implement Obj C classes in Lisp and use NIB files, and support for OS X 10.4 (Tiger).
One of the items listed under Known Problems is indeed troubling (though a workaround is identified):
The license serial number and key have to be entered again on the command
line if the machine's hostname changes. Some Macintosh machines change
hostname when disconnected in the Internet which is the most frequent cause
of this problem.
This just isn't 1990; These days unix machines change hostnames and IP addresses all the time.*
* Though the primary means by which this happens in contemporary times might be by switching between wireless access points, and linux sure doesn't do much to make that easier. Where's the bounty for this most common, mundane and helpful of tasks?
Posted by jjwiseman at June 03, 2005 07:39 AM
I can see that a machine might change its IP address "all the time", as you put it, but why would or should this change its hostname? My machine's hostname is "arthur" and has been ever since I got it, through innumerable IP addresses, kernel versions, and one or two motherboard and hard drive upgrades. I run Debian GNU/Linux -- are Macs that much different? Are their hostnames tied to their IP addresses? Obviously that wouldn't work in the face of multiple network cards -- what am I missing?
In case you don't know: some WLAN networks with DHCP change your hostname.
Well, my Mac picks up its hostname when it gets a new DHCP address (whether it's doing a reverse lookup on the new address or using a hostname the server passed, I do not know). And I see references to this happening in some Linux distributions, too.
Maybe I'm missing something, but what is the value of having an unchanging hostname that either doesn't resolve to anything, resolves to 127.0.0.1, or resolves to the IP some interface happens to have at the moment? And what is the value of that hostname not being "localhost"?
On Linux, you can configure the dhcp client to change your hostname or not (by default it changes your hostname).
If you configure it not to change you will just continue with the initial hostname you set up, if you let it change, it will change it to what de dhcp server tells it to (as well as the default gateway and nameservers, all this are assigned thru dhcp but on the Linux client, you can choose what you let the server overwrite and you don't let it overwrite).
I bet there's a similar configuration for the Mac dhcp client, but probably most users didn't care to change it, so even if it's possible, the initial problem remains.
(And maybe then, the initial problem is inserting serials at all, I'm sorry, Long Live Free Software!).
Now there's an image! I'll be pasting that into a few bug reports. thanks.
Heh, I read that stuff growing up... Learnt to read and write Cantonese from it too. Those were the days...
MacOS X: System Prefs / Sharing is where you can set your hostname. Since I set mine, I can't remember how it gets its default, but it wouldn't surprise me to know it came from DHCP at some stage. Somehow Macs seem to like using `.local' as a domain-name too.
DHCP can emit hostnames, indeed, although I guess we can blame it on clueless disinterest in people knowing they can fix the hostname for future reference.
Big hints as to why you wouldn't want hostname set to `localhost' btw: sendmail defaults taking `hostname` output, looking it up in /etc/hosts, finding the *canonical* name, and sending that in outgoing EHLO statements. Used to be a canonical whinge: "RedHat put my hostname on the 127.0.0.1 line in /etc/hosts, now upstream servers are rejecting my mail!". So settle on a hostname, leave it set, and either list it in /etc/hosts separately if it's permanent, or not at all and rely on local DNS, otherwise.
The .local comes from multicast DNS, which is part of ZeroConf. It's handy if you have a local DHCP network and don't feel like setting up hosts tables everywhere.
My name should be linked to a short post on setting up mDNS under Linux, so you can use these .local names for automatic DNS on a local network between OS X and Linux. Under Windows, Apple has their own implementation called Bonjour for Windows which you can find via google.