Monday, March 30, 2009

Progress in a few different areas today and this week-end. On Saturday, I attended the local science fiction club's "social night". I met several people and we discussed the normal things at a gathering of science fiction fans: games, computers, and food. There are a couple folks who are "into" computers, and they may be good contacts in my search.

Today I found a local company (very local, as inwalking-distance local) that is looking for a Perl programmer. I sent them my resume with a cover e-mail. No response as yet, but then I sent it mid-afternoon.

I solved a problem on //grendel this afternoon. SuSE Linux would always set the clock improperly on start-up. I traced the problem to the /etc/adjust file. Removing the file should force Linux to create a new default file. The PC started up and kept the right time the one time that I tried it today; let's see what happens tomorrow.

With LDAP I made some progress. I added myself and another (fake) person as users. The next step will be to tie VSFTP into LDAP for authentication. I think I need PAM for that. Time for more reading.

Friday, March 27, 2009

Server frustrations

After setting up the basic, anonymous, read-only FTP server, I decided to advance to a more sophisticated configuration: an FTP server that authenticates against an LDAP directory. The first step in that change is to set up the LDAP directory server.

Installation on SuSE Linux was easy: simply run YAST, select the LDAP server, and then feed in the appropriate CD as YAST asks for it. That part went smoothly.

I even tested the LDAP server configuration, and it worked. I ran the slapd program and it was a process.

That was yesterday. Today is another story.

Today, the LDAP deamon refuses to run. The log file contains a message: "Error=98 Address aready in use".

What is particularly frustrating is that I made no changes. Aside from turning off the PC (and therefore re-starting Linux this morning) I did nothing. I did not adjust the LDAP or YAST configuration. I did not add new applications. I did not update Linux with the Novell servers. (This I know, because it is SuSE 9.2 and Novell does not update that version anymore.)

Well, I learn when I make mistakes, and when things work differently than I expect. This is an opportunity for me to learn.

[Update]

After trying a few things (unsuccessfully), I used the "Microsoft" solution: restart Linux.

Actually, I had done that to adjust the PC's clock, which was lagging by about five minutes.

And now LDAP and the slapd daemon work as I expect.

I'm not sure what I learned in this exercise. My guess is that one of the commands that I ran in my first session (slapadd and slapcat) did something that I do not understand. Which means that I will pay close attention to the commands that I use with LDAP and look for a pattern. (If the problem repeats. It is possible that this problem was a one-time issue. But my experience tells me that there are very few one-time issues. I expect it to recur, and I hope to be observant.)

Thursday, March 26, 2009

I set up an FTP server on //grendel (the free Gateway E-3200 I found on the sidewalk). The FTP server is in the default configuration, which allows for anonymous read-only access. I'm not sure where it stores files, though. I need to read up on the configuration of FTP servers.

A recruiter called yesterday, or a person claiming to be a recruiter. She left a message on my answering machine, and the message was a bit vague. Normally, recruiters leave a message along the lines of "Hi, my name is X and I am a recruiter with ABC corporation. I saw your resume and thought you might be a good fit for some of our positions. If you're interested, please call me at 999-999-9999. I've also sent you an e-mail." But this person's message was somewhat shorter: a name, the claim that the was a recruiter, and a phone number. There was no corresponding e-mail. And the message did not have the cheeriness of confidence that they always have. A quick search on the internet (the phone number was enough) provided an explanation: the person is a salesperson for an insurance company, apparently looking to expand her network of agents. I moved on to other things.

I've been a little lax of late, getting up later and leaving "work" early (at 4:30). This reduces time for my work. I changed that by getting up earlier today (at 7:00 and not 8:00) and planning to leave at 5:00 and not 4:30. Which gives me more time to focus on important tasks.

Speaking of important tasks, I am dividing my time into several categories. Most are related to the job search, and some are personal. They are:

 - Job search (job boards, resume)

 - Networking (meeting people, Linked-In, lunch with friends)

 - Assignment search (finding short-term work)

 - New tech (programming in Ruby, setting up servers, creating web pages)

 - Finances (paying the bills, filing taxes)

 - Pursuing the dream (creating the software x-ray machine)

I don't need to do each of these every day, but I want to keep them in mind every day. They are the elements of my new routine, which is something that I will work on.

Tuesday, March 24, 2009

I did a number of things today.

I went back to the ACM web site and touched up my resume. Not content changes, but formatting and grouping changes. It takes a little while to get used to their new input formats.

I added search agents to the CrunchBoard jobs, and ran into their limit of five search agents. I'm not sure how to handle this limit. I want to search for jobs in several cities: Baltimore, Pittsburgh, Philadelphia, Hoboken, Portland, San Francisco, Boston, and maybe Richmond. CrunchBoard limits one to five agents, and each agent has a specified location. So I can pick five of the locations, but no more. (Unless I resort to changing job agents during the week, setting up one for Monday, then changing its location and time later in the week, and then changing it back. That seems more work than its worth.)

I talked with a recruiter at ACI today. It is interesting to see the variety in the techniques and skills of the different recruiting companies. ACI accepted my resume, asked me a few questions (which were focussed on the requirements for a specific position that they had available), and did little else. Other agencies have asked me about my career goals and met with me personally prior to referring me to a potential client. Some have arranged for rigorous skills tests.

Lunch was with some former co-workers. It was good to get out of the apartment and talk with people. I think that walking to the light rail, sitting in the sun, and talking with people is theraputic.

I registered for a general meeting with the local "technology council". Their purpose is to help new technical businesses make connections in the area. Their immediate meeting on Thursday was full and I had to settle for their next "get to know us" meeting in April.

I also installed SuSE 9.2 Linux on //grendel, the Gateway E-3200 free computer that I found on the sidewalk. The installation went well, although the initial video mode pushed my VGA/XGA monitor beyond its limits. I had to crank the resolution down a notch, and also define the network card. My plans are to install an LDAP server on it, and maybe some other servers, including e-mail, FTP, and web.

Web page, part two

I've made some progress with my web page on Google. This is an interesting exercise: editing a web page inside of a browser, which means using a web page to edit a web page. Describing the activity requires some careful wording, too. One must be careful to distinguish between the web page that is doing the editing and the web page that is being edited.

The Google web page editor isn't really happy with the Opera browser. At least not my version, which is almost but not quite the latest release. (I have version 9.6.3.) With Opera I could add a text box to my web page but only one text box. When I added a second text box, it replaced the first one. I tried Firefox and the web page editor was much happier. (To be fair, the web page editor did give me a warning banner that Opera was not fully supported, and some features might fail.)

So with Firefox, I have set up a conservative web page with four sections that talk about me. (It seemed a safe enough subject.) Next will be to add a picture and change the layout to allow text and picture side by side.

Thursday, March 19, 2009

The first billable hour

I created a web site on Google today. They have a free web site hosting arrangement. Now, nothing is really free, so I figure they must fund it with advertisements somehow. I created it to see the capabilities of Google.

Creating it took a bit more than I expected. The site must have a name, and the first names that I picked were already taken. I was a little surprised to find "Engineer of the Future" occupied, and my second guess of "FutureSoftware" was also used. I settled on "CorridorProgrammer", referring to the Northeast corridor.

I had no time to put content on the page, so right now it is rather blank. I think a short biography would be in order, and a description of how I can help people.

I also had an interesting thought today: At some point, I must have my first billable hour. The idea has been in my head for a while; today it came forward and said "pay attention to me". It means that I don't necessarily want a job (although that would be nice) but I do want an assignment. It doesn't have to be a large one. It could be a small one, such as "set up a PC" or "convert data into a different format".

I've set up a goal for my first billable hour: Fund the purchase of memory for //grendel, the Gateway "free" PC that is currently running FreeDOS. I might be able to install Ubuntu Linux if I install more memory in it. If I can get an assignment, and get paid, I can afford the memory. That's my goal.

Wednesday, March 18, 2009

Equipment counts

In an earlier post, I reviewed a "free" computer and some problems installing an operating system. The computer is a Gateway E-3200 and the problem I described was not being able to boot from the CD-ROM.

I thought that the 3Com TriROM NIC was preventing the CD-ROM from booting. But it turns out I was wrong. It is not the NIC. It is... the CD-ROM drive! It doesn't work! At least, not enough to read a CD. I borrowed CD reader from another computer and everything works as expected. I installed FreeDOS and attempted Ubuntu. FreeDOS installed without problems but Ubuntu is not happy. Versions 7.10, 8.04, and 8.10 all fail to install. I think Ubuntu fails due to memory; the Gateway has only 128MB RAM, and Ubuntu really wants 256 MB (384MB for some versions).

But FreeDOS works! And it comes with GEM! (Remember GEM? Not the TV/toy/doll but the graphics environment for DOS.) The performance is quite good, even on the old Gateway E-3200. It may be worth investigating.

I have a supply for cheap CD drives. And memory should be obtainable.

After the conference

I'm back home from the O'Reilly "Emerging Technologies" conference.

The conference was a good break from the routine. It was an opportunity to meet people and become introduced to new ideas. The sessions at the conference are varied, and do not focus on programming/development issues. While some sessions talk about technology, no one is demonstrating a new debugger or technique for writing efficient code. Instead, people look at the social and long-term aspects of technology, such as cellphone sharing habits and sustainable cities.

It was also a networking opportunity. (Networking in the people sense.) I met a number of people and there may be some short-term contracts out of the conference, but that has yet to be seen. The attendees are smart, hopeful people, which makes sense because this is a niche conference about the future. Few people attend (I estimate less than a thousand) and those who do are thinking about the big future. Everyone at this conference will have heard of The Clock of the Long Now and if they haven't heard of ti they will be interested in it. So while there may be few people, it is a good set to talk with.

Here at home I am handling the mundane things. Yesterday I interveiwed a staffing company in the area, VisionTech. They are a local supplier, with a goal of growing. The interview went well, in that we exchanged our objectives. They may be positioned a bit better than other companies to find a position, since they deal outside of the defense world. (I could work for a defense contractor, but I would need a clearance -- that takes time -- and I would like to avoid large, bureaucratic organizations. At least for a while.)

Today I have lunch with a former co-worker. Not for networking, but simply for social interaction.

Wednesday, March 11, 2009

A break for technology

I'm taking a short break from the job search and learning new tech to... learn new tech. I'm attending the O'Reilly "Emerging Technology" conference. Not a programmer's con, but a truly technology conference.

Some observations about the con:

The topics include energy, resources, pollution, robots, wireless communication, and urban development. Very interesting ideas.

Most attendees have computing devices. Many are laptops, others are phones. Of the laptops, the majority are Macs. Of the phones, most are iPhones. I have my Nokia N800, a Canon digital camera, my cell phone, a Palmpilot, and a notebook -- the paper kind.

E-tech is full of creative people. I took advantage of the free breakfast to sit and chat with folks. I met up with a table full of people and we talked about the economy, Iceland, Greenland, and satellites.

The first keynote was about sustainable cities. Will we ever abandon cities? The answer is no, but we may abandon parts of cities or dismantle pieces of the. Japan will see a decline in population; they will need smaller cities. We will most likely change transportation systems; public transit is more efficient.

The second keynote shifted to a different area: the Creative Commons license. In the past, connecting computers was hard; open standards made it easy. Now, the friction is the legal arrangement you need. The Creative Commons project wants to reduce that friction.

This conference is a good break from the "new tech" that I am learning.

Thursday, March 5, 2009

Ubuntu 7.10 and Ubuntu 8.10 are not happy on the IBM T21. Version 5.10 is the only version that works, of all of the versions that I have tried.

I find this disappointing, and a little confusing. Ubuntu 5.10 works on the T21, and works well. It finds the devices and loads the right drivers -- which means it *has* the right drivers. Later versions of Ubuntu fail, and each fails differently. Version 6.06 will boot off of the live CD, but the install program stops after step 3. Version 7.10 will not start; it gets so far and then halts with a register dump. Version 8.04 will not start either, but it doesn't have a register dump -- it simply stops. (Or it takes longer than thirty minutes to load.) Version 8.10 works a little bit: it starts, complains about a number of things, and then runs in text mode. It complains a lot about being unable to create /dev/null.

So I will keep Ubuntu 5.10 on the IBM T21. With it, I have a portable unit that offers WLAN access. (This was something SuSE Linux never got right.) The battery life is a bit short -- about an hour -- but the screen is large.

What really disappoints me is the uncertainty of Linux. As in the X-Files TV show, I want to believe. I want Linux to run on older computers, and let me use them beyond their Windows life. I want Linux to be robust and reliable. I don't have the confidence that I want.

Wednesday, March 4, 2009

Ubuntu for a little while

I'm taking a break from the Ruby programming, in part to let my brain absorb the Ruby style. I've found that my brain can do amazing things, if I let it work at its own pace. I can force-feed it things, for a short time, but it quickly rebels. So I will let one part of my brain chew on the 'proc' notion of Ruby while I work on other things.

The other thing I have chosen is Ubuntu Linux. I have three computers with SuSE Linux and would like experience with different distros. I chose Ubuntu because it is popular (Red Hat and Fedora were in the running) and I have several install CDs (so Ubuntu is "shovel-ready").

Of course, I need a computer to run Ubuntu. All of my computers are puny by today's standards, and none will support virtual machines, so I will use a physical PC for Ubuntu. I've made insufficient progress with the Gateway E-3200 (the computer with the 3Com TriROM that will not boot from CD) so that computer is out... for now. Instead, I will use an IBM T21 Thinkpad.

I've successfully installed Ubuntu 5.10 on this computer. This is an old version of Ubuntu, and I would like a later version. I even have later versions: I have 6.06 and 8.04. Neither of the later versions work. Version 6.06 will boot but the install program stops after step 3 (specify keyboard layout) and never gets to step 4. (I don't know what step 4 is ... I never get to it!) The version 8.04 CD does not even boot. It starts, displays the Ubuntu screen, then flips the screen into text mode -- but doesn't display any text -- and keeps accessing the CD, on and off, for at least 30 minutes. I have stopped it after that time. I don't need a live CD to take 30 minutes to load.

So I will next try versions 7.10 and 8.10. I like Ubuntu on this computer. I had SuSE Linux 9.1, but that distro did not see the PCMCIA WLAN card. Ubuntu 5.10 recognizes it with no problem. But version 5.10 comes with Firefox 1.07, and I would like a later version. I suppose I could install Firefox myself, but I suspect that the later version requires a later version of libraries, and these would require other updates. It seems like the later Ubuntu disks are the easier way to go.

I'm going to try. If they work, great. If not, I will keep Ubuntu 5.10 and head back to Rubyland.

Monday, March 2, 2009

Progress with Ruby

I've made some progress with Ruby. For a project such as this one (my H-89 simulator) progress is sometimes slow, since I have much to learn about the technology *and* the task. I move forward, realize that the direction is not quite right, and move back. I did a little of that with the latest set of changes.

My path lead me to create some classes to abstract different types of numbers: DecimalNumber, OctalNumber, SplitOctalNumber, and HexNumber. These are the numbers that I must parse and print in various utilities (assembler, disassembler, binary loader, etc.). After exploring the capabilities of Ruby, I saw that the built-in formatting of Ruby handles the formatting and I did not need separate classes. So, out they classes came!

The exercise gave me some experience with Subversion. I used the "delete" options to remove files and directories in the Subversion database. (The files and directories are there, should I want to go back to that specific revision, but they are not in the current set. This is a nice change from the file-based SourceSafe and PVCS that I have used.)

My explorations have lead me to code blocks and procs. I understand the concept; I need to work with Ruby a little more to fully grasp the proper implementation. It's frustrating. I've been able to absorb new programming concepts quickly. My last difficult challenge was pointers in C, which was many many moons ago.