fogbound.net




Wed, 7 Sep 2005

Build PHP 5.0.5 for Mac OS X 10.4

— SjG @ 8:39 pm

I’m trying to track down a bug in my CMS Made Simple PHP code where I did something stupid with references (a rant on the PHP pass-by-value model available upon request). So it only manifests with PHP 4.4.x or PHP 5.0.5, since that’s where they finally decided to get strict with us idiot slackers. Neither of these are available as binary packages on Mac OS 10.4.

I was dismayed, shocked, stunned, dazed, and confused to learn that PHP was no longer a package for Fink. Dammit! Now I have to figure it out for myself. Crap.

With the help of a variety of pages out there on the web (especially this one), I was able to do it. Here’s how:

Install Fink, if you haven’t already. I use the “unstable” packages. Read the FAQ, and muck around with it for a while until you feel ready to proceed.

Install a wholehellovalotta packages using Fink:

  • libjpeg
  • libtiff
  • libpng
  • libxml2

I also installed the Fink version of MySQL server 4.1, client, and a bunch of shared libraries.

Next, gotta build ZLib:
curl -O ftp://ftp.simplesystems.org/pub/libpng/png/src/zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/sw
make
(su if necessary)
make install

(I did my install work in /sw/src, but you could do it somewhere else if it pleases you more. Just take note of this other location when you need it later.)

Finally, we get PHP 5 .0.5 from http://us2.php.net/get/php-5.0.5.tar.gz/from/a/mirror

tar xzvf php-5.0.5.tar.gz
cd php-5.0.5
./configure --with-libjpeg=/sw --with-libtiff=/sw --with-libpng=/sw \
--with-gd --with-mysql=/sw --with-xml --with-apxs --with-exif \
--with-jpeg-dir=/sw --enable-exif --with-png-dir=/sw --with-zlib-dir=/sw \
--enable-embedded-mysqli
make
(su if necessary)
make install

Now, I already had a version of PHP installed before this, provided by Marc Liyanage’s excellent binary packages available at his page, so I didn’t need to tweak my php.ini file. If you do, you’d probably do something like:

cp /sw/src/php-5.0.5/php.ini-recommended /usr/local/lib/php.ini

and then edit into submission. You can also use the more general php.ini-dist instead of php.ini-recommended. I don’t know why they provide both — probably to confuse idiots like me. You’ll also need to register the PHP Mime Type with Apache. Edit your /etc/httpd/httpd.conf file, and add either to the general area or to a specific virtual host the line:

AddType application/x-httpd-php .php

Now test it! Create a test file in your web root containing:

<php phpinfo();>

and browse on over to it. With any luck, you’ll be greeted with ahappy PHP 5.0.5 banner.
Celebrate this with red wine. Preferably good red wine. Then get back to coding. As should be obvious, I decided to document instead of code, but I didn’t skip that vital red wine step.

Enjoy!


Powerbook HD Upgrade

— SjG @ 2:09 pm

Since I have this unreasonable need to keep all of my digital photos on the Powerbook, I’m running out of disk space. Gee, you’d think 60GB would be enough for just about anything. But with 30GB of graphics files (21GB of which is just photographs), space gets used up quickly.

The eventual plan is to use iView MediaPro2 for keeping the pictures organized, Photoshop for manipulating them in any way necessary, and come up with some bridge to Gallery2 for publishing collections on the web. We’ll see.

In any case, the problem arises of disks. The one I’m currently considering is the Seagate Momentus 5400.2. I like that Seagate still has a five year warranty. The drive’s 100GB, which would give me another 40GB. That’s about 15 overseas trips worth of pictures, or, if I’m lucky, enough to tide me over until I get my Super New Intel Mac Notebook with its 250GB hard drive in Spring of ’07.

Update: Somehow, I’d missed the ST9120821A. That’s 120GB! Wheeeeee!


God is Good but Nature is Cruel

— SjG @ 1:41 pm

So the garden is practically seething with big spiders these days. There are orb webs spanning the gaps between branches or arcing across the front entry-way or even from the hedge to any car foolish enough to sit still for a few hours. Most of these orbs are homes to furry spiders, others have sullen-looking yellow-brown fellows. Trapdoor spiders are in and about the squash vines all around the front yard. Compact little jumping spiders that remind me of Isuzu trucks seem to prefer the sunny area in back where the nasturtiums flourished. The echinacea are a-lurking with yellow or white crab spiders. It’s a hard job being a gnat.

But even the spiders don’t have it so good. The other day, I saw a large mud-wasp carrying the paralyzed body of one of the yellow-brown spiders. Supposedly, they lay eggs in the paralyzed spider, so when the young hatch, they have something fresh to eat. Hey, these guys all play rough — spiders, wasps, they’re all packing chemical weapons.

On my walk in to work this morning, I saw a red-tailed hawk sitting in a deodar tree. The neighborhood seems kind of urban for hawks, but they do show up occasionally. As I walked, it exploded down on a group of mourning doves, which frantically scattered in all directions. They all shot behind a house, and I didn’t see the outcome. So either a bird died suddenly, or a bird went hungry.


Tue, 9 Aug 2005

Cool Mac OS Programs

— SjG @ 12:53 pm

Here are three really nice programs I’ve found (or rather, people have pointed out to me) for the Powerbook lately:

iScroll2: Two-Finger-Scrolling with pre-2005 PowerBooks and iBooks at RazzFazz’ Homepage. This is particularly nice, since it is highly configurable: vertical scrolling, horizontal scrolling, circular scrolling (i.e., iPod wheel scrolling), and even tap-to-click mappings. It seems to be a really well done piece of code.

MyBattery coconutBattery at coconut-flavour.com. This is more than just a battery monitor, since it gives some “absolute” information, such as original maximum battery capacity (in milliamp-hours) and current battery level, capacity, charge cycles, and estimated runtime. We all know deep down that our batteries are slowly decreasing in their capacity as they age. This gives a tangible figure for that degradation.

Desktop Manager. I first encountered a virtual screen program like this under HP/UX, and have used similar programs under Irix, Linux, and Windows. This is a particularly nice one, at least in terms of eye candy. Seems stable, and is great for a machine that’s used for development, web surfing, image editing, etc. to keep each activity kinda separate.


Mon, 1 Aug 2005

Pattern Recognition

— SjG @ 2:18 pm

William Gibson, 2003, Berkeley Books

William Gibson is one of the more important creators of the Cyberpunk movement, so it’s easy to take for granted that his work will be imaginative and original. What’s not so obvious, however, is that Gibson is a truly great observer, and very gifted writer.

Gibson’s sense of place is one of the more delightful aspects of his writing. I don’t know whether he’s actually been to the locations he describes, but his descriptions capture something deep about the feelings of the places. There’s an almost emotional connection. While reading Pattern Recognition, I couldn’t help but think of the awful descriptions inflicted upon us by Dan Brown, for example, that sound like a bored tour guide repeating facts and figures. In comparison, Gibson’s places feel familiar and real. While we may not know how many football-fields long the Blue Ant headquarters is, but we feel the size. We may not know the square footage of Damien’s apartment, but we’d recognize a picture of it. And we could almost paint a picture of Hobbs’ “gypsy” caravan.

Gibson is also a master of the brilliant throw-away description. Pattern Recognition is filled with simple observations that are unrelated to the story itself, but which create the fabric of the world and make it very real. The description of the tabloid that Cayce picks up in a train station stands out, but there are many, many others.

Plotwise, Pattern Recognition doesn’t break extraordinary new ground. It’s interesting, but the journey is a greater pleasure than the destination.

Filed in: