Thursday, May 28, 2009

Web technologies

I successfully configured Apache, PHP, and MySQL on the //grendel server today. (And FTP, but that is a different thread.) With those three in place, I was able to add some data to a database, generate dynamic web pages, and serve them to a different computer running a web browser. It took a few tries, but not too many. I had done this once before, when //grendel ran SuSE Linux, but lost a lot when I converted it to Ubuntu Linux. This time was much easier, possibly because I was familiar with the territory, or possibly because the Ubuntu distro does more work for you. (I think it is the former.)

The next step is to generate some database entries from //mylene, a computer that I can use for analyzing source code. When I can generate data on one computer, send it to the server and store it, and then access the data from a third computer, I will have a true client/server arrangement.

I talked with two staffing companies today. One had set up a technical phone screen with a client; they called and asked to reschedule due to meetings. I have an interview with the second company tomorrow.

Wednesday, May 27, 2009

The price of driving

The week-end saw many interesting sessions at the science fiction convention. I think many of the ideas will appear in my other blog (Fitzpatrick's Fabulous Future).

Yesterday I took care of a number of housekeeping chores, interviewed a staffing company, and attended a BSD user group and a presentation on packet filtering. The packet filtering presentation had the most technical information, and the most contacts.

The interview went well; we both got a lot of information from it. I have some reservations about the position. It is with a defense agency and a clearance is required, but more than that it means dealing with a large burearcracy again. The location is south of here, and I would have to drive. With the price of gasoline on the rise (and expected to keep rising) I'm not sure that such a position is economical.

Today I meet a former co-worker for lunch, and later check the numbers for the OSCON conference. And perhaps the CPU fan for delilah will arrive! ... But then I still need memory and a hard disk.

Friday, May 22, 2009

Subversion woes

I spent most of today working with (fighting with) Subversion.

After the ill-fated upgrade of SuSE Linux 10.0 to 10.2 on //grendel, which was the Subversion server, I copied the Subversion repository files to //desdemona, hoping to restore them and resume Subversion operations.

Such was not the case. I restored the files, but apparently not all files, since Subversion complained about revisions. The new Subversion attempted to create revision 1, but knew that there was already twenty-five other revisions.

In the end, I killed the Subversion repository, created a new empty repository, and imported all of the files. This process removes all history, so I have lost my changes. Probably not a solution for a serious operation, but sufficient for my needs. I can now use Subversion to store changes.

Deciding on this course of action was fairly easy for me. I don't need a complete history of changes. I had the entire (current) set of source files. I could spend a lot of time diagnosing the problem and finding a solution -- but there are other things I want to do.

Lessons learned: before upgrading the operating system, back up important files. (For Subversion, use the "unload" feature to create a stand-alone file of the repository. Even when I think the upgrade is "simple".)

In other news, I attended the first day of the local science fiction convention. Software development is about more that software, and the convention is a good way to get new ideas. I attended a few sessions. The most memorable was titled "What Western Civilization Expected From Science", and quickly got off-track and discussed science fiction. Yet it was a good session, with ideas about philosophy, science, and psychology.

Thursday, May 21, 2009

Virtualization woes

I tried three different virtualization tools today: Xen, VMware, and VirtualBox. All of them had problems, and I had no success in setting up a virtual machine.

Xen requires a new Linux kernel, which the configuration package found and installed. I had to restart Linux and specify the "Xen" kernel. All of that was not too bad. I was unable to create a virtual machine, though. The virtual machine manager lets me get only so far, and then issues the message "unsupported protocol".

VMware doesn't require a new kernel, but has problems installing under YAST. It claims to install, but doesn't place the required files on your computer! I had to un-install the package and then re-install it from the command line. This works, and the VMware Player runs, sort of. It gets so far and then demands gcc 4.3.2 to compiler certain modules. SuSE Linux 11.1 doesn't have gcc 4.3.2, it has gcc 4.3.3. But VMware is smart enough to care about the difference, and won't let you run a virtual machine. SuSE Linux 11.1 doesn't have an easy way to install gcc 4.3.2 (you can install gcc 3.4 or gcc 4.3.3 but not anything else through YAST) and I suppose that I could find the compiler, but what else will I need?

Sun's VirtualBox has different problems. It runs as root but won't run from a user account. In user mode, one starts the program, waits a bit... and nothing happens. No error message! (There may be one buried in a log file somewhere.)

So it was three strikeouts with virtualization today.

Wednesday, May 20, 2009

MySQL victory

I have MySQL up and running, and accessible from other computers. (Yay for me!) The problem was in the configuration file, and the bind address for the server. I had to change the bind address to the address of the server and not leave it at 127.0.0.1. I had done this on the previous configuration but failed to record it in my notes. (I keep a paper journal of changes to systems. Very handy, even if it is 3000-year-old technology.)

Experiments with Xen on //delwood have been disappointing. For some reason, Xen thinks that the processor is capable of paravirtualization but not full virtualization. (Is it possible that this is a kernel issue?) Beyond that, Xen will not create virtual machines. It gets stuck and complains "the configuration uses an unsupported protocol", or something to that effect.

VMware seems promising. I can use the vmx-manager program to create virtual machines and I should be able to download and install VMware Player to run them. I was successful at creating the machine. I was successful at downloading the RPM file. I was even successful at reconfiguring YAST to recognize an additional repository for RPM files! Yet the VMware RPM file seems to not install the player. It seems to have created a ".bundle" file in the /var/cache/vmware directory and done nothing else. Blah!

Tonight I attended the BaltoMSDN meeting. The presentation was about test-driven development in Windows and Visual Studio with Re-sharper and Rhino Mock Objects. Interesting packages, and I can see how they improve the development effort in Visual Studio. Yet still, you have to write a lot of code, and it looks... yukky.

I talked with several recruiters today. All have permanent positions in the defense/intel community. Some will sponsor me for a clearance. These are good opportunities. And yet... my gut tells me that they are not for me. Most are going to be a difficult commute, and probably only by car. With the price of gasoline going up again (and I expect it to reach into the $4/gal range) I want to avoid driving. Beside the commute (which will be difficult) and expensive, the jobs will be with large organizations, probably with lots of rules. I really want shorter contracts (anywhere from three months down to four days) and smaller organizations. More blah!

Tuesday, May 19, 2009

MySQL fights hard

Virtualization will wait until tomorrow. Today I worked with MySQL. I have it running on //grendel, but cannot access it from //desdemona. The two obvious causes (firewall or rights in MySQL) are not the problem. MySQL is running on Ubunti Linux 8.10 which has no firewall, and I added the user "root" for host "desdemona" and also all computers on my subnet. MySQL remains resolute -- no access from remote computers. (Thinking about it, I should try from other computers.)

A modest success was using NFS from //grendel. I had to install the "portmap" and "nfs-common" packages; once in place I could mount the NFS share and copy the Subversion files into place. Tomorrow I can configure Subversion and test access from remove computers. (Although I may have the same problem as MySQL.)

This evening I went to the BaltoLug user group meeting. I missed the April meeting, due to inconsistencies in the light rail operation. I left extra time tonight and had some time to visit the Borders bookstore and check out their computer books section. The "Heads First" book on web design seems reasonable. I wonder if it available on Safari?

Monday, May 18, 2009

Progress with equipment

This morning I tested //grendel and the Apache web server with PHP. Ubuntu Linux 8.10 includes PHP version 5, which is a nice upgrade from the old version I was using. Apache and PHP work as expected, and now I must create some content to expand my knowledge of PHP.

I had lunch with former co-workers today. The restaurant was quite close to the local PC shoppe so I stopped there and picked up some used DVD drives. (This is the same place that I got the previous two DVD drives, one of which is not working. But for the super-cheap price, I won't complain.)

The DVD-reader went into //delwood, and I then installed SuSE Linux 11.1. The install worked without problems until the video configuration, at which the install died. But it apparently did enough, since re-starting the computer brought it up in graphics mode. Interestingly, //delwood has the same video problems as //desdemona (tooltray icons do not display, screen contains junk when switching users). This may be something in the frame buffer logic, or perhaps the two Dell units use the same video card.

The DVD-writer went into //delinea (a Dell Dimension 4600 which also needs CPU fan, memory, and hard drive). I think I can find all of those on the web.

I configured //delwood to have Xen and VirtualBox. Time to play with virtualization!

More free PCs!

I did a number of things this past week-end.

After a fierce battle with SuSE Linux 10.2 on //grendel (a Gateway E-3200/400) I gave up and switched to Ubuntu. SuSE Linux 10.0 was happy on //grendel but 10.2 was not. (Random lock-ups of keyboard and mouse, usually within sixty seconds of startup.) I tried Kubuntu 9.04 and that was not happy either -- it would install but would not allow me to add or update packages. (A timing issue, I think. It seems to affect older equipment.) I settled on Ubuntu 8.10 which installed and updated without problems. I also installed Apache, PHP, MySQL, and Subversion on //grendel. Apache is running; next is to connect PHP.

Experimenting with //delwood (a "found" PC) shows that the DVD reader is not working. I should be able to replace it cheaply -- a local shop sells used DVD readers. But without installation media I made no progress on installing operating systems.

I had more success with //deliliah (the other "found" PC, a Dell desktop) and installed Ubuntu Linux 9.04 and Kubuntu Linux 9.04. Using different partitions is possible but perhaps somewhat clunky. I think with //delwood I will install SuSE Linux 11.1 and use Sun's VirtualBox to host other operating systems.

I found two *more* PCs here in my apartment building, in "the giving place" (another name for the trash pile). Two Dell desktop units that show signs of use but not abuse. Both had been robbed of parts and only one is usable. (The other had been robbed of everything including the CPU and the power supply.) A quick estimate shows that I can get the usable one up and running for less than $100. This PC can hold 4 GB RAM and would be a good candidate for hosting virtual machines.

Friday, May 15, 2009

No delwood today

I didn't get to //delwood today. I *did* install Apache, PHP, MySQL, and subversion on //grendel. I've configured some of them, but more work is necessary. I expect to have some time for that tomorrow. And time to install Ubuntu 9.04 on //delwood.

I ping'ed recruiters today, to discuss open positions. They have not heard back from the hiring managers. One recruiter indicated that he had not heard anything from the hiring manager, which is a little disappointing (and probably very frustrating for him) as he has several candidates in for several positions. Not answering is less than professional -- not very good. Perhaps an indicator of life at that company?

I took some time and read in the local park today. It was very theraputic. I finished How Would You Move Mount Fuji and got a little further into The Haskell Programming Language. I also read the local papers, looking for opportunities to network. Found a few and noted them.

Thursday, May 14, 2009

Linux is not my friend today

I used the Linux Bootable Business Card (BBC) to rescue files from the SuSE 10.2 inflicted //grendel. The BBC booted and mounted the drive with no problems. I created an NFS share on //desdemona and copied the Subversion files to //desdemona for safekeeping. Once saved, I could replace all files on //grendel.

I spent most of today attempting to install Linux on //grendel, the Gateway E-3200 Pentium II 400 MHz system. Linux was not cooperating. SuSE Linux 10.2 has definite problems on this configuration and is unable to complete the installation process. Yesterday I upgraded from SuSE Linux 10.0 to 10.2 which failed with lock-up problems. Today I installed SuSE Linux 10.2 as a clean install, and the resulting system had lock-up problems.

I also tried Kubuntu Linux 9.04. This version installed but did not allow other packages to be installed (it demanded that I fork a process) and kept the screen at 800x600 resolution.

Ubuntu 8.10 is much happier on //grendel. It knows how to program the video card and can get updates.

Diagnosing a different problem, I found that the KVM switch has strange behavior when //delilah is attached and turned off. The KVM switch "locks" and will not change ports. It does allow all other keystrokes and mouce movements through. This is the first time I have seen a KVM switch act in this manner -- although I have seen other flakiness with other units. I believe that an external power supply may fix the problem.

I also found the "WordCamp" event here in Baltimore. "WordCamp" is a conference for blogging with Wordpress. This event is quite close -- within walking distance! The event was sold out; I added myself to the waiting list. have little hope for an opening, but if they have any business sense they will add me to a mailing list for the next event.

I also installed a new CPU heat sink bracket in //delwood. I will install Ubuntu 9.04 on //delwood tomorrow.

The importance of making backups

Inspired by my success with Fedora Linux 10 on //deliliah and the upgrade from SuSE 9.2 to SuSE 10.0 on //grendel, I upgraded //grendel to SuSE 10.2. Without making backups of key files on //grendel.

The install of Fedora Linux 10 on //delilah was straightforward, as it was an empty machine. (The install even noted that there was no partition table and asked if it should create one.)

Upgrades are a different animal. With upgrades, there are files present, partitions present, and all kinds of things are changed, not merely written.

I use //grendel as my server for web pages, databases, and version control. It runs Apache (and PHP), MySQL, and Subversion. It holds the web page content, the database files, and the subversion repository.

When I started the upgrade, I had the little thought: I should back up my files, at least the subversion files. (The web pages and MySQL data are all test files, easily re-created.) But no, I said. I've upgraded SuSE before and each time it has worked. I will take the risk. And so I took the risk.

And lost. The update completed, but it had problems. Something is not happy, and now //grendel boots and then stops. I lose all keyboard and mouse control, and all activity (blinking cursors) stops. Oddly, the screen remains, so the video card is running.

Worst case, I re-install an OS on //grendel. Probably SuSE Linux, maybe version 11.0 if I can find a DVD reader. (I could borrow one out of //delwood.) Before that, I will try the Linux BBC (Bootable Business Card) to start a small Linux, mount the disk, and save the subversion files. (Where? Can I also mount a location on //desdemona? I'll need NFS for that.)

In other news, I attended the local CALUG Linux User group meeting last night. The speaker presented a program called "GNU screen" and another called "byobu". The first allows for multiple windows in an SSH session; the second allows for easy configuration of the multiple windows. A rather useful tool for administrators.

Yesterday I also found an article on Network World that listed a bunch of useful job sites. Some I recognized (dice.com, indeed.com, simplyhired.com, and theladders.com) and most were new to me. The article did not list the "biggies" (careerbuilder.com, monster.com, jobster.com) either because they wanted to focus on IT-specific sites or because there is a (non-obvious) sponsorship. I plan on checking out the new sites. If they make sense, I will add them to my routine.

Wednesday, May 13, 2009

Installing Fedora Linux 10

I spoke/e-mailed with three recruiters yesterday. One had a position with a good skills match but in Virginia, on the far side of Washington. The other positions were closer but not good matches with skills.

In addition to the recruiters I hit my "Tuesday set" of the on-line job boards. I updated my resume on monster.com and careerbuilder.com, and reviewed the jobs on a few other sites.

One of my former co-workers accepted my invitation on LinkedIn. Yay! my network grows!

I installled the drives and IDE cables in //delilah and //delwood. Some quick tests show that everything works. (I did have to reconfigure the DVD and CD readers on //delwood, which were both configured for "cable select". Setting one to "master" and the other to "slave" fixed the problem.)

I downloaded and installed Fedora Linux 10 on //deliliah. The download took two hours; I used my lunch hour to let that work happen and read How Would You Move Mount Fuji? in a local park. The install was very easy! Total time was perhaps twenty minutes. Fedora Linux identified hardware and set the network configuration without prompting me.

I like the look at feel of Fedora Linux 10. It uses Gnome, so the look is quite different from SuSE Linux (which uses KDE) and almost identical to Ubuntu (which uses Gnome).

Today I have already reviewed an article on job sites from Network World. It listed a number of job sites, many of which were new to me. I will visit them later this morning.

Tuesday, May 12, 2009

Lots of small things

Yesterday was a mixed bag of activities. I started with LinkedIn and found some former co-workers. LinkedIn has made improvements over time; one of them is the "people you may know" widget.

I reviewed e-mail messages, discarding some and filing others.My plan is to use my inbox as a list of actionable items; other items are either filed for future reference or tossed. I'm not always good at filing messages immediately.

I updated my resume on the ACM job board site. I fixed a few small errors and changed my description, using a style borrowed from a former co-worker on LinkedIn.

I review the job boards for ACM, craigslist, CrunchBoard, guru.com, and Jobster. CrunchBoard is interesting; it has few jobs but they are unique and not listed on other boards. I found a really good skills match (version control administration) but the job is in San Francisco.

Getting technical, I dug in to bash and RPM files, looking for the "db_recover" program on the SuSE install CDs. I found it, using the "rpm" command and a bash scriptlet that did the heavy searching. Once installed, I fixed the Subversion repository on //grendel whcih let me resume development on //mylene.

I also adjusted PHP on //grendel and now I have session support in PHP. This lets me move forward with PHP and dynamic web pages.

I met my friend Larry for our traditional Monday lunch. We had a good conversation about current technologies and up-and-coming tech. Larry is pushing for mobile applications on iPod and BlackBerrys, and I think there is something there. I'm staying with the old-school web technologies for now, since I can learn them at low cost and need them before moving to mobile applications.

And finally, the hard disks and cables arrived for //delilah and //delwood. They came late in the day and I did nothing beyond verifying the contents of the box. With this hardware I can put an operating system on //delilah (//delwood must wait for the CPU heat sink bracket). My plan was to install Ubuntu 9.04 (Jaunty Jackalope) on one and Fedora Core on the other, to gain experience with other distributions. I think I can get an Ubuntu CD at tomorrow's CALUG meeting; I will have to download the Fedora distro.

Saturday, May 9, 2009

Books

I visited the Book Thing today, and found Managing Projects with Make, Aho, Sethi, and Ullman's red dragon book, and How Yould You Move Mount Fuji?. I started on the "make" book immediately, since it has practical application for open source projects. (Many open source projects use makefiles for compiling and installing the program.)

The Compiler book (Aho, Sethi, and Ullman) will be more useful in the longer term, to build the software X-ray machine.

Friday, May 8, 2009

Meetings and memory

Yesterday I took half the day for a doctor appointment. The appointment itself was short -- about thirty minutes -- but was timed inconveniently in the morning. The appointment was for 10:00, which means I had insufficient time to do anything meaningful before or after the appointment. (Business meetings have this effect too.)

I was more productive in the afternoon. I updated my LinkedIn profile, identified some local companies that may be good opportunities, and worked on the two "found" PCs. I found them in good condition but without memory, hard disks, or CD drives. I've scrounged some DVD drives and with the memory that arrived yesterday I could run some tests. One PC works without problems, the second shuts itself off after a few seconds. This problem is caused by a broken heat sink bracket, which can be replaced.

I also installed memory in //grendel (my server) and upgraded its OS from SuSE Linux 9.2 to version 10.0. The later version requires more memory and thus the upgrade had to wait for the RAM. Next I will upgrade it to version 10.3, which is a supported version. These upgrades should give me an updated PHP with support for sessions and let me learn more about PHP.

Wednesday, May 6, 2009

I think I know C#

I finished reading Essential C# today. I'm pretty impressed with the brevity of the language. Like C, C++, and Java, most of the complexity is in the supporting libraries. For C, this was the run-time library. For C#, this is the .NET Framework. The C# language itself is a pretty good attempt at a language.

C# is not perfect. (Of course, language design is always a lightning rod for flame wars. These are my opinions.) I'm not happy with the attributes that C# uses to achieve certain notions; the syntax bothers me. I'm also unhappy with the amount of code required for multithreaded applications and exception handling. It seems "heavy" to me, bulkier that it need be. But I should limit my complaints: Java was somewhat harder, and C++ was much harder to understand. And while I enjoy the capabilities of Perl, it as a language sometimes drives me up the wall.

I took the Prove It evaluation for C#. This evaluation went well, in that I knew the answers to most questions. Some I had to guess at, mostly with specific classes in the .NET Framework.

I am happy with the ACM and their benefits. As a member, I get access to the online book library Safari. This library has a number of books (lots from O'Reilly) and is a good resource for anyone in the computing field. The ACM membership also includes Books24x7 and I think online classes; I have yet to try those resources.

Tuesday, May 5, 2009

More C#

I read more of Essential C# today. Today's chapters covered containers, delegates, and events. Most of these chapters are new material -- we did not use these constructs at UPS. (At least not on the utilities that I worked on.)

I interviewed a recruiter today and discussed an interesting position. It is fairly close, but I would have to drive. On the positive side, the work is interesting.

I spoke with several other recruiters today. One has a position quite close (within MTA range) but the work is less interesting.

I epxect to pursue both positions. I may get offers for both, or only one, or perhaps neither.

I'm assembling plans for my eventual situation. When I have a job, I plan to re-build my savings account, contribute to my IRA, and go out and have a nice dinner. In that order.

Monday, May 4, 2009

Hardware, knowledge, and interviews

Today I met my friends Larry and Glenn for lunch. On the way, I stopped by the Cyberguys shop and picked up some used (and hopefully operational) DVD readers. I needed two for the two "found" PCs.

At lunch I asked Larry to set up a meeting with a friend who runs a small company. It may be a good opportunity for me.

I spent some time reading Essential C# to brush up on things before taking the "Prove It!" evaluation for VisionTech. I read a few chapters each day; I'm up to chapter 12. Most things have been familiar; a few items for C# 2.0 were new to me.

I talked with some recruiters today, and have an interview with one of them tomorrow. I have two more recruiters to speak with tomorrow. I also sent my resume to Jason, who I met at the JHU Linux user group. And I responded to a couple of listings on CraigsList.

Getting back to hardware, I installed the DVD readers in the two PCs (called 'delilah' and 'delwood'). I must wait to test them, since the PCs still need memory and hard drives. Installing them was a little tricky: I had to remove the fancy front bezels for the DVD players; they did not fit with the Dell front panel. Also, one 'delilah' I had to fudge the install sliders. Apparently the GX240 uses three or four different sliders and the ones I need are not the ones that were left in the machine. I'm pretty sure that I can make do with the ones available, after I drill some new holes in the remaining sliders. Interestly, the 'delwood' PC (a Dimension 2350) does not use sliders at all.

Sunday, May 3, 2009

Web site, possible assignment, and hardware

I did quite a bit on Friday and Saturday.

I built a web site -- a simple one, with only static content -- and got a much better appreciation for the effort that goes into a web site. My web site (it's not public, so don't go looking for it) has four pages, limited to text and images. I built everything: the text, the images, and the HTML to lay out theose items. I created the text and HTML in Quanta, a package very similar to Allaire's Homesite. I created the image files (buttons, menubars, and others) in GIMP. It's amateur-grade, but not too far from some live sites I've seen.

I revised my resume, clarifying my objective (short-term web or sysadmin projects) and formatting it down to two pages.

I started negotiating (or perhaps "haggling" is the term) with a staffing company over an assignment in Virginia. The assignment is a good one but the distance is a bit far and the offered rate is a bit low.

After much deliberation, I ordered memory for three computers: grendel (the Gateway that runs Apache, PHP, MySQL, and Subversion), delwood (a "found" PC which can run Ubuntu), and delilah (another "found" PC).

I reviewed the "Digital Harbor" web site and found that it seemed ... out-dated. Is anyone updating the site? Several links to other sites are dead, including the designers of the Digital Harbor web site! I'm disappointed that the links are dead; they would be good networking opportunities. Most disturbing was a link to a blog be Geoff Snowman, a Microsoft .NET advocate. The blog stops in 2007, with no explanation. Is he still with Microsoft? Is he still alive? I don't know.

The VisionTech folks want me to take a C# evaluation on-line. I'm reading up on C# this week-end, before starting the test. So far, everything is familiar. I need to review the use of delagates; that's in a later chapter.

I attended the JHU Linux user group on Saturday. The organizer may have an opportunity; I will send him my resume.

Also on Saturday I went to a local street festival. Most of it was local artists, some of it was home-improvement companies, and of course food. There were some community groups; the one that interested me was a local business networking group. Another line on opportunities, perhaps.