Older blog entries for goingware (starting at number 111)

29 Aug 2002 (updated 30 Aug 2002 at 00:22 UTC) »
Embedded note, updated

Well I closed the deal to do some embedded work on an I/O chip that has an ARM core in it. I'm afraid it's very much under nondisclosure, so I can't be very specific about what I will be working on.

The client is sending me his eval board (a development kit built into a large briefcase!) and the chip manufacturer emailed an NDA to sign. An hour after I faxed the signed NDA to them, the manufacturer's support engineer emailed a whole bunch of useful information.

I wanted to have a desktop system to practice ARM programming on so I asked on the debian-arm mailing list. Someone is selling me a used Corel Netwinder for $350. You can also buy new and somewhat fancier ARM Netwinders for $550 to $600 from Netwinder.net. They have Crusoe based systems as well.

Whee!

This first job is quite small, but the client has a lot of other work waiting after this. Having the small job will allow me to get familiar with the chip before I do the other more difficult jobs he wants.

I discussed this on the ACCU list and based on what they said and what I found in their embedded systems book reviews section I'm going to get the following books, the first two right away because that's all I can afford so far:

I have a bunch of linux kernel books and one embedded linux book already.

Also here are some good websites for emedded stuff:

I'm very excited about this. I've been trying to find a way to break into embedded programming for over a year.

Help Me Get Into Embedded Systems Programming

I've had the idea for about a year that I should go into embedded systems programming. One reason for this is that many of the things I strive to achieve in my programming (efficiency and reliability) are valued in the embedded world much more than in the desktop GUI market. Another reason is, at least when I was looking a few months ago, I saw lots of job and contract ads looking for embedded programmers that offerred much higher pay than what I was seeing for GUI work.

Another reason is that I think the efforts the industry giants are putting into moving applications to the server (stuff like .Net and web services) are going to kill the GUI application market.

There are a couple of problems though. The embedded systems market has this whole huge body of knowledge and practice that I'm mostly unfamiliar with.

I have done some kernel-level work (mostly in the Mac OS, but I have tinkered with the Linux and the old BSD-based Sun OS kernels) and I've done a lot of work in 68000 and PowerPC assembly code. I also have a bachelor's degree in Physics and have done a lot of experimental work, and took courses in analog and digital electronics at UC Santa Cruz. But I know I have a lot to learn.

So here's how you can help me: recommend books I can read that can help me get started in embedded programming. I'm interested in both theoretical books (like architectural theory for embedded OSes) and I'm also interested in really practical things (like hands-on project books for hooking up toasters to 8-bit microcontrollers), techniques for day-to-day development and debugging, as well as books on learning electronics.

You can either post your recommendations in your diary here or email them to crawford@goingware.com.

One recommendation I can pass on is that my friend Tom Cumming (who's been doing embedded work since he was a kid) recommended I read Circuit Cellar magazine (I hadn't seen their website until just now - it looks real good). Actually I have read circuit cellar from time to time since it was a Byte magazine column, and I know it to be very good.

The book I used for both my analog and digital classes in school was the first edition of The Art of Electronics. The classes were actually taught by the physics department, and were intended to teach physics students to design and build their own instrumentation. Horowitz and Hill take a very different approach to teaching electronics than is traditional for electrical engineering textbooks. I remember professor dorfan saying that EE profs held a very low opinion of the book, but it was a hit with physicists and physics students.

I actually started reading it again a few months ago when I was interviewing for a job writing electronic cad software, but I got sidetracked. I'll pick it up again.

I also read a book last year that I think is called "embedded linux programming" or something like that, but I can't find my copy just now. But it was very good. It had a particularly clear explanation about what happens when booting an x86 linux system. And I have the books "Linux Device Drivers", "Understanding the Linux Kernel", "Kernel Projects for Linux", and Moshe Bar's "Linux Internals".

Anyway, any suggestions you have are greatly appreciated. Embedded Linux programming of course is a big interest but I'm also interested in other embedded OSes - there are a lot of things Linux can't do, like support multitasking in less than 64k of ram, which I think eCos can do.

Of course, a big problem is finding the time to study all these books, even the ones I already have!

The other problem is breaking into the embedded world. No one wants to hire anyone without paid work experience, and even though I've been working as a programmer for fifteen years, I don't really have anything on my resume yet that I can claim as embedded work.

But I have some happy news. I think I will be getting a small contract very soon writing the software that runs on an embedded ARM processor aboard an I/O chip. This would be very good work for me, and would finally give me a toehold into the industry.

I thought it would be helpful to have an ARM-based desktop machine to learn more about ARM assembly code and OS programming, so I asked around and have found someone who wants to sell me a very-slightly-used Corel Netwinder, an ARM-based Linux box. Debian supports ARM now, so the guy is going to install Woody on it for me.

Wish me luck.

Sandy's Gone

We found out our friend Sandy died when we saw someone bring a large boquet of flowers into The Second Read in Rockland, the bookstore where her partner works.

Sandy found out a year ago she had cancer. She was told she would likely live a year, and the prediction was very close to exactly correct. The original tumour was a kind of cancer that is easily treated if caught early, but it wasn't caught until it was too late and it metastized to her liver. It was the liver cancer that killed her.

We haven't gotten to know that many people since we moved to Maine in January of 2001. But two women we have gotten to be close friends with were Sandy and Yvonne. Now Sandy is gone and Yvonne is left all alone.

My wife Bonita, an art student, enjoys pottery and ceramic sculpture. She invited Sandy to take a pottery class with her a few months ago. Sandy enrolled in the class with the full knowledge that she would die soon. It turned out that Sandy had a college degree in pottery, and was turning out the most amazing work with blazing speed in the class. She really enjoyed herself and was very glad that Bonita had invited her. Sandy hadn't worked with clay for sometime and had thought that she never would again.

We visited Sandy and Yvonne at their apartment last week. Yvonne had called to say that Sandy had gotten suddenly very sick. Before that she had been doing quite well and had even been traveling to visit her children. But quite abrubtly her liver began to fail. Her doctor said she would not last long.

When we visited Sandy couldn't even look up from the bed. She was very weak. Bonita and I each hugged and kissed her.

That was the last we saw her. We meant to return in a day or two, but with things being very busy, we just didn't get it together to do so.

Is there anyone in your life you've been meaning to visit? Go visit them.

Is there anything you've been meaning to say to someone you're close to? Say it. While you still can.

Remember from my earlier diary entries that we made a long visit to Newfoundland in June to visit Bonita's family, and then a bunch of them visited us here when we returned. This was a big strain on us financially. We really couldn't afford it. But Bonita hadn't seen any of her family in a year and a half. One of her nieces is graduating high school next year and this was likely the last opportunity her sister's family would likely have to all take a vacation together. It was more important that we had this visit than that we be able to afford it.

I haven't known Sandy very long but I've been very fortunate to have known her at all. I will miss her.

I can't possibly imagine what it is like to spend a year of one's life knowing that one will almost certainly die soon. That Sandy was courageous enough to relax and take time out to have some fun throwing clay speaks volumes about her.

Crash!

I had been using an old Pentium II box for an IP masquerading server and a home-office fileserver, but I took that machine up to my mother-in-law in Newfoundland so I could help her get online. So I decided I would resume running Debian on my old Mac 8500 and use that for my masquerading.

I hadn't updated in a while, and woody had finally shipped in the meantime, so I did an update and downloaded a couple hundred packages.

Imagine my dismay when the machine froze as the packages were being installed. I had the most curious thing happen - I was sshed to my hosting service when the machine stopped being responsive, but my ssh session still worked. The installation progress had stopped. But when I logged out of my hosting service I didn't get control back in my local gnome terminal.

I couldn't ssh in to sync the disk. I forcibly rebooted, to be greeted with loud complaints by fsck when it came back up.

My /, /usr and /var filesystems had hundreds, if not thousands of errors in them. It took a long time to get fsck to run without complaint.

Unfortunately, the filesystems were left with the file data of lots of important files just plain wrong. I figured this out when investigating why I couldn't successfully resume my update. Eventually I gave up and ran the woody r0 PowerPC installer and reformatted all my filesystems except /home, and reinstalled.

One obstacle to this was that the kernel that comes with the woody r0 installer crashes on my Mac. At first I tried to install using an earlier kernel I had on hand, but it didn't match the modules that came with the installer. Eventually I was able to use the kernel and drivers.tgz that came with the last potato installer.

After I got everything installed (well, the basics anyway, I don't have X yet) I built kernel 2.4.18 and set up iptables to do masquerading. Now all my machines are sharing my blazing 56k modem. I'm still looking for ways to get broadband in rural Maine.

Here's a tip for you: an upgrade or installation is probably the worst time you can have a crash or power failure. Run a script like the following in the background just before starting dselect, and let it run until the installation is done:

#!/bin/sh
#/usr/local/bin/keep-syncing
while true
do
    sync
    sleep 3
done

I posted a message about this to debian-user, but it's not yet in the archives. When it shows up it will be on this page.

Why Web Browsers are a Poor Application Development Platform

I had written out most of the diary entry that I'm now going to repeat below, when I brought up another browser window to look up another web page. Then I clicked its close box, accidentally clicked twice, and my second click hit the close box of my diary entry window.

This would actually be a simple thing to fix, maybe I'll try submitting a patch to mozilla (I built it once, it's pretty huge). Just check if the text in any of the form fields has changed and ask the user if they want to submit the form before closing.

How long have we had forms on the web? How easy would it be for every browser to make that change?

Now back to our regularly scheduled broadcast:

My Honey's Coming Home

My wife Bonita's been away at an art retreat in southwestern vermont for the week. It seems to have done her a lot of good - life has been hard on us since we've been married, largely because of the dot-com crash, and there hasn't been much of real quality in her life. I'm glad she's had this.

I'm leaving at 5 am for the six-hour drive to pick her up. Tonight I'm cleaning the house as I promised her it would be spotless upon her return so she wouldn't worry about me trashing the place in her absence. I even mowed the lawn.

The workshop certainly seems to have done her a lot of good. They had her doing a lot of work that's quite different from what she usually does, and she has painted quite a few paintings. She actually had to buy ink, paint and paper during her stay there even though she arrived with what she thought would be plenty.

486DX2 Laptop Packed with 8 MB RAM, 350 MB Hard Drive, 640 by 480 Passive Matrix Color Screen and Two (count 'em: two) PCMCIA Slots!

A while back I did some volunteer work to set up the office computers for the Lincoln Street Center for the Arts in Rockland. It's the former Rockland High School which was purchased by a non-profit foundation and now used for performing arts in its rather well-equipped theater, as well as gallery and studio space.

The grateful director offerred to give me a bunch of antiquated hardware and of course I eagerly accepted.

I got the laptop with the above specs, a Toshiba Satellite T2100CS. Once I plugged it in it booted right up into Windows 3.1 and seems to work flawlessly. I ran Windows Scandisk on it and tested it at length with Memtest86 and it didn't seem to have any problems. It's also built rather more ruggedly (and heavier) than is the current practice of laptop manufacture. They just don't build them like they used to.

I plan to use it as a firewall and NAT server to share my 56k modem connection among several other machines in the house. I used to have a Pentium II box to do that, but I took it to Newfoundland in June to get my mother-in-law online.

I know there are a number of distros that would probably be more optimized for this purpose, like The Linux Router Project (which can be installed on a single floppy, so you don't even need a hard drive) but I want to go through the trouble of building a firewall myself so I learn all about how it's done. I wasn't really firewalling before, just using NAT.

I just took it as a challenge when the Debian Woody r0 boot floppies wouldn't boot - they use up more RAM than the 8 MB the machine has to offer. The kernel includes a lot of options I don't need and the root disk includes a lot of stuff so that the ramdisk is too big.

The solution will be to make a boot disk that will allow me to partition and create filesystems that can boot in such small memory constraints, and then copy the contents of the woody root disk into what will later become /home, and then use that as root when I boot to do the initial install, rather than using the ramdisk at all. I found this in the 4mb Laptop HOWTO.

I didn't have a lot of luck with making a disk for muLinux with all the weird hardware I have (SCSI hard drives and IDE floppy on my laptop) so later I tried using the GNU Parted disk set.

But parted has a kernel packed with drivers for all kinds of RAID controllers and stuff, and a 7 MB ramdisk that's full of handy disk repair tools, so that didn't even come close to booting.

Then I figured out how to resize a ramdisk image. The wrong way is to give the "ramdisk_size=" parameter to the kernel. You can boot this way but only part of your ramdisk gets loaded into memory. At some point you will get a message like "attempt to seek beyond end of block device" at which point you are likely to crash.

The real way to resize a ramdisk image is to uncompress it under Linux with gunzip and mount it using the loopback device:

mv partroot.img partroot.gz

gunzip partroot.gz

mount -o loop partroot /mnt

Then you go through the filesystem you've mounted merrily deleting files you think you won't need. Note that all the /dev special files take up a significant amount of space because there are so many of them and the inodes take up invisible space in the filesystem. There are something like 3000 special files in the /dev directory of the parted root floppy so deleting most of them actually saves a significant amount of space.

Finally there is a couple megabytes of free space in the ramdisk to allow you to save scratch files that you just can leave out.

Now you create the new ramdisk image. Suppose I'm going to make it three megabytes:

dd if=/dev/zero of=newimage bs=1024 count=3000

mke2fs -b 1024 -i 2048 newimage

(press "Y" when it asks you if it is OK to make a filesystem in a file that is not a special file).

mkdir ~/newfs

mount newimage ~/newfs

cd /mnt

tar cvf - | (cd ~/newfs ; tar xf - )

cd

umount newfs

gzip newimage

dd if=newimage.gz of=/dev/fd0h1440 bs=10240

If you want to create an image that can be put on a floppy with rawrite2.exe under DOS, use the following command line to append the appropriate number of bytes of zeros so it is the same size as the kind of floppy you want to use.

dd if=/dev/zero of=newimage.gz bs=1 count=XXXXXX

(where XXXXX is the right number of bytes)

Unfortunately that only almost booted. It would come all the way up, run out of ram, find no processes it could kill to free ram, and reboot.

So what I'm going to do is compile a custom kernel to boot off a floppy, that only has what the Toshiba Satellite needs to boot. Then I'm going to make a ramdisk image from scratch that only has cp, parted, and gunzip on it. I think it may actually save space to statically link the binaries, because the standard C library (if used as a shared library) will have a lot of subroutines that I don't use. So likely I can make a ramdisk that is only a few hundred k.

I'll write up a mini-HOWTO when I'm done.

To Onions

My wife Bonita has gone to spend the week at Bennington College in the mountains of southwestern vermont to attend an Art New England Summer Workshop on watermedia that is being put on by the Massachusetts College of Art. (Watermedia means acrylic and watercolor painting in this case.) Massart's in Boston so I guess they think it's nicer to hold their summer workshop out in the countryside. I drove Bonita down there yesterday and found that Bennington is indeed a beautiful campus.

I am very happy she is able to go and spend some time having a nice time doing something interesting in a beautiful place. Life has been very hard for Bonita almost her entire life, and especially so since we were married, because of the turbulence in the tech industry, and the stresses of buying and owning a home, and having to wait so long to get her green card. I have made four trips away on my own because of my work since we've lived in Maine, but each time Bonita has to stay home (usually because we didn't have the money for her to come too). So she's getting to live a little for once.

So I celebrated my temporary bachelorhood by cooking up some pasta sauce with lots of onions. For some reason Bonita really despises onions, she finds them revolting, so when she cooks for the two of us she never uses onions. Tonight as I sat down to dinner I raised my glass of wine in a toast:

"To Onions"

To be fair, Bonita does cook dishes with onions in them just for me to eat sometimes. She makes a mighty fine salsa - which she has never tasted.

I come from California, where I had grown up eating Mexican food. I miss the spicyness. Bonita is slowly coming around to the idea of eating somewhat spicy food, but I don't think she'll ever willingly eat onion.

So how am I spending the rest of my evening, how am I enjoying my newfound freedom? I went for a bicycle ride, and I've spent several hours doing the filing in my office.

My desk is a mess, and I need to do some state tax forms. I also recently filed my 941 Employer's Quarterly Federal Tax return, and I can't find the folder with any of my previous form 941's. That is a Bad Thing. So it's 2:30 am and I'm still filing. Once I (hopefully) find all my 941's I'll do some Maine state tax forms that are overdue, fax them in to Maine Revenue Services and go to bed.

Univega Gran Touring

I've begun doing a very happy thing. I've started bicycling again for the first time in more than three years.

I have a very nice bicycle (a touring bike), it is a red 27 inch Univega Gran Touring. Once upon a time I was so into bicycling I would go for 40 mile rides on it just to pass the time. I rode this bike 200 kilometers through Banff and Jasper National Parks in Alberta, Canada in the early 90's. (It was a Backroads bicyle tour and was a wonderful experience. Their singles trips (I haven't always been married) are great ways to meet the opposite sex.)

But for a long time the bike had sat in my garage almost completely unridden. Then I packed it up to put into storage when I moved to Newfoundland in April, 2000. We finally got our stuff out of storage and moved from California to Maine in January of this year, but it was the dead of winter so I couldn't ride. I left it unassembled, still packed in its unopened box, until last week.

But then I finally got it together to go out and put it together. It was a great joy. To my surprise, I discovered that I had a stroke of genius when I packed it back in Santa Cruz - I left the key to the kryptonite lock inserted into the lock, but turned in such a way that it could not fall out. So I even still have my kryptonite key.

I'm way out of shape (having worked as a programmer for 15 years!) so I didn't know how far I could ride at first, but I pushed hard and took it around the Owl's Head loop, North Shore, South Shore Drive and some other road past the Knox County airport. here's the yahoo map of Owl's Head.

I had a tough time of it (there are some hills) but I made it all the way around on the first try!

Today I timed myself - 36 minutes. Later I drove my car around the loop so I could measure the distance with the odometer. The trip is 6.4 miles - 10.67 miles per hour. Not bad for an old fat guy! Then I set up a spreadsheet so I could track my progress over time. I'm going to try to do the loop every day, when my time improves somewhat I'll start doing two laps, and eventually ride into Rockland and back.

When I'm able to ride into town and back regularly I'm going to re-join the Mid-Coast Gym. I was a member for a couple months a while back but I only went three times because I'm such a slacker. Bonita went every day or so for six months, and got in much better shape than she was. I'd like us to be able to go work out together.

Mid-Coast Gym is owned by a woman named Mona, who Bonita hires from time to time as a personal trainer. Mona celebrated her fiftieth birthday last year by riding coast-to-coast across the U.S.A. (Atlantic Ocean to Pacific). So I know I've got a ways to go yet before I can really claim I'm a cyclist again.

At the time of my life I've been in the best shape I ever was, I was riding one or two times a day up a big hill to U.C. Santa Cruz and out to the neighboring towns of Davenport to the north and watsonville to the south. I weighed about 180 pounds, felt great and was trim and muscular. Now I weigh 250, I'm about 16 years older, and I tremble with fear just to walk up the stairs to the second storey of my house.

So my goal is to weigh 180 again, ride at least 20 miles every day, and make a 50 mile ride at least once a week.

Unfortunately it snows pretty heavily during the winter here in Maine, so I'll need to stay in shape working out indoors. I've seen these workout stands one can mount a bicycle on that use spinning fans to provide resistance - a bicycle racer I knew had one of these. I'll get one by this winter.

I also used to lift weights. Not a whole lot, but overall I was much stronger then than I am now.

Bonita has been expressing concern for a long time that I am at risk for a heart attack (I am 38 years old). I had to pay significantly more to get life insurance because of my weight. Also an old friend who is only a few years older than me wrote me a while back to tell me he had been diagnosed with unstable angina, and to urge me to improve my diet and exercise regularly.

Oh, yeah, one more thing. It feels simply excellent to be riding again.

Lots Going On, and some Very Happy News

I'm afraid things have been far too hectic for a while for me to write, and I won't be able to write much even now.

Bonita's parents came down with us from Newfoundland when we returned home. A week later, her older sister and her family (including my brother-in-law Bruce, whose PC I installed Debian Woody on just before I left Newfoundland, and their two teenage daughters) came down to visit for a couple weeks. When her sister's family returned, they took Bonita's parents back with them.

I have some very happy news - one of the reasons I have been so busy is that we went to Montreal for Bonita's immigration visa interview at the U.S. consulate there. She also had a pretty thorough medical exam which included a couple vaccinations and a chest x-ray (to look for tuberculosis).

So the happy news is that nearly two years after we started the application process, we received Bonita's immigration visa! An hour later we arrived at the U.S. border in northern Vermont, surrendered the visa, Bonita submitted a signature and a fingerprint, and she was admitted to the U.S. as a permanent resident!

A temporary Green Card was stamped in her passport. She can now stay in the U.S. as long as she wants, and (importantly) obtain employment in the U.S., and can also qualify for U.S. bank loans (we would like to refinance our house, since the interest rates have dropped since we bought it, and we may qualify for a better loan with Bonita as a cosigner).

Happy news indeed!

Quite coincidentally (and completely unplanned) is that we celebrated our second wedding anniversary in Montreal!

(If you wonder how Bonita was able to come here before - Canadians can enter the U.S. freely as tourists for up to three months at a time. So each time she arrived, she had to leave a little less than three months later. Usually she would go visit friends in Nova Scotia and then come back. Even so, this wasn't a very good situation as she was not guaranteed re-entry into the U.S., and she could neither work here nor obtain credit here.)

I'm afraid though that within about five minutes of us arriving back in Canada on our way to Newfoundland in June, we both decided we wanted to move back to Canada (but to Nova Scotia this time). So now I get to start the same process Bonita just went through, to become a landed immigrant in Canada. But things will be more sensible now that we are both legally allowed to reside permanently in the same country as each other.

Today is July 30, 2002. I'm going to call up an immigration attorney in Halifax in the next week or so to tell him I want to apply to immigrate. Someday (hopefully) you will find news of my success in my diary much later on - I'll link back to here. I'm told it usually takes a year; Bonita's green card took a little less than two years and would have taken very much longer had she not been married to an american citizen with a good job. Let's see how long it takes me to immigrate to Canada!

Nice Words

I've been consulting for a private hedge fund named Market Research since last summer. Just now, Andrew Mart, the Director of Research there sent me the following:

Your code stands out in our code base as elegantly structured, making full use of the object oriented nature of c++, well documented, easy to understand and maintain, efficient to execute without violating interfaces or type safety, as well as platform independent with minimal dependencies. It is clear that your are thinking not only from the perspective of the hardware processor, cache, and RAM but also from the perspective of the user and other programmers who might later be responsible for maintenance of the code. The code is interesting to read for new ideas and tricks on how to make full use of what c++ has to offer. Furthermore, by using compile time safety checks and automated test harnesses as part of the build process, the code is hard to break since it maintains its integrity against other rushed programmers adding features before they read the code and understand its design assumptions.

Anyway, I have certainly learned a bit from reading your code and talking with you. Please let me know if you ever need a letter of reference.

That makes me feel really good. I worked hard on their code. I also stretched myself - there were a number of things that are in the code I delivered to them that I had never done before.

He also gave me permission to quote something else nice he said about my work earlier today on the phone. Go have a look. It's on the left and down a little ways.

Take a Stand

I just sent the following email around to some of my friends and family. I thought you would be interested to read it too:

Please consider signing the online petition, "No cooperation with U.S. Stasi".

It seems that Dubya wishes for us to form citizen's committees to rat out our neighbors, a well respected tradition with roots in such forward thinking nations as East and Nazi Germany, China during the Cultural Revolution and the USSR under Stalin, Vichy France and the Khmer Rouge's Cambodia.

The petition is at:

http://www.petitiononline.com/NoTIPS/petition.html

It's quick, it's easy, and best of all it's probably the simplest way for you to get your very own file folder started at FBI headquarters. Be the first on your block! (I understand if you listen real carefully, you can hear the spooks breathing on your phone tap.)

If you haven't already, please read my following two web pages, one an essay I wrote a few months ago, and the other a speech delivered by John J. Chapman 102 years ago - and even more profoundly important today than it was when it was first spoken:

Is This the America I Love?
http://www.goingware.com/notes/america.html

Make a Bonfire of Your Reputations
http://www.goingware.com/reputation/

Ever Faithful,

Mike

Perhaps President Bush's antiterrorism efforts are really a smokescreen to distract the American public from the financial shenanigans that he and Vice President Dick Cheney engaged in while Bush was a director for one texas oil company and Cheney was a senior executive at another.

My ISP, Adelphia, filed for bankrupcy after public disclosure of a Securities and Exchange Commission investigation into highly irregular loans that members of Adelphia's founding family received from the company.

President Bush received a loan under similarly favorable terms from an oil company he was a director of a while back. Recently, Bush rather hypocritically spoke out against such loans, and the House and Senate voted to make such loans illegal just in the last couple days.

(I read in the newspaper yesterday that the family members who received Adelphia's loans are likely to be indicted. Only Congress can indict a sitting president - a Congressional indictment is called "impeachment". How long do we have to wait before Bush is impeached?)

Further, Bush' oil company engaged in a fraudulent scheme to inflate its earnings while he was a director, in order to drive up its stock price. The SEC later forced the company to restate its reported profit as a loss. Bush sold his stock in the company just before news of this caused its stock price to plummet, an action for which he was investigated for insider trading by the SEC.

The SEC took no action against him, but did not release all the documents to the public. Now that Bush is president, many members of the public as well as many congressmen are calling for full disclosure. Yet despite Bush's claims that he did no wrong, the White House is forbidding the SEC from releasing these documents.

Finally, I'm less familiar with the details, but apparently Vice President Dick Cheney used to be a senior exec with an oil company called Halliburton, which is now found to have been cooking its books. Cheney denies having any knowledge of it, but yesterday the current president of Halliburton publicly stated that Cheney knew full well of the fraud when he was an executive there.

I don't want in any way to discount the greivous loss of life as well as the crippling injuries that resulted from the 9/11 bombing. But consider for a moment the economic impact that the 9/11 bombing had - nearly every employee killed at a whole stockbrocker company (Cantor), New York City tourism dried up, air travel down around the world, as well as the cost of fighting the war in Afghanistan.

Now consider the economic impact of the gross, and apparently quite widespread, corporate financial fraud that has been going on apparently for quite some time. Enron was the largest bankrupcy in U.S. history, yet it seems that in a few days WorldCom will become an even larger bankrupcy than Enron. The founding family of Adelphia borrowed $2,500,000,000 from Adelphia in such as a way as to leave this public company's stockholders liable, yet were given the loan without the knowledge of Adelphia's board of directors.

Qwest, a major phone company and ISP, is on the verge of bankrupcy too, and is desperately seeking a purchaser to acquire it, but no purchaser may step forward, because Qwest is under criminal investigation, and any company that buys Qwest would also acquire any criminal liability if it is found guilty.

It's not just a matter of a bunch of rich guys losing on the stock market. The rich guys - the people like George W. Bush and Dick Cheney - don't lose when this happens, because the have insider information, and get it early enough to cash out.

The real losers are ordinary people like you and me, programmers whose livelihoods depend on a healthy investment climate so that software companies will have the capital to hire us to write their products.

The losers are ordinary people like our mothers and fathers, people who are retired or are close to retirement, who depend on their investments in companies that once seemed reputable to sustain them through their golden years. Many elderly people who had invested in Enron have had to get minimum wage jobs at McDonalds in order to put food on their table. Now they will be joined by the other elderly people who had invested in WorldCom, Adelphia and Qwest.

It seems that there are many other such companies whose financial shenanigans are just coming to light. The economic impact of this will be far worse than the September 11th bombing.

Yes, Mr. President, what this country really needs is a Citizen Corps to rat out our neighbors in the fight against terrorism.

I know where one rat can be found - and he's a ringleader. Why don't you send the rat an email?. Or snail mail if you prefer, here's his street address:

President George W. Bush
1600 Pennsylvania Ave. NW
Washington, DC 20500-0004

According to Switchboard.com, you can give the rat a call at (202) 456-1111 (if you're not in the U.S., the country code for the US is 1).

Oh, I forgot to mention, many members of congress are calling for the resignation of the Secretary of the Army. It seems that he cashed out $31,000,000 worth of Enron stock when he was an Enron executive, and was the head of an Enron division that fraudulently manipulated electricity supplies to drive up prices in California during a desperate electricity crisis there. That's the kind of guy I want leading our boys in Afghanistan!

Guess I'll be the first up against the wall.

Back Online

Happily, a friend lent me the password to a national ISP that he keeps a subscription to for when he travels, but doesn't otherwise use much. So now I'm connected again. I'm researching new ISPs. I want to use a local Maine ISP - I always try to use mom 'n pop shops. I had no idea mint.net had just got bought by Adelphia when I signed up with them or I would have used Midcoast.com.

I'd appreciate any advice you may have for finding a new ISP.

What I want is always-on service with a static IP where I can run a server offering any protocol I want. I want no packet filtering, so I can use ping and traceroute, as well as portscan myself from the outside to test my security. I don't need much bandwidth, 128 be acceptable and 256k would be just great. 56k modem service would work, but would be slower than I'd like.

Unfortunately, both DSL and cable modems do not appear to be options because of my rural location. I looked into Midcoast's 802.11 wireless service but the signal couldn't penetrate the forest surrounding my house. I think there is two way satellite service sold in the area, but I don't think they'd let me run a server. I think the latency for interactive logins to my hosting service in Seattle would be unacceptable too. But if I can run a server on two-way satellite I'd like to know about it, I could deal with the poor latency if it would allow me to run a server with at least 128k in both directions.

So the options I think I have are dialup, analog leased-line, Centrex ISDN, or frame relay.

I know frame relay is expensive to install. I could deal with that but I can't figure out what the monthly charge would be - pricing for it is complicated. If anyone could give me a clue for what a month's charge of frame relay with guaranteed bandwidth of 128k would be (and very modest amounts of data transferred) I'd be very grateful - crawford@goingware.com.

Centrex ISDN would probably be the best compromise but I think it is unlikely anyone offers it. ISDN is not so widely used. I may not even be able to get an ISDN line installed by the phone company at all. With Centrex ISDN you can make an ISDN call to your ISP all month long without paying for the time (ISDN calls are normally metered at a business rate), you only have to pay the basic rate for your line, like $20-$30 a month. The ISP has to subscribe to Centrex service from the telco. My old ISP in Santa Cruz offerred Centrex ISDN and it worked well for many of their customers. I have a Motorola ISDN modem that I used with the Santa Cruz ISP and I found it really cool to use.

I can get static IP dialup service with a dialin number reserved for my private use for $79 a month from Midcoast. This would work OK. My main distress is that the outgoing bandwidth on a 56k modem is just 33k. This would be so slow as to make most of what I want to do with my server pretty painful. But that's the option which is currently leading the pack, I'm just not happy with it.

An employee of another Maine ISP (Great Works Internet) who wrote to me after seeing my previous lament about Adelphia's demise, told me that I can get toll-free dialup to most of the ISPs throughout Maine using a special area code 500 number. That greatly expands my choices. What would be really cool is if someone offerred Centrex ISDN on one of these 500 numbers, then I would be really set.

So help me out. I've spent a lot of time checking out various ISP's web pages and emailing their support staff, but it's really hard to get a straight answer to my questions. Very few of the ISP's seem set up to provide the kind of service I want.

Network Solutions Earns the Loss of My Domains

When registered my first few domain names, I used Network Solutions. That's all there was at the time.

But when competing registrars came into existence, I registered my new domains at Melbourne IT both because of all the negative stories I'd heard about Network Solutions as well as the recommendation of the Domain Name Buyer's Guide.

The Domain Name Buyer's Guide seems to have had it's domain name bought by some registrar that no longer offers the incredibly helpful information that it used to have. Unless I've got the domain name wrong? Is it domainnamebuyersguide.com or is it somewhere else now?

I emailed a request for a domain transfer form to Melbourne IT just now, and included the following in the letter. I thought you would all be interested to read it too:

I'd like you to know why I started using Melbourne IT for some of the newer domain names I have registered, and why I am transferring my domains away from Network Solutions.

I discovered Melbourne IT when I found your high ranking at the Domain Name Buyer's Guide (which sadly seems to have disappeared). My primary concern was the rights given to the domain owner in your contract. I think one or two other registrars may have placed higher than you in the overall ranking because of their lower prices, but you ranked the highest in terms of the rights given to the domain owner.

I have never been very happy with Network Solutions. While with one important exception (noted below) they have handled my own registrations OK, I have heard far too many horror stories to want to stay with them. It just happens that most of my domains were registered with Network Solutions before competing registrars were allowed. I think I may have registered one or two after this but before I was able to make an informed choice of who else to use.

Among the horror stories I have heard:

  • transferring ownership of domains in response to fraudulent requests

    (sex.com is a notable example; network solutions refused to transfer it back after it was stolen. There was a court battle over it for several years and ownership was only restored to the original registrant after he won on appeal and network solutions was ordered to do it by the court).

  • losing customer payments

    (a close friend of mine who owns quite a few domains has had several payments lost by network solutions with the result that some of his domains expired without him being able to prevent it. His credit card was charged yet no credit was made to his registration accounts. I've heard tales of this from lots of other people.)

  • inability to reach a human being for customer service or tech support. Network Solution's wall of silence is legendary.

  • spam sent by network solutions to domain owners, banner ads on network solutions web sites, direct snail mail hawking .cc and .tv domains, and browser cookies that are obviously meant to track me for marketing purposes that are placed when I visit their site to manage my domains.

  • sending fraudulent "renewal" notices to domain owners who use competing registrars. I'm sure you have heard about this. There was fine print on the back of the notice that indicated that sending in payment for "renewal" would transfer the registrar to Verisign (network solutions new owner).

    This is the use of the U.S. postal service to commit fraud, pure and simple. Because these letters were sent from one U.S. state to others, it is a U.S. Federal crime.

    I'm happy that the courts have ordered them to stop doing this in response to a lawsuit filed by one of the competing registrars, but I feel that criminal prosecution should be pursued by the Postal Inspector. I had intended to forward Verisign's letters to the Maine State Attorney General with a letter urging him to prosecute, but I'm sad to say I got too busy to deal with it and lost the several such letters my wife and I received from Verisign.

Finally, I had meant to transfer domains a long time ago, but the reason I am finally getting around to it:

  • Network Solutions has allowed several of my domains to expire without notifying me that I needed to pay for renewed service. This happened to two domains I use as well as one of my wife's domains. I received neither email nor snail mail billing notices; previously I used to receive both at least a month before payment was required.

    One of these, goingware.com, is the domain for my business, and where I receive almost all my email. I am a self-employed software consultant, and continued registration of goingware.com is vital to my family's livelihood.

    Yet I found out my registration had expired when I was unable to log in to my email server one day. That same day I got a call from a friend that all my email was bouncing because name lookup was failing. That kind of thing just has to stop.

You should be pleased to know that Network Solution's hijinks are resulting in their loss and your gain.

Back Home in Maine

We arrived home last night after an exhausting three day drive (with a seven-hour ferry ride) to find the lawn overgrown, our long distance service cut off, and my dialup service no longer working because my ISP, Adelphia, has declared bankrupcy.

Bonita's dad is making steady progress at mowing the lawn, and I'm dialed in long distance to the ISP account I'd set up for Bonita's mom in Newfoundland.

Here's a challenge for you - try dialing in to an ISP in another country with a calling card!

(We had paid all the bills we'd received by the time we left for newfoundland, but I guess our AT&T bill hadn't arrived yet).

This is costing a lot so I have to keep it short.

On a positive note, Bonita's foxglove had grown taller than her mother and bloomed while we were away!

102 older entries...

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!