In progress on my work for a client, I am installing Apache & Joomla today on my own test box. I want to see how easy it is. I want to have "walked the walk" for them, so that their own installation can go easy, and so that I can do this myself for other clients.
In fact, I installed Joomla last night on my test box. That was really darn quick. But then realized I had forgotten to install a web server. Talk about scatter-brained?
So today I'm getting straightened out.
In the past, I worked with fantastic systems administrators, including some of the best Unix SysAdmins you'd ever hope to meet. John Stewart, Mike Fuller, and all the folks in Advanced Customer Systems at Cisco Systems, Inc. John is that smiling guy in the right-hand of the photograph. Also the folks in the rest of Cisco IT and Engineering Computing Services (ECS). Back in my heyday there. Wow. I was standing amongst the giants.
I still run into them now and then. I am humbled when I realize I don't know a hundredth of the specialized knowledge they know about how to really make a box shine. Then I realize why I have always liked a Macintosh — because it did not force me to know everything about how a computer worked to get some utility value out of it. And I always liked Unix and Linux because once you got under the hood, you could monkey with just about anything, including kernel patching. That sort of flexibility allows you to make Ford Tauruses, Toyota Corollas, Saturn Station wagons, sporty VW rag-tops or custom-built crazy cars.
So is it any wonder that I use a Macintosh today, even now, in the year 2006? It is the Mac, for my artist/writer creative head, and it is Unix for my technogeek head.
SysAdmins need your love. I would often hang around and bring them cokes. Listen to how they did their jobs. The "High Priesthood of Computing" I'd call them. To whom we all bowed when the really big miracles needed to be performed.
John Stewart left for Digital Island. He looks darned handsome in this 1998 photo, don't you agree? If you want to know some of my own history, you can read John's views. I worked beside him and we often high-fived or shook hands or did a freaking victory dance when we got something nailed. He was a hero to me, and I always admired his style.
So today, for John Stewart, I work!
I am downloading Apache httpd-2.0.50-powerpc-apple-darwin7.4.0.tar.gz. Oh yeah! I can smell and hear the bits flying off the DSL connection. The download is from a slow mirror site, so it'll be a few minutes.
After revising some of the above, there we go! It's decompressing. Gotta love it. Hrm... A new update of Stuffit Expander. I'll have to take care of that later. For now... Apache is installed!
Err... Now, reading the httpd Project home page in search of documentation, it seems I downloaded the old revision. Apache HTTP Server 2.2.0 Released. The article's not dated. When did this come out? Hrmf. That shows me for skipping "Step Zero."
Moral of the story? Read The Fine Manual (RTFM).
Not a problem, though. Back to download. The first time I downloaded, I selected "Playboy" mirror on a lark. I thought it was humorous that the grand old bastion of porn was hosting Apache. What would my Aunt think? Anyway, I think it's better to chew up their bandwidth downloading Apache instead. Perhaps, in a way, Apache and the Internet is a bit related to porn. It's "instant gratification of knowledge." Hrm. At least they did not charge me for the download. Curious.
But the download was slow. It took minutes. This time, I chose "Seekmeup.Studio." They profess "Superior Creativity." Hey! Now that is far better. My aunt, who is a Dominican Nun, would approve of that. Trust in a superior creator is right in line with the best of teachings.
So let's download the latest and greatest Apache from there instead. Wow! That was fast. Like, two seconds. Alright. Next lesson? There is less resistance in the universe when getting something from Superior Creativity than the best of porn kings.
Alright. So I got this far in the documentation:
$ ./configure --prefix=PREFIX
I get the error:
configure: error: no acceptable C compiler found in $PATH
Well, um... Hrm. (Peeks under the hood. Sees no engine.) There should be some C compiler in Mac OS X, yes? Whazzup with that?
I might also need to install perl, and php. So do a "which perl", right? Right.
I have perl in usr/bin/perl, and php too.
So what's going on with my C?
Gah! I have no GCC! Where's my GCC for Mac OS X? You'd have thunk they would have given you that, and GDB (the GNU Debugger) before installing perl, ya think?
For those of you not familiar with programming. GNU's C Compiler (GCC) is what Real Software Engineers™ use when they crank code. With my own eyes I watched them do it. It's fun!
Now it's my turn.
Apparently there's a toolkit for Mac OS X, called, Xcode 2.2, which includes GCC. You know, Steve Jobs, you could have saved me fair bit of time here.
Could you just have Apache installed along with Xcode (and thus, GCC) for OS X 10.5? It's not like you wouldn't have people doing a victory dance in the streets of Cupertino if you did so.
Pile it all in! It's free! You have the hard disk space for it.
Yes, install it, but just do not configure it or enable it without the user/sysadmin's permission. That would be sweet. Or have it as a stored-away package that someone could one-click to install.
Anyway, now I am registering for the Apple Developer Connection (ADC) to get access to the tools. Registration is free, and I am using the same account I have there for my peeking at their job postings.
You might not know this, but when I first came to California, I read the Macintosh Way on the flight over. I was so impressed that I found Guy Kawasaki and shook his hand. It was a great book, and it led me to earn a million dollars. Of course, I have to credit "The Cisco Way" for the real money I made out here. John Chambers was a heck of a boss' boss to work for.
And now I am here downloading GCC in great thanks to the Macintosh and to the great engineers at Cisco who inspired me. And all the programmers I have known since my days at Beach Channel High School (where I did my first punch-card program, which I had almost forgotten about) and Carnegie-Mellon University, where I learned Pascal and noodled with Unix and Macs for the first time.
So, back to the ADC. You might want to read the Terms and Conditions (PDF). Rather curious to actually read through as a contract.
Relationship with Apple. Use of Apple Trademarks, Logos, etc. Transfer Of Membership Benefits And Materials. Apple ID And Password. No Warranty. (Of course. I'll need to do my own debugging and troubleshooting. Self-service. Gotcha.) Confidential Information. Apple Pre-Release Software. (Oo! Nice.. Hrm... And dangerous too!) Third-Party Software & Information. (Right. GCC is from the GNU folks, not from Apple.) Free as in Freedom! It's amazing how I'll be using free software the day after I marched for freedom. I suppose I should have been wearing a GNU logo while I was up there. Most people would not have gotten the reference.
Six Dwarves and Weapons of Mass Destruction
Export. Hrm. I know about this one, but the list has changed. "Cuba, Iran, Libya, North Korea, Sudan, or Syria" are the "six dwarves" now. Which means that I'd not be allowed to take my install box to those countries, and that downloads would be prohibited to those nations. Or, if I wanted to, I'd need to get a special permission from the US government to do so.
Which means the US government is keeping Apple from helping those nations build up their programming savvy. There you have it.
Also under "export" is a curious term: "You also agree that you will not use these products for any purposes where prohibited by United States law, including, without limitation, the development, design, manufacture or production of nuclear, missile, chemical or biological weapons."
Huzzah! Readily agreed! I closest I ever come to that is in simulation games, such as NationStates. My country of Listeneisse (which I had almost forgotten about until reminded by my friend yesterday to check in on it) is the Grail Kingdom.
Would the Grail Kingdom ever need nuclear weapons if it was being invaded? Or can it rely upon spiritual defenses to save it from wrack and ruin at the hands of jealous and spiteful agents of darkness? Hrm. Well, if they can depend on faith in God, I suppose I can too.
So there! Yes, with a clear conscience, I can say that I will not work on Nuclear, Biological or Chemical weapons with my Macintosh. I might simulate "bad guys" in roleplaying games where the bad guys use nukes (or even good guys trying to fend off bad guys), but no real nukes. I'm a lousy scientist anyway.
It's a deal!
The Quick Brown Fox Jumped Over the Lazy Dog
Terms. Right. This is an agreement which is unilateral. Apple is granting me rights to cool stuff, so long as I play by their rules. Which they can change at a moment's notice. I'll just have to be a less-than-utterly-lazy dog that goes "Woof!" watching as they can quickly jump all over me.
Apple Independent Development. Gotcha. I might develop something using these tools, and Apple might want to use it. Unless I protect myself through Intellectual Property mechanisms, they can and will run with whatever I give them. Some things I'd be alright with. The Bits want to be Free!
Other stuff I might need to protect, so that I can pay my bills and so that I can keep an idea perfected and not see it dissolve by the dissection of nay-sayers. I've already filed a bunch of patented developments, but those ideas are owned by Cisco. It's been years since we've gone anywhere with them, but I am grateful to Cisco and the lawyers they could afford for me to have four numbers at the Patent and Trademark Office with my name attached to them. The ideas are actually owned by Cisco. That's fine with me. They are a powerhouse that can hopefully take them somewhere.
Meanwhile, Steve Jobs also wants my good ideas. Steve. Let's have lunch. I'd be glad to share some of the ideas I got. Otherwise, I'll put a small copyright statement in my code if I ever post it back to the ADC site.
Hardware Purchase Terms And Conditions. I'd love a discount. I've paid retail on enough Macs in my day. My first was a Mac Plus. That was stolen when I lived in Astoria, Queens. I came home one day, and it was missing. They had also tromped all over the game "World In Flames" laid out on the floor. I cried and picked up the pieces. It was so ironic. A world in flames. Whoever stole my Macintosh would poetically end up in Hell. Eternal flames for the sin of avarice and crime of theft. I cried and picked up the pieces of my game, and kissed my Mac Plus goodbye.
My next Mac was my Macintosh II. I got that when I was working at Chase Manhattan Bank, and did a deal for it at a steep discount with my elder sister for it. I wanted to give it to her, but I believe my mother wanted me to be fiscally responsible, and my elder sister too. She arranged for me to charge my own sister for it. I'll have to call my sister to see if she remembers what she paid for it. I recall clearly that it was about what? $7,200 or something like that. The RAM was something like $500 per megabyte alone, and I got 4 mb of RAM for it, for $2,000. It was as expensive as a year at Carnegie-Mellon University.
I kept that computer for less than a year, and then moved to California to be in the land of Macs.
Since then I've had a series of Mac, mostly laptops. The latest is a 1.67 GHz PowerPC G4. It's already a dinosaur as the next generation will be shipping with Intel chips. But I paid so very, very little for it in comparison to my old Mac II. Heady days of the late 1980s. And heady days to come!
Technical Support Terms And Conditions. Yes. I believe in paying for technical support. I was a technical support guy at ComputerWare. I opened my copy of Russia at War last night, and found an old faded business card from my fond alma mater. The first job I had here in Silicon Valley. Pierre Pellisier and Keith Redfield, Arnaldo and Dharma and Rose and Chris and Linden and Roger and Ugi — I loved working with you all!
From that, I worked at Apple Computer. I miss the laughter of Pam Boyman, and the wit of so many brilliant souls. It was there I learned the lesson, "Darwin got him." How to be that quick brown fox to jump over the lazy dog. It was also from there that I learned the expression, "Ask for 100% of what you want 100% of the time." A vivacious woman told me that. I smile at the memory of her daring freckled face.
I hopped again to Cisco, when Apple made clear it was going to move technical support to Austin. That was where I drifted away from Macintoshes after the company standardized on Windows. I mostly clung to the Unix systems, reading my email in elm or pine. But I missed QuickMail. I tried Windows mail systems, but ugh. Me no like.
Me have Apple's Mail now. Me have Thunderbird too. Me like.
I got down to primitives when I played "Mortalis Victus" this past year. It will be launching again in March-April of 2006, so stay tuned. You can play too.
Anyway, I love technical support. It helped me earn my first million dollars which has come and gone. It will be crucial for the earning of my next million. So I pay for good technical service and gladly. You should too.
More Terms and Conditions
Credit Application. When I need more than $3,500, I'll fill out an application. For now, I have money in the bank in excess of that. I also prefer to do things cash-and-carry as much as possible. With interest rates so low, though, it gets tempting to borrow. But the economy is going down, or staying about the same, which means that cash remains king. Thanks but for now, no thanks.
Disclaimer of Liability. I really do not like blaming people for things that go wrong, so long as there is not specific malfeasance in their behavior. "APPLE'S ENTIRE LIABILITY FOR DIRECT DAMAGES UNDER THIS AGREEMENT IS LIMITED TO THE AMOUNT YOU PAID FOR YOUR ADC MEMBERSHIP." Considering that's $0.00, that's all I can expect from Steve. Hrm. I actually believe there's other laws that can override these terms, but in principle, you know what? I'm in agreement. I cannot blame Apple if I use software and get in a pickle, and then point fingers. This is a "take responsibility for your own code" clause. I'm down with that.
Governing Law. Considering I live within a short ride of Cupertino, where I go to church at St. Jude's, I'd have to agree the same state laws apply to me.
Survival. We all want to, for as long as we can, to do the most good we can while we're here. However, like people and their memories, certain memories, truths and covenants will survive long after the termination or expiration of this embodied agreement.
Agreement in English. "Les parties ont exigé que le présent contrat et tous les documents connexes soient rédigés en anglais." So why did they throw in French? It must be some "Canadian content" tip-of-the-hat. Merci, Quebec!
No Waiver or Assignment. You know, I'm almost half-tempted to see if I can get a waiver. I'm not even sure what I'd want a waiver for. Maybe something on intellectual property rights. But I'll waver on the waiver for now. On with the work.
Complete Agreement. So far so good! This means I cannot try to add in any conjuctions with "And," "but," or "or."
License to Ill
Applicable Terms & Conditions. Prototype License Grant. This is a license. A grant of rights. Not an assignment of them. They can be withdrawn at any time. I can use this, but I cannot use Apple's tools themselves as a component of a product.
Though it would be a sweet service to set people up with developer stations. I can see how you could sell small businesses with Macs, Apache, Joomla, and these Xcode tools. It'd be darned easy to get them going on their own web sites. Darned easy.
Definition of Confidential Information. Nonuse and Nondisclosure of Confidential Information. Wow. I'll get some confidential information! Trade secrets I suppose? If so, I'll be good and keep quiet. Of course, Apple will have to properly mark what is confidential versus what is generally-knowledgeable information. For instance, GCC is no secret. It's defects and flaws on the Mac OS X platform are probably not covered under this either.
Storage of the Prototype. Why refer to it as a "prototype" and not simply as a "product?" In other words, this is a "work in progress." I wonder how long this program has been going on for? It seems real cool to get GCC on a Mac. You'd think they'd have a bit more confidence in the concept.
Verification of Compliance. Sure. I know where the software will be installed. Hrm. They might want to come over and inspect it? Err... I need to clean up then. (Sheepish glances.)
No Warranty. You get what you pay for, and I didn't pay at all, except in my time to download.
Equitable Relief. Sure, if I start going nutters using software Apple gave me, and they ask for me to knock it off, you have to knock it off. Got to be good.
No Export. We're back to the Six Dwarves and the WMDs again.
Term and Termination. They do not want this software lying around. It needs to be destroyed when the project is done. Which is somewhat silly, because you might come back to your work years later and need to pick up with the old tools where you left off. I'll agree to it. Yet I believe there are laws that protect software developers so that you cannot be forced to destroy software under certain conditions. In fact, large businesses can even force software develepment companies to hold their software, even their source code, in escrow in case something happens to the original developer. I don't know the specifics of this, but I believe I'd be able to keep an archival copy for historical purposes even with this term and condition.
No Waiver or Assignment. Right. I'm not supposed to turn this software over to anyone else. Yet how enforceable is this? What if I sell my business? Or my laptop? Ideally I should destroy the software, and make the next guy download it again. Few people do that, as it is simply inefficient and silly. But a deal's a deal, and this is the deal I was given.
Governing Law. Yes, we are still in California. Some of this is redundant. You'd think they would not have to repeat themselves.
Government End Users. Oh. The invocation of the FAR! Now here is a specialized language all its own. Fortunately, I am not a government end user. I'll quickly skip ahead.
Agreement in English. Yes. Again. In the future, the agreements will be written in C and XML.
Complete Understanding. Again, the echoes of the past, the reminder of the case. Yes. But do we really ever have complete understanding?
Hardware, Old and New
I like the hardware discount. I don't need a new computer now, but I'll consider one in the future. I still have one which had a hard drive problem I never sent off to DriveSavers. Soon, I keep promising myself. Soon.
It has my old Green Knight content, and my old Skotos folders for both Pendragon Online and Castle Marrach.
I had almost gotten everything transferred over to my new Mac when the thing went belly-up. R.I.P. I am sure the DriveSavers people will be able to get the rest off. I just have been working too hard to get my new life up and running to deal with the archaeology of the past four years.
"When requesting and receiving technical support, you will not provide Apple with any information, including that incorporated in your software, that is confidential to you or any third party. Any notice, legend, or label to the contrary contained in any materials provided by you to Apple shall be without effect. Apple shall be free to use all information it receives from you in any manner it deems appropriate."
Err... I'm not sure this is strictly enforceable. I understand why their lawyers are asking for it, but this could lead them to a major snit if they exploited this to unreasonable levels. "Appropriate" is the operable word here, which lawyers could go back-and-forth over for a long while.
Well, I have to get going now, so I'll agree to it. I'll just have to be the quick brown fox jumping over the lazy dog with Steve & Co. and trust that they won't abuse my own good will, nature and rights.
When I get back later today, I'll continue the saga of Apache, Joomla, Xcode, and GCC.
Onwards to adventure!