August 31, 2005
I've been getting on fairly well with Roadkill, my nice new Powerbook, but it's been a bit of a learning curve. The pretty Mac front end stuff is a piece of cake on the whole, with one major exception - undo, cut, copy and paste are Apple-z, x, c, and v respectivly, instead of Ctrl-z, x, c, and v as they are on Windows. I've been using those shortcuts for so long now that they are embedded in muscle memory. I've hit the wrong shortcut before my brain (such as it is) has had a chance to overrule them. Getting over that is going to take a while.
Getting some of the command line driven stuff - Ant, Subversion and Tomcat - working was a bit more of a challenge. Easy once you know how, but you keep being tripped up by things that I didn't know about.
I had installed Java 1.5, but the installer didn't tell me where it had been put, so I had to go and look for it. I found it in
/System/Library/Frameworks/JavaVM.framework/Versions/1.5/ in the end.
There was already a version of Ant installed in
/Developer/Java/Ant, probably as part of the XCode tools install, but it was the wrong version, and in any case I wasn't able to add 3rd party tasks to it, so I needed to use my own version.
Both of these problems involved setting environment variables, and I gather that it's recommended that you don't muck about with global environment variables, so I set up some shell scripts to start and stop tomcat and to run ant scripts with the environment variables set correctly. I was even smart enough to put the shebang line at the top (though finding the bloody '#' key took a while) and to mark them as executable wwith
chmod. But I still couldn't run the bloody scripts. The shell was claiming that tey wen't there, though I could see them with
It turns out that your current working directory isn't on your path by default. Arrrgh! That one took me hours, literally. Prefixing the script names with
./ does the trick there.
I still can't resolve any of the other boxes on my network by name, only by IP address. Irritating, but no show stopper. I can always add them to
/etc/hosts, but for the moment I'm just using the IP addresses.
Still, I managed to get past all that, and my current web application is building and running on Roadkill happily enough now, after fixing a couple of minor Windows-isms in our build file. ;-)
Next on my list; installing PostgreSQL, and getting my app to work with it, and working out this whole multiple Python versions on one machine thing, and working out where the insert and delete keys are...
One other thing - what do you, uh, we Mac users use to read Usenet? Entourage seems to have trouble getting at Gmane - this fix, uh, doesn't.
Posted to Mac by Simon Brunning at August 31, 2005 01:52 PM
I got past the ctrl/apple mix up after some time, but still struggling with apple-q quiting and apple-w closing windows, I'm forever shutting down my IM client instead of closing a window! arg!
Get Fink and FinkCommander. FinkCommander is a good graphical package manager like you'd see on the Linuxes, but since it's Mac (just one OS/architecture), you can just dowload and install binaries instead of source and compiling.
You probably already know about it, but Bob Ippolito's site, http://undefined.org/python/, is a great resource for Python on Macs. He has binaries for Python 2.4 (currently, OS X ships with 2.3) and a bunch of modules ready to go.
Welcome to the Mac.
I've got fink - now I just need to figure out how to use it. It asks for a password, and it doesn't accept my Administrator user's password there. I think it might need a root password - but I haven't set one.
It was Bob's package that I installed - but the new Python version isn't being used by anything except the IDE, and any packages I install go under the old 2.3 version of Python that came with the OS.
Couple of other things...
I mentioned FinkCommander because it's how I got the latest PostgresQL. Just dl'ed and installed the binary.
I have an iBook, so this may not apply to you. Several keys are mapped to two functions with a 'fn' key, for example up/page up. On the iBook, del is like backspace, fn+del is like the in-place delete.
Good luck with the Usenet reader. I used Forte Agent on windows. I tried just about every Mac newsreader I could find; my final solution is to fire up the windows machine and use Agent when I want to read Usenet. The closest thing I could find on the Mac was to get the X11-based pine, using Fink to get gtk, pine, etc. etc.
Unison is nice, though pricey. I use Pan under X11 for reading news. You can get it with fink. Just run "fink install pan".
If you go into the keyboard preferences, you can remap Quit for all apps to something less dangerous, like Shift-Ctrl-Apple-Q. You can't remap the cut, copy, paste keys, but you get used to it.
You definitely shouldn't have your working directory on your path, because of the old "name a vicious script 'ls' and stick it in this directory" trick.
At the very least, put it at the end of your path.
On the topic of Fink, there's also Darwinports which does a similar thing. Both tend to mess about with your directory structure a bit (mostly installing things in there own top level directories) and there are at least 3 sides in the Holy War over which is the One True Way (Fink, Darwinports, or Roll Your Own). Darwinports has v8.0rc2 and a Google search found at least one pkg installer that someone has built and put out for download.
Re Usenet: "MT Newswatcher" has been around forever, and still works very well under OSX. It's free.
I didn't know you were so new to this whole Unix thing Simon, welcome to the wonderful world of the shell.
As to running multiple versions of Python, I tend to avoid 'installing' modules as such. If they are pure Python then I put the source in my working directory and then make sure it's on the Python path. That way I only need one copy of, for instance, SQLObject or PythonCard on my machine but it can be imported by any of the Python versions I have installed.
Of course if there are binary components (and here I'm squinting firmly in the direction of MySQL-Python) then it's pretty much an install per Python version.
I've been a Linux user for years and have been considering making "The Switch", and wondering how much of a change it would be. I can't believe how many of the things that tripped you up are things that would trip up newbie Linux users, as well. Particularly in relation to scripts and such (took me a while to get used to ./ not being in the path, but it does make sense).
Dare I ask? Yes, I dare. Why have you called your computer Roadkill?
TriSystems' notebooks are called road-something; Roadwarrior, Roadrunner, that kind of thing. (Computers need names so that they can easily be found on the network.) I just thought that Roadkill was funny. Ish.
For a given value of funny?
For a *small* value of funny, naturally.