Older blog entries for bobman (starting at number 7)

In a fit of boredom, I hacked together a worklog/journal/comment system for work. PHP just fits so well with MySQL, it makes it fun.
I then tried to resurrect some of my (very) old Perl programming skills (or lack thereof) and make a script that crammed formatted input into the database if I e-mailed it.... Couldn't get DBD/DBI working, though. I guess that bears some work.

This driving while sleepy thing doesn't go well with the danger of moose and deer jumping in front of my car. I'll leave work earlier next time.

Yellow Dog Linux is now residing on a happy Strawberry iMacDV at school. I did some very basic, non realistic benchmarking on it to compare with the G4 Server (MacOS X Server).
Compiled Apache+PHP4.0 with the same configuration on both. iMacDV (G3/64MB) compiled PHP4.0 in 3m21.908s and Apache 1.3.12 in 43.391s. The G4 Server (256MB + UW-SCSI HD) compiled PHP4 in 3m40.756s and Apache in 1m0.226s. I was shocked. Is there an explanation for this? Is it just the difference in how Mach/BSD and Linux multitask... Perhaps some "real" benchmarking is in order.

I'm now using the Helix GNOME Debian packages. Very nice, even though it has slowed my laptop down. Found a slight oopsie in the task-helix-gnome package, it didn't require gnome-control-center, causing a puzzled look on my face until I tailed .gnome-errors . Thanks Peter of Helix Code.
Radagast, excellent job on the GNOME website! The only thing missing, IMHO, is the ability to search the GNOME Software Map.

Lunch now.

Time seems to elapse faster as I get closer and closer to graduation... Wheee.. Please stop the earth, I want to get off. (misquote)

I seem to be in a C++ loving stage. Last year I was crazy about PHP3, doing all kinds of nice database access and building websites. Now I'm content to create nice simple programs for Computer Science class using C++. Hey, at least I'm not bored or giving up on school.

The school I go to has a new IP subnet. 253 IP addresses to play with, yay! Of course, DHCP makes it easy to move over, but there are some lingering problems with our BESS Proxy Filtering (censorship) server. It doesn't recognize the new IPs as allowed computers. Too bad I can't fix it, it's out of my hands.

I think I've come to a decision about college: I'm deferring for a year. I'll be going to WPI then, so $500 will be on the way there soon. From all I've heard, from friends and family, it is probably best to take this year off and work. Hopefully it'll be good for whatever capability I still have for learning stuff in classrooms.

Things are much better now.

I finally realized, after much struggling with Apache 1.3.12 and PHP3 3.0.15 on Friday 31MR2000 that MacOS X Server probably doesn't like DSO. When I compiled with DSO support, I got duplicate symbol errors when starting Apache. I worked three hours on trying different techniques of compilation, but not using the nice way of just compiling PHP3 and all modules into the Apache binary.... So, I went home in disgust.

Later that night, I was sshed in and was in the middle of typing a command in bash when my connection seemed to freeze. "Huh," I thought. I tried sshing again, no luck, no login prompt, but there was a connection established. Hmmm..... I tried telnet, I tried ftp.... I tried getting a web page. The socket seemed to connect, but no data came back from it.... Ahhhhggghhh!

I got annoyed and called my (hopefully future co-network administrator) guru friend, jjk. He suggested:

  • The server ran out of memory.... (First asking whether there was swap configured.) I thought this was a little far fetched. The beast has 256Mb RAM and increases the swap file (on /private/var/vm - currently 16Mb) dynamically.
  • On the topic of Apache: Don't compile for DSO. Use the old fashioned (i.e. "On-the-fly added additional/private module") way using ./configure --activate-module=src/modules/php3/libphp3.a after using ./configure --with-apache=../apache_1.3.X --with-xml --with-mysql=/usr/local/mysql, make, make instal in the php_3.0.15 dir.

Well, after restarting the server the next day (since I had to wait for custodians to show up at the school), Apache compiled like a dream with PHP support.

Today, then, the rooted one let me install the new Apache and turn it on. Seems to work fine! I tried some of our MySQL dependant pages and they get data fine... Life is good.

Accepted at Colby, the one school I applied to just because they sent me an application. Expected financial contribution of family: $8,000 ish. Colby = Expensive School with Money to Spend. ($32,000/year) I don't think I can go there... Liberal Arts college with a seemingly cursory Computer Science program.

For some reason, the idiocy of our bomb threat happy people continues. 12:34PM - Evacuate to the other school. Come to find out, the administration had known about the threat for 20min-30min before the actual evacuation alarm went off. They made time to move our lunches to the other school... Of course, there could have been a bomb ticking down those minutes, but there is the assumption made that it isn't real.

That assumption is not very safe, in my opinion, and we left the other school, returned to ours, about an hour and a half later. I, of course, was prepared for the eventuality of staying in another building, so I packed my laptop case with snacks, laptop w/MP3s, wireless headphones, and my Palm Pilot IIIx. Sorta useful, but we were there for too short a time to really need all of it.

Needless to say, I didn't get to work on the MOSXS.

What I ran into, however, was telnetd ceasing to work this morning and being unable to restart the box with the nifty Restart button in the login window. In fact, if I want to say something of the usefulness of today, I'd have to say I tested the fsck capability of the server.

In Computer Programming I found out that the tan() function expects radians. Then, with Dave's help, I fixed my class and did some polygon calculations using apothem, number of sides, and side length. Wheee.

Oh, by the way, I got my acceptance letter from WPI... Whoohoo! If you go there and want to clue me in to how good, or how bad, a school it is, e-mail me.

Fun With MacOS X Server: Oh, boy, today was interesting. All the work that could have been done yesterday afternoon was all pent up inside me this morning as I got to school earlier than I was supposed to.

So, I'm thinking, "replicating the databases from the old server shouldn't be a problem." Big mistake. Seems that I forgot to check the version difference between MySQL on the current server and the MySQL I installed on the MacOS X Server yesterday. The mysql database table structure had changed a lot. New privilages for users and new tables I had never encountered. Well, I didn't check first and just dumped the old data on top of the database. Somehow, in all the dumping and "fixing," I changed the password of the MySQL root user. There went my work time...

Another bomb threat brought us all out of class, again to the elementary school, again without my laptop, again to ruin our day. This time, I brought some paper... and planned all the actions to take with the MacOS X Server (now called: MOSXS, for brevity) to bring it into the fold of working servers. It was an eleven item list when I had gotten done. Wheee!!! Then a group of friends and I played Uno, loudly enough to attract attention...

After two hours of sequesterment (is that a word), we were allowed back to school... And enjoyed Tuna Burgers (cause they couldn't cook the hamburg patties) and a nice round of Calculus.

Back to the terminal I fled after school, with the rooted one. We went over some vi basics, by fixing Apache, which was broken (i.e. not running) due to WebObjects being installed. There was a version conflict there, which should have tipped me off, if I wasn't so eager. After fixing Apache, we fixed MySQL... killall -9 mysqld, rm -r /usr/local/mysql/var/mysql/, /usr/local/mysql/bin/mysql_install_db... That all worked out, so we imported some databases from the old host.

Apache and PHP3, what a sad story. In short, after some fun compiling, moving of .so files, and mad editing of /Local/Library/WebServer/Configuration/apache.conf all was for naught. The WebObjects Developer CD which we had installed software from Monday had a really old version of the Apache header files (version 1.3.0) which caused the Apache (version 1.3.9) from the 1.2 MOSXS CD to not like the PHP3 module that I compiled, using the old header files. DAMN. So we have a couple options...
  • Download the new Apache distribution and compile.
  • Wait for a new Developer package on CD or net.
  • Beat our heads against a wall and download a precompiled PHP3 module.
I'm wanting the second option. It shouldn't be a problem for the school's Apple Rep. to put the MacOSXDeveloper.pkg (new) up on a FTP site for us.... That'd be nice and clean.

Little MOSXS Quibble: The NetworkManager application restricts usernames to a length that was not mentioned in the initial install. And one cannot edit a user whose username is too long. The rooted one had to change her username, as we couldn't put her in group wheel. Oh, that too, MOSXS doesn't seem to use /etc/password or /etc/groups... All information has been moved into the NetInfo database, which I still can't find a command line tool to edit. However, passwd seems to work with NetInfo...

Hopefully an e-mail back from the Apple Rep will make things better.

Oh, I forgot, I installed ssh when no one was looking. It works, client wise, and that makes me happy. I didn't get to set up sshd yet, however. I'll be much more comfortable when that happens.... And when most of the useless daemons are turned off.
On The MacOS X Server Train: Things are going better than I expected with our new server at school. Monday we received the MacOS X Server 1.2 CD and installed it.
  • Installation : What a breeze! Boot up from the MacOS X Server CD, partition the hard drive, double click the Installer. It, I think, messes with the firmware/NVRAM and reboots into BSD/MacOS X Server. Couple more automatic reboots, waiting periods, and it then prompts for hostname, user accounts and other useful stuff. Very clean, MacHead friendly.
  • Installed Stuff : The base system was pretty base. Apache, Apple File Sharing, vi, emacs, etc, all installed quietly and cleanly. All seemed to work well, lacking only a decent command line mail client and web browser.

Once we got into it, the "Workspace Manager" was friendly to our Mac side and the ability to use the Terminal was exceedingly enjoyed. The user management tool "NetworkManager" or "NetInfoManager" took some getting used to, in that the normal locations for user/group information and machine information has been moved to NetInfo, a database like system for system info. Sorta neat, but I haven't seen a command line utility for messing with NetInfo.

Monday night at home, I noticed that there were no development tools on the server. No gcc, no cc, no bison, etc, etc. A situation that had to be remidied if there was to be MySQL, lynx, mutt, ssh, PHP, or any other neat stuff on the box.

Tuesday the "administrator" -- not me, as I don't have root -- installed, with my assistance, the WebObjects Developer tools. Whee! It took about 40 minutes to get all the code and tools installed. Lots of source, for that of bash, tcp wrappers, and other various and sundry items, and all the development tools one could need.

From 3PM to 6PM I was stuck to the terminal, trying to compile my favorite tools... Namely ssh and lynx, as both were needed if I were to work from home on the box. Turns out lynx compiled out of the box with no tweaking. Excellent! ssh, however, needed a newer version of make, so compiled that and ssh compiled with little tweaking.

This morning the rooted one and I installed MySQL from precompiled binaries found at The MacOS Xclave. I had tried to compile MySQL on Tuesday, but it was being petulant and I gave up on it. The info accompanying the binaries was right on, the /etc/startup/ file worked, all was quite nice.

I was intending on compiling PHP3 today, but a bomb threat curtailed that activity. There is nothing better than spending 2 hours with 500 students in one gym at a neighboring school. The perp of the threat has been caught, thank goodness, and hopefully this won't happen again. I was wishing the entire time we were evacuated that I had brought my laptop with me... I could have hooked up to one of the ethernet jacks in the gym and used Napster to play tunes for the bored folks.. Or at least worked on the website.

Oh, well, I'm glad it's over and back to school tommorow.

Hmmm... Methinks this will be a good place to figure stuff out.
I'm currently working on my school district's website, found at www.sad55.org, using PHP3 and MySQL to ease administration once I go off to college.
The website has been around a long time, well for me it has, and hopefully with the management interface in place, it will stay as it is.

In the next month, the site will be moved from my Pent100/80Mb/Debian GNU/Linux to MacOS X Server. Lots of excitement there, especially since the new box has 256Mb RAM and some real processing beef.
Before the site is moved, me and my friend Dave, are going to have to compile mod_php3 and MySQL on the new box, which I'm sure will be an interesting challenge.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!