12 May 2008

What I've Learned from Daphne

As you may have read, I built a small, autonomous robot named Daphne in the last month and entered her in the DPRG RoboRama 2008a contest. Daphne performed well despite all my efforts to "improve" her.

Now that the contest is over, I have some time to reflect on what worked and what could have worked better. I'll start with what worked and go from there.

What Worked

The one thing that worked the best was the battery. This is often a problem on game day for many robots. This became an even more challenging factor during the much longer run times of the outdoor contests.

Daphne sports a 7.4 V lithium polymer (LiPoly) battery composed of two generic cell phone cells. I don't know their exact capacity but I suspect it is somewhere around 500 mAH or possibly more. Daphne usually runs all day on a single charge. I use a hobby 1-3 cell LiPoly charger to refuel as needed, which takes between one and two hours. I have to disconnect the battery from the main processor board during charge, as the charger does not like to power the rest of the circuit. The cells have a built-in PCB that prevents over-voltage charging and over-discharge, which are special factors in LiPoly use. They probably have a fuse (I hope they do!) but I've yet to test this. I soldered wires directly to the gold contact area on each cell. The two cells are tie-wrapped to a plate attached to the bottom of the frame. A power switch is mounted to the frame. This is considered a luxury amongst some robot builders! There is also a LCD DVM mounted to the frame that shows the battery voltage. Once it gets under 7 volts it drops like a rock. Daphne ran all day during the contest and never needed any more juice.

Daphne's two wheels are powered by a pair of Faulhaber MiniMotors. These precision motors were from BG Micro but I believe they are now sold out. Tanner's is rumored to have some more. David Cook wrote a nice article about them. They come with a 141:1 gearbox and a quadrature encoder. These motors are just a pleasure to work with. They draw very little current and make almost no sound. I used a Texas Instruments SN754410 quad half-bridge driver chip to control the motors.

Daphne's framework is made of 1/2" aluminum right angle that I bought at Home Depot. I hacksawed several lengths and drilled a bolt hole pattern for the motors. I didn't use the right angle gear box that originally came with the motors. The frame is light and rigid.

I used one of my AVR Proto32/64 boards to hold an Atmel AVR ATmega644 clocked at 20 MHz as Daphne's main brain. After prototyping new circuitry using the header pins, I hardwired everything into place on the bottom. The mega644 has 64 K bytes of flash memory, but the current firmware is less than 16 K bytes long. The source code is written in C and compiled using the GCC compiler as supplied by the WinAVR package. This is the code as run on the day of the contest.

What Could Be Improved

I was not entirely happy with the performance of the electronics. There was a semi-random error condition that would manifest itself and I have yet to track it down. Other than that, the processor did what I told it, even when that diverged from what I wanted it to do. The motor control software works well and supports very good odometry (in theory). The processor is able to execute floating point math and transcendental functions without breaking a sweat.

I originally used a 4 Hz update loop to control all the inner workings. This was an experiment just to see if it was possible. While it is possible, it is not practical. At one point I upped the update rate to 16 Hz but then felt that it was pushing the limit. I backed it down to 8 Hz and that was the rate used during the contest. A small, blue LED flickered to show relatively how much CPU time was being spent in the update loop. It seems to be "not much".

Daphne's two wheels were custom made by my father, John Wheat. He's made several versions of these wheels for me. The wheels used during the contest used the timing belt pulley that came with the motors as the hub. This was pressed into the center hole of the wheel using an arbor press. They have teeny, tiny set screws that don't seem to want to stay tight, resulting in several, unfortunate wheel-falling-off episodes. A different (i.e., real) hub design is almost ready.

Until the day that Daphne can balance upright on her two wheels, there is an unpowered caster mounted to a cross-piece at the end of the frame. This little, plastic, dual caster was originally from some small and exceedingly economical table of some sort. It is just sort of jammed up into a hole drilled in the cross-piece. It causes a great deal of 'navigational uncertainty'.

What Was Plain Embarrasing

My navigation routines need improvement. One especially bad case is a simple 90 degree turn. The robot seems to come to a dead halt and spend a good deal of time deciding which way to go. In reality, it is waiting for enough error to accumulate in its little algorithm to be able to tell the motors which direction to turn. I've got several competing ideas to try out in the aftermath.

Another problem resulted from the wheels falling off. As if that wasn't bad enough, the odometry calculations rely on knowing the distance between the wheels to a good degree of accuracy. While I had spent over an hour tweaking the value in the code, all that went right out the window when the left wheel fell off as I was placing Daphne in her box to go to the contest. Two solutions present themselves. The first is to improve the mounting hardware. Please don't email me to suggest super glue. The other is to dynamically determine the wheelbase at runtime. Both solutions are scheduled for implementation. The upshot is that even though Daphne knew with every fiber of her being that she was driving in a perfectly straight line, the difference between her perceived and actual wheelbase dimension distorted that line into a large yet graceful arc. She managed to run the "There & Back" challenge in exactly 4 minutes (100 feet each way × 10 inches per second) but ended up 120 feet from the starting point. No other robot came close to that record. I think it is safe for now.


11 May 2008

I'm a Winner!

Daphne, the Prize-winning Robot
Daphne, the award winning robot

It's true. I have a shiny gold medal hanging around my neck to prove it!

I couldn't have done it without my lovely and talented robot, Daphne. She's a winner, too! She is, in fact, a prize winning robot, which makes me a prize-winning robot designer. ;) Thanks, Daphne!

I'd also like to take a moment to thank both Eric Sumner and David P Anderson for coordinating two excellent robotic events, which drew competitors from all over the country. Something that might have escaped casual notice is that both of the contests (the indoor contest by Eric and the outdoor contest by David) were both completely new and had never been done before. You would not have been able to tell; things went so smoothly and professionally. Having attempted to coordinate robot contests myself in the past, I appreciate how impressive this accomplishment really is and again express my gratitude to these exemplary members for their hard work and willingness to serve. Thanks, guys!

A tip of the hat also to our very generous sponsors who donated thousands of dollars worth of prizes to our event. My understanding is that all the prizes were awarded due to the excellent turnout and quality of the participants. Be sure to let them know that we appreciate their sponsorship of our club.

Of course I'm leaving out a lot and I hope to see some other people's feedback about the contest on the DPRG list.

Posted 11 May 2008 on DPRG mailing list


16 April 2008

The Mystery of the Missing AVR32 Hardware

I attended the AVR32 UC3 seminar on March 5, 2008 in Dallas TX. Due to a shipping problem, the EVK1101 and JTAGice mkII that we were supposed to receive and take home had not arrived. Local Atmel FAE Ivan Zellner did a great job rounding up enough 'loaner' boards for everyone to be able to participate in the hands-on seminar. I learned enough about the new UC3B parts to be very interested in developing some new projects with them, and looked forward to receiving my EVK1101 board "within a few days".

So now five weeks have passed and still no boards and no expectation of when the boards might be available. Local Atmel folk as well as Atmel corporate's response is full of apologies but lacking any sort of explanation or schedule for delivery. Distributor inventory checks from Atmel's web site show these boards to be in stock.

I'm told by the local Atmel office that the other Texas cities on the UC3B seminar tour have already received their product.

What's the deal? Where's my stuff? I think I've been quite patient and polite about this so far. Ideally, here's what I'd like to see happen, in order of preference:

1. Product that was paid for and promised over a month ago gets delivered.

2. An explanation of why the Dallas seminar attendees were selected to not receive their product, and who got in instead.

3. A "Plan B" to make this situation right from the perspective of the consumers.

I don't want any more apologies.I just want what I paid for.

Posted on AVRfreaks forum on 16 April 2008

Update: 21 April 2008 :: Both the EVK1101 (I had been mistakenly calling it the EK-1101) and the JTAGice mk II arrived today in working condition via certified mail. Thanks, Pat!


5 April 2008

Comic Con Dallas 2008

Poof!  Your wish is granted!
Poof! Your wish is granted!

The original sketch
The original sketch

Oh what fun it is to hang out at comic book conventions! Seriously, I mean it. There are a lot of very interesting people about. Here is a portrait I had done there with two beauties from the Austin Browncoats. So now you know what I would look like as a comic book hero (or maybe villian). Jennifer is "Sexy Indiana Jones" on the left and Beth is "Armed River Tam" on the right. Thanks, ladies, for posing with me! The title of the piece is "POOF! Your wish is granted!" and was drawn by Dallas artist Terry Parr. Jenn's wish was to have a whip. Beth's wish was to have bigger, um, chesticles. My wish was to be seen with two such lovely ladies. Three wishes for the price of one! What a deal!


2 April 2008

The Day After April Fools' Day

The problem with the day after April Fools' Day is that you look back over everything that happened and all that you heard and wonder, "Wait... was that for real or just a joke?" I predict that at some point in my life that will become all too common on a daily basis. Marcus Aurelius told me this. Well, he didn't actually tell me [cut to incredulous Russell Crowe: "You knew Marcus Aurelius?!?"]. He wrote it down because he thought it was important and [time passes] I read it. It's in the introduction and dedication of his "Meditations", sometimes titled "To Myself" if you're interested in following up on it yourself.

Learning More About Linux

I want to move this website to a dedicated server. At the moment it is and has been for many years hosted on a "virtual server" by a commerial hosting company, like almost all small web sites. My goal is to have it running on hardware and software that are completely under my control. The only problem with that is that I don't know everything that I need to know to get that done. I've never been over-a'feared of learning so I have decided to pursue the goal and accomplish it one stage at a time.

The first stage is to set up a reasonly small and quiet computer here that will do the job. Hosting a simple web site such as this one is no great task for any reasonably recent computer to do. To do this I will have to master some basic system administration tasks, such as hardware and software installation, maintenance, backup and monitoring. After that I have to learn how to get connected to the outside world without letting all of the outside world in to my private computing system. This is a science in itself, as anyone who has undertaken such a task, or had it thrust upon them, will already know.

For this interim, first stage, I have jumped the gun and downloaded Ubuntu's Hardy Heron beta and will be installing it on a modestly-equipped Intel machine. For the time-being, this machine will also be the foundation of a development platform that I have been considering for some time now. Hopefully all this will transition smoothly in a forward manner as I cram my poor head full of arcane knowledge. Ever hopeful, that's what I am.

The second stage is to then refine the process to such a point that I can move it from a general-purpose computing system to a dedicated platform. This will decrease the size, noise and power requirements by several orders of magnitude. I'll keep you posted on what, if any, progress I make on this project.

Back to School: Repeat as Necessary

Since I have neglected my diligent, daily dictation of my mundane minutia, as well as you, Gentle, Everpatient Reader for months and months, you will most likely not be aware that while I have been continuing my education, I have transplanted myself to the more local and much more reasonably priced Trinity Valley Community College. This semester's ambitions revolve around rounding out my finer side with some Music Appreciation as well as taking another swing at College Algebra. With about five weeks remaining in the term, I hope to continue my 4.0 streak that I've been able to maintain for the last fourteen years. You'd think I'd have graduated by now, wouldn't you? When people ask me what I'm taking, I can only say, "My time".


1 April 2008

April Fools' Day!

Watch out! Every headline is a potential gag and every straight-faced assertion is a potential joke. Polite tradition suggests that the inevitable prankery diminish exponentially after noon. Don't hold your breath.

RBNO Tonight

Seriously. No joke.

Dallas Personal Robotics Group

RBNO is a weekly event held by the DPRG. RBNO is an ETLA that stands for "Robot Builder's Night Out". It is an informal gathering of folk interested in robots, robot building and technology. All are welcome. Small children should be supervised at all times by their benefactors, i.e., responsible parties, due to the nature of the authentic industrial warehouse environment. It's a lot of fun. Someone usually shows up around 6pm and the merriment continues 'til the wee hours.

I will be showing off some of my re-purposed BIGGER IR Spotlight PCBs as well as a prototype motor controller.

Down with Daylight Saving Time

I refuse to participate in this madness any longer. It was bad enough when the clocks went bonkers on a regular schedule but now it's whenever someone wants to jerk us all around. All clocks within my control remain set at the actual local time, which is called "Central Time". Join me, won't you? Otherwise you run the risk of being lumped into the undesirable category of "you people".


March 2008

Where Did the Time Go?

I don't know. I guess I got lazy or distracted. Time flies when you aren't paying attention. In any case, here I am again, letting you know that I'm still alive and kicking. Drop me a line and let me know what you're up to.

BIGGER IR Spotlight PCBs For Sale

BIGGER IR Spotlight PCB
Buy some of these from me.
Make incredible stuff.
Assembly instructions (PDF)
Schematic (PDF)
$9.95 each
Buy 5, get 1 free!
Buy Now

Johnny Lee
Cool Wii projects

The BIGGER IR Spotlight is a bigger and more powerful version of my original IR Spotlight. You can use it for all kinds of things besides see-in-the-dark surveillance. Most recently, I have used it as a wide-angle IR illumination source for Johnny Lee's multi-touch interface using the Nintendo Wii remote. I also wrote some programs for accessing the Wiimote directly from a PC. I will be documenting that code and what I discovered about the really amazing Wiimote in the Very Near Future.

Another interesting application is to populate the array with visible light LEDs instead of infrared LEDs. I have built a white LED version as an emergency light for when the power goes off. It lights up a room enough to walk around safely or to read by if you're close enough to it. Another project was a multicolored, high-brightness LED version. It would be a lot easier to show you a picture than to try to describe it, but that would involve all the effort of taking a picture, uploading, etc. I have to pace myself, ya know. You can build all sorts of interesting LED displays using these arrays. You'll have to figure out what resistors, if any, you will need depending on the characteristics of the LEDs and the power supply you choose. I can give you some basic ideas of what would work. Send me a note describing what you have in mind and I can do some rough calculations for you. There are also some good LED array resistor calculators available online.


October 2007

Yet Another New Toy

I recently attended a technical seminar on the new STM32 line of Cortex-M3 devices from ST. Several development boards are already available but I don't think the actual parts have reached distribution yet. I saw an interesting "toy/development system" there called the "STM Primer", a small orange disc attached to a neck lanyard. It has the STM32F103 (performance line) part with 128K Flash, 20KB SRAM, 72MHz operation and lots of peripherals, including USB (device only). The miniature unit has an easy-to-open plastic clamshell, a push button, a small color graphic LCD (think cell phone), a buzzer, 2 LEDs and (my favorite) a 3 axis accelerometer. I will be keeping some notes about my experiences with this device. I'm going to experiment on it and see if it can make a robot balance on two wheels.

I've written some simple line-drawing routines for the CircleOS operating system. You're welcome to use them however you see fit; just don't blame me for them. The format is consistent with the RIDE7 application wizard, but you can lift the routines out and plant them almost anywhere. I wrote similar routines for the Embedded Artists' Summer Fun project which also had a small 128 × 128 color LCD. That library also included Bresenham lines as well as filled and unfilled circles. Sadly, they all went up in smoke when my hard drive crashed back in March. Luckily, everything I've ever done is either trivial or derivative. It shouldn't take too much work to reproduce them.

Staying Busy

Keep your eyes peeled for my next article to appear in the December Circuit Cellar magazine. It's the last "Graphics & Video" issue ever. They're retiring that theme and replacing it with FPGA stuff. My article is neither graphics nor video, although it does have a display. It's the LCD DVM project (liquid crystal display digital voltage meter) that shows how to drive LCD glass directly with a microcontroller GPIO port. I use an Atmel AVR ATmega48 (of course) to display a 3 digit voltage meter. It's good for reading battery voltages up to 10V. I have a bunch of PCBs left over from the first prototype run if you're interested in buying one or building your own. To squeeze in the special "last hurrah" edition, I had to slice the article to the bone, to the tune of 1,600 words omitted. Sigh. I'll publish the full length article here in January or so, if anyone's interested.

September 2007

I give up. I can't seem to be bothered to write something here every single day. Once upon a time I had so much to tell you. Now it's all flying past in a blur so frantic that I'm having a hard time just keeping up with it in realtime, much less having time to write it all down.

My PIC-an-LCD article is out in this month's Circuit Cellar magazine. The PIC-an-LCD is now ten years old, and it's time it went out into the world to find its fortune. You can download the source code and program your very own PIC-an-LCD chip, or you can buy one from BG Micro. For large quantities, you can contact me directly for a quote.

I'm writing some notes on the Luminary Micro EK-LM3S6965. This is an evaluation kit (EK) for the LM3S6965, an ARM Cortex-M3 microcontroller.


27 August 2007

Back To School

My first day back to school, and I am exhausted. It was great seeing lots of folks from last year returning. I also had the interesting experience of stepping into a math class taught by someone I went to high school with! That was unexpected.


26 August 2007

Welcome Home!

My son is home on leave, getting a break from the war in Iraq. We're planning on having dinner with him this evening. Then it's off to Seattle to see the rest of his family. After that it's back to making the world safe for Daylight Savings Time and stamping out the metric system where ever we find it.


25 August 2007

Final Touches

I'm getting the last of the major yard work completed in anticipation of heavy rains from hurricane Dean. Although Mexico is taking the worst of the damage from the storm, we are expecting a lot of rain in the aftermath. I've mowed all the tall grass and cleared most of the overgrown areas. I repaired the footbridge, so I was able to get across the draw and mow over there, too. It took two passes as the grass there had been neglected for the better part of the season, due to the bridge being out. I've been able to clear about half of the draw, lengthwise, but there is a troublesome area at the confluence of two streams, where a large oak branch lays after being struck by lightning. My endurance with the brushcutter is improving and I should be able to take a big bite out of the overgrowth there tomorrow.


24 August 2007

Not much to say today. Don't really feel like writing anything. These things happen. I only note it here so I can try to spot a trend in the future.


23 August 2007

Wrong Deadline

I had been under the mistaken impression that one of my writing deadlines was today. I seemed that the sun, moon & stars themselves were conspiring against me. Every possible distraction from writing that could happen has happened. Some poor scheduling decisions have also been made. The good news is that I have just now gone back and checked the correspondence wherein I agreed to the deadline and lo! & behold! I was wrong; the actual deadline is 27 August. It's strange how these things work out. So now I have four more days to get my project done. Unfortunately, that makes me feel that I now have plenty of time to get it wrapped up; I do not. I'm reminded of a saying from my previous carreer in IT, to whom I lack the initiative to do the research to give proper citation: "To a programmer, a weekend is an infinite amount of time."


22 August 2007

A Day Without Writing

More precisely, today was a day of writing for someone else. (Pssst: I'm actually writing this tomorrow, as the whole day got away from me somehow.) I took some pictures, wrote some sentences, got paid. Sitting at a desk all day is hard on an active body. I only got a little yardwork done in the morning. I've managed to order my text books for school. If all goes well (and I'll know when I have the actual books in my actual hands) I will have saved quite a bit of money. Should this be the case, I will publish the details of my coup. If not, you probly won't hear much about it.


21 August 2007

Getting Ready For School

I continue drilling for the early mornings at school. I can get up at or around 6:30am with a little determination. Walking the dog and tidying up around the yard gives me just enough time to get ready and drive into town by 9:00am. I still don't have my textbooks yet. I am still hoping to order them online and save a little cash.


20 August 2007

Back To Work

Monday morning finds me driving into town for a full day of actual work. It's good work and it pays well, so I'm not complaining. Tomorrow I get to play catch-up on all the yardwork I neglected this past weekend while we were vacationing in gorgeous Galveston. We visited NASA (the Johnson Space Center) and got to do all the touristy things we love to do when on the island. I'll be going through the photos later and might post a few here & there.


18-19 August 2007

I'm on Vacation


17 August 2007

A Last Hoorah

As you read this, I'm probably already on the road to celebrate the last weekend of Summer Vacation. The plan is to go to Galveston Island and swim in the Gulf of Mexico as well as to take a tour of NASA. The plan is subject to change. There has been a lot of stormy weather in our fair state over the last few days, and this will only continue as hurricane season gets into full swing. I don't mind driving in the rain, but after a while it just gets old. There may be some unscheduled diversions along the way - and that's OK, too. Perhaps I'll have some more boring 'holiday snaps' to share with you when I return.

Random Updates

The practice run of yesterday confirmed that I will be able to get to school on time provided I can get started early enough. I also got some comparison shopping done on my text books. I'll save about $20 trading with the off-campus bookstore. Now that I have the exact titles and ISBN data, I can try again to order my books online. I will try to get all that done next week when we return from vacation. That will give them just about enough time to get shipped before school starts, as well as leaving some margin for Plan B, which is to just buy them from the bookstore locally.

The LCD_DVM article is coming along nicely. I managed to emit another thousand or so words last night and am now at the point where I will need to start recreating the schematic and PCB layout. The original artwork was lost in the Catastrophic Data Loss of Ought Seven. Luckily for me, a single printout of the original schematic survived, as well as a stack of prototype PCBs. From these I can easily recreate the necessary artwork for publication, using PCB Artist.


16 August 2007

Practice Run

To help prepare for the excruciatingly early mornings I will be having this fall, I am conducting an experiment. In my mind I think that I can get up at 6:30m, walk the dog, do some light yardwork, shower, dress and arrive at school before 9:00am. This morning (so far) it looks like this might actually be a possibility. I will have to be brief here, as it is cutting into my commute time. The main point of getting to the campus today is really to scope out the ISBN data on my required textbooks. I had thought myself ever-so-clever and ordered one of my texts online, but the order was cancelled the next day. Half price on a college text is too good to be true, so it was. I'll check out the prices and eyeball the covers at the off-campus bookstore, as I don't support the on-campus legitimized monopoly. Then I can make an informed decision as to where and how to obtain the required reading. I also have some other errands in town that need running.

The LCD_DVM Project Gets Documented

As I mentioned earlier, I am starting the LCD_DVM project documentation. I got the first thousand words spewed yesterday. This is the first project that I am writing using the open-source word processor AbiWord. I forwarded a sample document to my editor and he had no problem believing it was a Microsoft Word file, which, for good or ill, is an industry standard. I had been submitting copy is plain ASCII text, but the words look so much prettier on the screen in AbiWord. I'm not planning anything fancy at this point. I hope to be able to publish a sneak peak here before (and if) it gets published. I will update you as I make progress.

Web Technology Update

Significant progress was made yesterday when I was finally able to generate a valid XHTML 1.1 page using XSLT. Inherently self-contradictory requirements of the standard prevent you from actually being able to do what they say you can do with it. At least that's how it seems to me at the moment. XSLT uses separate content and style definitions to produce readable output. The content is stored as plain data in an XML file. The styling info is also kept in an XML file. Unfortunately, is doesn't seem that you can emit the proper XML and DOCTYPE declarations in this type of style sheet, as they are not XML compliant, so to speak. I figured out a way to do it with server-side scripting, which I was going to be using in any case. There's more than likely some major functional concept that I am missing, but I'm happy that I got it to work. It won't be long now 'til this web page doesn't go on ad infinitum, but only lists the most recent topics, with links to other pages just like a real web site.


15 August 2007

Online Registration is Great ... When It Works

So I motored into town yesterday, after my walk & sundry chores. Just as I was exiting the freeway to go to the campus to get my schedule straightened out, face to face, I got a call back from the registrar's office. They explained the prerequisite snafu, gave me some options and suggested that I complete my registration online. Since I was already there, I went on in and used one of their computers to finish the sign-up process and the presentation of the traditional offering (money). I'll be taking a total of none hours this semester, which makes me officially a 'part-time student'. This is sufficient to get my updated student ID, which keeps me in the discount line at the movies. Yip! It also falls in line with my 'full-time writer, part-time student' self-description.

This Year We Also Have Frogs

Technically, we have frog, singular, as that is how many have been spotted. I had the kitchen light on last night when Anne came home from school. She pointed out a frog stuck to the window, availing himself (herself?) to the bounteous feasting opportunities as drawn by the light. That would have been a good trick for a toad, of which I have seen many this year, but closer inspection revealed it to be a frog. I took a picture with my cheese-cam (my cell phone camera of dubious quality) but I have yet to download it and there's some doubt I ever will.


14 August 2007

Hi ho, hi ho, it's off to school I go...

This morning I toddle into town to straighten out the goofballs at the good old DCCCD. Their brain-dead online registration system thinks I lack prerequisites for a class I want to take this fall. I don't! The problem is that I took these classes in The Before Time, in The Long, Long Ago. This was back in the day of three digit class numbers. They don't seem to map directly to the new-fangled four digit numbers that are popular today. With classes starting in two weeks, I can probably expect a long line at the registrar's office. I'm going to try to get in early. Wish me luck!


13 August 2007

And the Winner is...

... (drum roll, please)... The LCD_DVM Project! This will be the next project that gets the documentation that it so richly deserves. The decision was made this morning as I was walking down the road, sweat stinging my eyes. Somehow I managed to wander out of the house this morning without my hat. The early hour and low angle of the sun didn't worry me, burn-wise, but I was wary of a odd tan variation if I walked around with no hat and just a headband. All this adds up to me, walking down the road, carrying a sweatband in my hand and using it to wipe the sweat from my eyes. Actually, the explanation for the omission of the hat is pretty simple. I wore my hat out last night when Anne & I went out to dinner and then to see 'The Bourne Ultimatum', which was very exciting and action-packed, as one would expect. I left my hat in the car, and as I am barely on auto-pilot in the mornings, I didn't see it, so it didn't cross my mind to look for it. I leave everything I need to take while walking the dog in a pile so that I can just grab it all and go. Am I a creature of habit or what? Anyway, to make a long story just a little longer, I decided, amongst all these other highly cerebral activities to select the LCD_DVM project as my next major writing effort.


12 August 2007

Ever Hopeful

I always seem to think there are more hours in the day than there actually are. Perhaps I should emigrate to Mars to take advantage of their slightly longer day, which they call a 'Sol' over there. That would give me an extra half hour or so to help get caught up, if my recollection is correct. After the DPRG meeting yesterday, I whiled away some time in town, waiting to deliver a batch of ESC1's to a customer. The customer was delayed by a late flight and ended up not being able to meet in person. By the time I got home, I was feeling kinda tired. Anne & I just laid around for about an hour, trying to get up the gumption to go out and feed ourselves. Once back home, it was already dark and the day, as such, was long gone.

The Stars are Falling

Keep your eyes peeled tonight and look towards the northeast after sundown to catch some of the Perseid meteor shower. With no moon in sight, it should be quite spectacular, as such things go. Due to some overly illuminated folk down the street at what I call 'The Compound', my enjoyment of the annual shower will be diminished somewhat.

This Year We Have Toads

The recent years of drought in the area have prevented us from sharing our little place with the wee green folk. The abundant rains of Spring have set things to right, and now there are lots of the mosquito-eating critters hopping about the yard. I've seen a couple of obviously successful types that are larger than my fist, which is a lot of amphibian in anyone's book. They are the only critters I stop for while mowing, often followed by words of encouragement: "Get along, little fella! Eat all the mosquitos you want!"

Other Updates

I showed off both the Servo Tester 0.5 prototype and the ESC1 at the robot club meeting. I was able to get everythign worked out on the new ESC1 firmware and get in lots and lots of testing before delivering a batch to a customer. I will endeavour to finish the documentation of the ST0.5 as soon as I can, which means this coming week. I will the segue into the ESC1 documentation, and thence on to the either the LCD_DVM documentation or the ESC2, which will feature bidirectional motor control. So many things to write about; so little time!


11 August 2007

Ladies and Gentlemen, the Vice President...

DPRG: dprg.org

Today I will be presiding over the August DPRG meeting. The President, Eric Sumner, is out of town and the duty & privilege falls to me, the Vice President. We will be meeting at the World Headquarters in Garland. The public is invited and encouraged to attend. We will be showing off robots and having technical presentations on robotic sensors. See the DPRG web site for a map and driving directions. The meeting begins at noon.

In other News

Once I had returned from the DPRG meeting, I will tell you more about the progress with the Servo Tester 0.5 and the ESC1 projects.


10 August 2007

Old Mistakes are the Best Mistakes

...wherein our Protagonist is reminded that the required mirroring of the PCB artwork is inherent in the process being used, and not required to be performed by the design software. In other words, I mirrored the artwork, mostly to see if the PCB Artist software could do that. I had already installed some of the symmetrically arranged parts before I realized my error. To cope with my emotional trauma, we snuck off and saw a matinee performance of the new Simpsons movie, which was thoroughly enjoyable. This gave me the opportunity to recover my scattered wits and redo the PCB. This time I did not leave it in the bath too long. Thirty seconds is about all the time it takes for the transfer paper to lift from the copper. This new PCB came out a lot cleaner. I used a smaller PCB drill for most of the component pins. I didn't take any pictures of the blank PCB before assembling it. It seems to work just fine on the first try, except that the 'Valid' LED polarity was backwards. The LEDs on the STK500 are active low, but as you can see from the schematic, I used an active high configuration in the final circuit. Having slept on it and given it some thought in my morning walk, I will most likely change it back to an active low configuration and let the power come from V+ instead of through the regulator. Less current through the regulator is usually a good thing, and will help lower the voltage drop where the supply voltage is close to 5V. I also thought about some other operational enhancements that may find their way into the 0.6 or 0.7 versions, but I will save those for later. As you may recall, this side-project is a means to an end, and that end is needing ending, and soon.


9 August 2007

My First Schematic in PCB Artist

I completed my first crude schematic in PCB Artist yesterday. It lacks formalities like a title block and other useful information, but it should be enough to get started with the PCB layout. I did not get the PCB laid out or built, however, even though that was my goal for yesterday. I'm sure I'm doing some things wrong. I created all the symbols from scratch. Making components is easy once you get the hang of it. The 'schematic-only' components are giving me the most trouble. Those are the ones such as Vcc or GND symbols that don't correspond to a physical component.

PDFCreator: sourceforge.net

PCB Artist does not directly produce PDF documents. I use the open source project PDFCreator to 'print' to PDF files.

I've finished a preliminary layout for the Servo Tester 0.5 PCB. Have a look at the assembly drawing. There's also a single copper layer as I was able to route everything on this simple board on one side. Note that none of these drawings have any titling or other necessary information; just enough to make a PCB here in the lab. I've also omitted nice things like mounting holes and such.

Here are some photos of the roughly etched PCB after etching & drilling: front and back. The big gap in the top of the copper came from leaving the transfer paper soaking in the water too long. Some of the toner came loose in the bath. The black cloudiness on the bottom side is from not going crazy while sanding off the resist. Going crazy with the sander makes for nice, shiny copper but also makes for missing traces. Now it's on to stuffing the parts and soldering it all together.


8 August 2007

The documentation of the Servo Tester 0.5 continues. Today's goal is to design and build a printed circuit board (PCB) for the circuit. I will need a standalone version to complete the testing of the ESC1. I will be using the PCB Artist software from Advanced Circuits for this project. One thign that I have confirmed about it is that you can print 1:1 images of the artwork on a printer. This is the process that I use to make PCBs here in the lab. When I'm happy with the design, I can click the 'Order' button and have real PCBs made. If I am successful, I will have accomplished two important tasks: 1) a standalone analog servo tester and 2) completion of a project using PCB Artist, albeit a simple one.


7 August 2007

Happy Birthday, Ruth!

Today is my sister-in-law's birthday. Happy day, Ruth! Ruth has the distinction of being my wife's only younger sister among all her many sisters. She is also the Queen of the Stinkers!

More documenting...

I am continuing to document the Servo Tester 0.5 project that I began yesterday. It will stay under yesterday's heading for the time being. When it approaches completion, I will move it off to its own page.


6 August 2007

Project Servo Tester 0.5

Gather 'round, Curious Readers, and I will tell you a tale of a project within a project, a link in a chain, a means to an end.

History

Circuit Cellar: circuitcellar.com

Some of you are perhaps familiar with my Servo Testers. I wrote about them a while back in Circuit Cellar (Issue #200, March 2007).

Servo Tester (1)

Servo Hack: dprg.org/projects

The original Servo Tester was inspired by the need to calibrate the null setting when modifying hobby servos for continuous rotation. I presented one method for such modification at the March 2003 DPRG meeting. The first version was very simple. It controlled a single servo. There were three buttons. One button 'centered' the servo by producing a pulse of ~1.5ms duration every 20ms or so. The other two buttons widened or narrowed the pulse, thereby moving the servo left or right, respectively.

I made a small number of the original Servo Testers for DPRG members. There was never an 'official' production version issued.

Servo Tester 2

BG Micro: bgmicro.com
E-Clec-Tec: e-clec-tech.com

The usefulness and popularity of the original Servo Tester prompted me to develop its successor, the Servo Tester 2. This version could control two servos simultaneously and also had an 'auto-sweep' function. It is still in production and available from several sources.

The Outer Project: ESC1

Since this is a "project within a project", there must be an 'outer' project, and there is. The Electronic Speed Control, Model 1 (ESC1) was designed to be a small, simple and inexpensive speed controller for DC motors. It accepts a servo control pulse as input and pulse-width modulates power to a motor. It was originally designed to drive a small pump on a model airplane, and as such only needs to go in one direction but at various speeds. A preliminary version was even simpler, providing only an on or off switch to the motor: full speed or nothing. The variable speed version worked great in the lab, but not so well in the sky. More testing was indicated.

Mike's: mikeshobbyshop.com

I was going to need more test equipment. The first thing I got was a 'real' RC radio transmitter and receiver, a Spektrum DX6. This is a 2.4MHz radio designed for 'park flyer' applications. I got a great deal from Mike of Mike's Hobby Shop in Carrollton TX.

Atmel: atmel.com
AVR: atmel.com/products/avr
ATtiny13: atmel.com/...
DigiKey: digikey.com

I was also needing to peek under the hood of the processor to help find out what was causing it to misbehave. The ESC1 uses an Atmel AVR ATtiny13 microcontroller to interpret the incoming servo signal and control the power to the motor. The ATtiny13 has on-chip debug capabilities that are accessible via Atmel's proprietary 'debugWire' interface. Atmel offers two devices for talking to 'debugWire' parts: the JTAGICE mk II ($299) and the AVR Dragon ($49). I bought the AVR Dragon from DigiKey (which at the time came bundled with a free STK500 (yay!)) and proceeded to learn how to use it.

There are a few tricky things to working with debugWire. One thing that I learned right off the bat is that debugWire can do a lot of things, like program the various memories, single-step the processor through its code, and interrogate registers, but it cannot alter the device's 'fuses' (which are not really fuses in the permanent sense; more like reprogrammable configuration settings). This led to some frustration while trying out various combinations of features to make the device operate more reliably. I had to learn how to alternate between 'ISP' mode and 'debugWire' mode, and remember what worked (and what didn't) in each mode.

What finally triggered the development of the Servo Tester 0.5 was the fact that my shiny new radio ran off a rechargable battery and I only had a slow-charger for it. This meant that I could work for a while, then have to stop and wait (usually overnight) for the radio to charge back up. This was quite unacceptable! I didn't want to void my warranty on the new radio by 'improving' it with an alternate power source, so I decided to build (yet another) dedicated servo tester. My previous Servo Testers were basically digital, having buttons to adjust the servo position. What I wanted was a simple knob to turn that would correspond to the position of the servo, thus allowing me to emulate the radio that would normally be used in the field. I envisioned a standard servo hooked up in parallel with the ESC1 that would serve as an instantaneous, visible gauge of what the servo control pulse looked like. As I turned the control knob, the servo would likewise turn, and the behavior of the ESC1 could be observed.

Ever Clever Naming Conventions

My original servo tester (lower case) was called Servo Tester because, well, that's what it was. As I didn't know at the time that there would be subsequent versions, I omitted the "1" which I now add parenthetically to differentiate amongst them. The second generation could be called the "Servo Tester 2" for several reasons. It was a completely different implementation with more features; my second attempt at a servo tester. It had two independent control channels, and each channel had two output connectors. This, my third attempt at a servo tester, was originally titled "Servo Tester III". Why I suddenly switched to roman numerals is a mystery. I later reconsidered the name, as I didn't want to give the impression that this was an incremental improvement over the Servo Tester 2. I settled on Servo Tester 0.5, as it more accurately reflects the capabilities, if not the usefulness of the device. It's about half as capable, by any measure. I have some thoughts on possible, additional features that I would like to implement. If these come to pass, I can bump the name to 0.6 or 0.7, as the case may be.

Basic Design

... will have to wait until I get some other chores done around here.


5 August 2007

Gorgeous Summer Sunday

Today began a little later than normal, due to some serious in-sleeping. Up we got and out we went, Maxine & I. Our long walks just seem to breeze by. We got back just in time for breakfast with Anne & her visiting sister.

The daily continuation of my paved perimeter continued, but the going is getting much tougher. I am now in the Tall Weed Zone that has grown up between the boardwalk and the shed. I ended up breaking out the weed trimmer and actually got it to work properly. I had been having troubles with it previously. One symptom was difficult starting. There's a little, transparent fuel primer bulb that you're supposed to push five times to get fuel up to the engine. I stopped after 1.5 depressions because I could see fuel appear. The engine started on the first pull! Then I switched the little lever from "A" (which I think is "choke") to "B" and let it run a bit. Previously, I had switched it on up to "C" which is supposed to be the normal running position. I left it at "B" this time and it worked perfectly. Previously it had exhibited very poor performance on the "C" setting, becoming easily bogged down with the slightest load. So these two, small deviations from the authoritative instruction sticker made the difference between having a useful tool and an expensive waste of shed space. I whacked those weeds silly! Then I laid some more pavers and finished mowing the grass, which I had started yesterday.

Making/Learning/Making Stuff

Advanced Circuits: 4pcb.com

I'm learning yet another PCB design package. One of my favorite PCB fab houses, Advanced Circuits, sent me an email announcing their new free (gratis) software. I downloaded a copy and started playing with it. There will be some sort of learning curve, but it seems easy enough. I will keep you updated on my progress.

I'm also expecting to acquire a new digitizing tablet today. This will almost certainly force a reorganization of my precious desk space. It's funny how one little thing can set off a cascade of other little things. If all goes well, I will be sharing some of my doodlings with you soon. Try to remain calm!

Also on the agenda for today is some reorganzation of this Very Long Page. What I would like to do is move to a more modern XSLT methodology, if I can find out how to do server-side transformations. I don't want you, Gentle Reader, to have to download the whole data set just so your browser can sift out the parts you're wanting to see. If anyone has some experience with this method, please get in touch with me. I'd really like to know more about what I'm getting myself in to here.


4 August 2007

Nothing Special

This morning I walked the dog, laid more pavers after fighting off some really tall weeds and mowed most of the yard. I sweated out 5 lbs. Anne's sister is coming by for a few days, so we've been tidying up a bit. I can't say that I've been doing much thinking about anything and don't really have anything particularly insightful to share. Some days are spent entirely on auto-pilot.


3 August 2007

Viagra? Really?

Apparently some of you think I should use the photo hosting/sharing site, "viagra". That seems to be the clear winner of the poll I took a few days ago. It seems I must add some more trickery to my scripts. As I am not a big fan of legitimate pharmaceutical companies, I have even less patience for the illicit ones.

Wandering in a Hypnopompic Haze

I finally got around to walking the dog yesterday in the full glory of the summer sun. That was a whipping. This morning, I partially awoke, threw on some clothes, started the coffee and headed out the door. Our walk was uneventful, and I noticed a distinct lack of mental flow. I was just walking. I'd look up and a car would be coming, so I'd cross over to the other side of the road. Then we were back. I laid another wheelbarrowfull of pavers along the boardwalk, having made it halfway down the side of the house. A quick mental calculation tells me that I will have completed the perimeter in three weeks, at this rate. All this occurred in what I have just learned was an extended hypnopompic state; i.e., the time between sleep and wakefulness. (The other side of the coin, the falling asleep side, is called hypnogogia). Depending on what wakes me up and where in my ~90 minute sleep cycle I happen to be at the time, I awaken slowly or very slowly; never quickly. This period of time is where I need habit and repetition, as no critical thinking is happening.

2Do 2Day

I see another trip into town today. I should be receiving a delivery of parts for assembly soon. If so, I will be busy building stuff and then dropping it off in town. I'll stop somewhere and buy a new rivetting tool (what are they called?) because the cheap one I bought before broke (surprise!). That sounds like a good morning's worth of toil but I suspect it will end up taking all day, like it usually does.


2 August 2007

Floating Away

Yesterday's prediction of a storm came to pass. It came down a gully-washer. Now the world outside is drippy and muggy. We are postponing our morning walk until things dry out a little (September, maybe?). Perhaps it's the low barometric pressure, but I've got a bad case of the "don'ts" this morning. If coffee doesn't fix me right up, it may be a lazy day of not much happening.


1 August 2007

Welcome to August

August is here, again. Who could have predicted it? It's time to change the A/C filters, think about school and prepare for the wicked hot part of the Texas summer. August was the month when my eldest was supposed to be born, but he took his time and popped out three weeks late. Here's wishing all my readers a pleasant and prosperous month!

Working Harder vs Working Smarter

I like to do both; that is, when I like to work at all. Most people don't consider what I do a "real job". The main advantage of being self-employed is the flexible hours. It's not that I am "my own boss". That couldn't be farther from the truth. Every customer, past, present & potential is my boss. The main drawback is that when I call in sick, I know I'm lying. So I worked and worked yesterday and was able to finish a large portion of the Serial VFD order, which I will deliver in its partiality today. I normally postpone trips to town to the afternoon or evening hours, but today I think I will pop in early and get back here while there's still daylight.

The Walk

Today's constitutional began at 8:30am and continued for almost 4,000 steps according to my wee, red pedometer. It also says I burned ~1,800 calories, but I would suggest that it did not take into account the lifting of the paver stones and the ripping of the weeds, which I continued today. The humidity was oppresively tanglible as we set out. The neighbor dogs were in an ill temper as well. About the time we turned around and started back home, I noticed that the sky had become even more overcast and that the breeze was decidedly cooler. I suspect another summer storm before the day is out.

Ka-ching!

Today I celebrate the first completed ecommerce transaction since I retooled the web site. Perhaps it's time to start breaking up this monolithic rant into functional areas. I have several ideas for accomplishing this feat, but will need to study and ponder it some more. You might see some new features pop up here in the Very Near Future. Then again, you might not.

Linux SBC for $73

Atmel: atmel.com
Digikey: digikey.com
Mouser: mouser.com
AVRfreaks: avrfreaks.net

If you don't know, don't worry. I'm only vaguely cognizant of the concept myself. Atmel has a new processor family called the AVR32, which bears no resemblance to their popular AVR product line whatsoever, as far as I can tell. To celebrate, they have created a reference design called the "AVR32 Network Gateway", or NGW100 for short. It's a single board computer (SBC) that runs Linux 2.6.18. The retail price is $89 and they are available in abundance at that price from Digikey. They are also sporadically available from Mouser here in the Metroplex for $73.15, so even with tax and shipping, it's still less than Digikey. I received mine yesterday morning and got around to pluggin it in and playing with it last night. By golly, it does what it says it does: it runs Linux. Unfortunately, it comes with no documentation at all, not even a CD. You download all that from the Atmel website. They are also leaning heavily on the AVRfreaks community to document this product. This is an impressive little board and I'm looking forward to finding a job for it here somewhere.


31 July 2007

"I am nice girl that would like to chat with you"

No, you're not. You're a spambot and there's no telling what it is that you're trying to pull over. Sadly, Nice Girl, you have been added to my extensive & comprehensive email filter list. Seriously, I've been getting ten of these a day. Stupid spammers!

International Space Station Sightings

ISS Sightings
spaceflight1.nasa.gov/realdata

The more stuff they haul up there and bolt on, the easier it gets to see with the naked eye. I checked the list last night and saw a good opportunity to see the ISS fly overhead early this morning (5:56am). I set my internal alarm clock and woke up promptly at 5:50am. Then I made the classic blunder and laid back down again "for a couple of minutes". When I woke back up the ISS was on the other side of the world. Bummer. Luckily, there's another, tiny sighting tomorrow morning (4:45am) and a rather nice one again in the evening (9:07pm).

Must ... work ... harder ...

I didn't get the Serial VFD order completed yesterday. No real explanation except that I prematurely exhausted myself working in one little corner of the yard. Today I will limit my landscaping activities and concentrate on finishing the job.


30 July 2007

The Story So Far

I did not return yesterday "refreshed, invigorated, etc." after my walk. A better description would be "sweaty, tired and variously distracted". I should not put off the walk until noon, at least not during the summer here in Texas. I managed to get 10% of the Serial VFDs completed, after spending at least an hour getting set up. I will have to concentrate on them today.

The Distractions

I'm looking to get this office cleaned up and organized in a more efficient manner. I have years of accumulated "treasure" laying about and stacked every-which-way. This has forced me into a cramped corner wherein I attempt to produce creative output. One major culprit of space-occupation is my 1980's derelict logic analyser + oscilloscope. I've been lurking on eBay trying to find a smaller replacement, but there are no bargains to be found there. I found a good deal on a scope cart, however, and decided that might be the way to go. This would get the equipment off the desk and into the aisle, such that it is. I picked up the cart last night but it will take quite a bit of "tidying up" in here before it will be able to roll on in. In theory, I could just carve out a spot for it and lift it in, but this is a good excuse to get some things straightened up in here.

Defective Software

While attempting to set up an alternate test fixture for Serial VFDs in the living room yesterday, I discovered that my diagnostic program simply does not run on my laptop. I find this to be quite puzzling, as it works fine on the machine I'm using right now to write this, which is set up with the same operating system as my laptop. I wrote the software last year (I think) in C and it talks directly to the operating system - no fancy development infrastructures for me, no thank you! No clue as to why it won't work - just displays a blank window. I'll have to re-write it and add copious error-checking along the way. Yet another project for another day!

So many distractions, so little time... Back after the walk.

Gotta Get Going Earlier!

Even though we started out much earlier (9am vs noon) I still return tired, panting and perspiring excessively. It was oppresively hot out there this morning, with no breeze to speak of. Maxine & I omitted the tour of the property in favor of cleaning up a small corner of the yard. There's an inside corner to the flower bed that I can't get to with the riding mower, and it has become overgrown. I tried cutting it back with some hand shears, but it turned out to be easier to just grab big handfuls of grass and pull. I cleared out a goodly-sized area and covered it with some foot-square paver stones. I should be able to drive over the pavers with the mower once they settle in somewhat.

Twenty one pavers (at ~40 lbs. each) made for three trips with the wheelbarrow. I think it was the bending-over part that finally winded me. Even after a refreshingly cool shower, I'm still dripping. I suppose it's good for some part of me - I wouldn't know. It may be a bit before I undertake any of the day's more challenging tasks.


29 July 2007

Getting to Work Eventually

It's kind of late in the morning but I'm eventually getting to work. There's a big order of Serial VFDs that want building, so I've enlisted (enslaved?) my dear wife to help with the testing of the displays. As they are surplus, sometimes there are duds in the bunch. I've set her up in the living room with a test fixture and some hand tools. Threading the never-quite-straight pins on the display into the test board is sometimes frustrating. However many of the lot she gets tested will save me that much time once I've assembled all the adapter boards. I really should get the Serial VFD project page back on the air.

Smarter Scripts

Yesterday's frustrations with multiform/universal-script confabulations has paid off. I now have a single script that allows me to process information from several different forms. I could use it for online polls or simple feedback forms. Every time a reader clicks the "Enlighten me!" button, I get an email with their reply. It's nice to get 'tangible' readership feedback like this. The only problem is that some people click the button without entering anything into the answer field. Maybe it's not people but harvesters or spiders; I don't know such things. I tweaked the script to ignore empty replies. What's weird is that I still kept getting some answers filled in as "None". I put a filter in place for that as well.

The Day Ahead

I can see myself building Serial VFDs for most of the day. I have another order that's wanting shipping, so that should get squared away at some point today and be ready for the Post Office to open in the morning. Once those orders are shipped, I can get back to finishing up another project that's been puzzling me for some days now. I designed an electronic speed control (ESC Model 1) for a customer but had mixed results in the field. I re-wrote the firmware from scratch and have been trying to test it thoroughly. In fact, I ended up creating a new, analog version of the Servo Tester just to help test this new unit. That's a project that also deserves to get written up, as it could be very useful in situations where the original Servo Testers were lacking. If only there were more hours in the day (and more bags of gold buried in the backyard)!

So now it's that time again where I must part with you, Dear Reader, if ever so shortly, to attend to my daily constitutional. I hope to return refreshed, invigorated and ready to tackle the challenges of the day.


28 July 2007

Preparing for the Walk

Today's walk will involve some photography, so I will be taking my camera along with us. I employ the 'shotgun method' of photography: take a lot of pictures, hoping something will turn up nice. It very often does. If I capture anything that particulaly tickles my fancy, I will post them here.

Poll Now Closed

"What photo hosting/sharing site(s) do you recommend?"

HTML Validator
users.skynet.be/mgueury/mozilla

OK, now I'm really getting frustrated here. When I added the above question form, my page no longer validated as XHTML. It seems you can't have two forms that reference the same "action" script on the same page. More specifically, you can't re-use the same "id" for form elements, even if they are in different forms. I tried adding an "id" to the fieldset tag, in the hopes of invoking a unique namespace, but that didn't work, either. I also got spanked for putting spaces in the fieldset "id" tag (what is this? MS-DOS 8.3 Land of the 20th century?!?) Wait! It gets better. When I say that my page "no longer validated", I was aware of this because I began using a very handy Firefox extension called, simply, "HTML Validator". I recommend it because it tells you instantly if your page (or any page that you happen to be reading) validates. This is quite a bit handier (quicker) than submitting the page to the WC3 validator. So for the last few days I have not been validating against the "official" validator, just on my local one. Once I saw there were "problems", I went back to get a thorough validation there (Picard: "Number One, run a level 3 diagnostic on this web page"). It seems they have "upgraded" something while I was gone. It takes quite a long time to validate now (10-20 seconds) when it used to take one or two. Eventually the results come back, and not only does it verify that, indeed, I am a naughty, naughty coder (in re the duplicate "id" tags), but also that my MIME type is all confused. They suggest that I rename my page to "index.xhtml" instead of "index.html", even though I have the appropriate Content-type header already set to "application/xhtml+xml" via the "meta http-equiv=..." tag in the document head. I will try that and see if things magically get all better. This was not a problem before. I don't like it when the rules change and no one tells me. I'll be back in a realtively long flash, as I have to add a redirect to my server to get it to serve up ".xhtml" files as the default. Wish me luck!

Now I remember why I changed from the XHTML extension back to the HTML file extension in the first place: IE doesn't know what to do with it. My web site no longer exists as far as 3/4 of the world would be concerned. So it's back to ".html" for now. I will fight that battle another day.

I had another idea on how to solve the multiple form/single script dilemma. Perhaps I could differentiate the "id" and the "name" tags so that the script would pick up on the common names but the stupid validator would not be angered at duplicity. Let's try that.

That seems to fix things as far as my local validation goes. Will it pass the W3C validator? No! (but not because of the duplicate "id" tags! yay!) What it doesn't like now is my use of the <strike> tag for strikethru effect. It doesn't like the diminutive <s> version, either. How am I supposed to strike stuff through? I need it for my subtle, revisionist humor! Please don't tell me that I have to use a <span> every time I want to strike through some text. I understand the goal of separating content from style, but I quite often use various styles to enhance my expression.

A brief exploration of the the topic of the deprecated <strike> tag yielded little help. Almost everywhere I looked, all I found was some sort of comment along the lines of "<strike></strike> deprecated; use CSS instead" with no examples. That's probably because the examples are unwieldy and tend to look like this:

<p>This is getting <span style="text-decoration: line-through;">annoying</span> frustrating <span style="font-style: italic;">very</span> quickly.</p>

...to simply render a short sentence like this:

This is getting annoying frustrating very quickly.

Should I just assume that the reasoning behind this is that the Powers That Be have decided that all markup will be performed by machines in the future? I certainly hope not. My experience with Word, N|vu and KompoZer leads me to believe that good WYSIWYG web editors are a long way away.

OK, enough of the tweaking of the web site. It's time for that nice, long walk. Updates and perhaps some lovely photos are in the very near future.

The long road Flower Tower

Here are some photographic clichés for your amusement.


27 July 2007

Back to the Drawing of Tables

OK, I guess I'm not understanding column styling, or maybe this is one of those things that's not quite supported yet in Firefox/Gecko (my personal preference). It works in IE7 (only in the lab, only for testing). Here's what my XHTML looks like:

<table border="1">
    <caption>Example Table</caption>
    <colgroup />
    <colgroup class="smaller" align="right" />
    <tr>
        <th>Column 1</th>
        <th>Column 2</th>
    </tr>
    <tr>
        <td>Data 1</td>
        <td>Data 2</td>
    </tr>
</table>

...and here's what the table ends up looking like:

Example Table
Column 1 Column 2
Data 1 Data 2

So if you're looking at this through the lens of Firefox, you'll notice the inexplicable sameness of the styling of both columns. If you're enjoying my page via Microsoft's Internet Explorer 7, you'll see that the 2nd column is aligned to the right and set in a smaller font. Perhaps it's time to hop back over to the Mozilla forums and ask some questions. The last time I did that I got lots of great feedback and some not-too-painful schooling on the proper use of "title" vs "abbr" tags.

Today's Forecast

Gazing into my scratched sapphire ball, I see murkily my sketchy plans for the day. There's a solid possibility of Maxine & I taking a nice, long walk, which will no doubt simultaneously cleanse my brain of old, cobwebby thoughts and fill it up with shiny new ones. After that a trip into the Big City is approaching probability. Depending on which of my outstanding emails gets answered first, there might be another, extended road trip across the vast expanse of the Metroplex in search of a graphics tablet. So now it's time to "Step away from the computer, sir!", walk the dog, check the yard and otherwise prepare for the day.

And the results are in...

Maxine & I did take a wonderfully long walk this morning. Most of the ideas that I had centered around needing to bring a camera with me to chronicle some of the daily beauty that I encounter on a regular basis. The trip to the Big City went without a hitch. I was able to combine several errands into one, which always pleases the logistician in me. As no emails were received by the cut-off time, no quest for graphics tablets ensued. So all in all my predictions were amazingly accurate. You'd think that betting on events that are entirely under your control would be a sure thing, but you'd be wrong.


26 July 2007

Birthday Greetings!

Today is the birthday of my son Jeff. Happy birthday, son! I hope things are going well for you today. We miss you!

Sorta Bright & Sorta Early

We're not up as early as yesterday, but that has a lot to do with Anne's school schedule. It's also a bit overcast at the moment, with a cool breeze. Maxine & I went for our usual long walk and then returned and toured the yard. Yesterday I picked out a lot of the sticks and random detritus that were included in the avalanche of rocks that landed on my driveway. There's still a few bits and pieces that need to be cleaned out before the first rain comes. I had simply tossed them to the side of the drive, using my fancy pick-up-stick that Anne's best friend Cindy gave me for my birthday. I use it all the time while riding the mower. I can pick up sticks and trash from the yard without having to get off the mower, which, for safety reasons, involves shutting off the engine. I collect a trailer full of this & that every time I mow. Picking up and throwing rocks is another skill altogether. I'll need to wear gloves if I do that again, as I raised a small blister on the side of my right middle finger. For an author, that's borderline occupational incapacitation. So now I need to go back with the wheelbarrow and collect all the bits that are scattered on the side of the drive. I'll use them for filling in the washed out spot under the culvert by the road. That's a project for another day!

Project Ideas

One of the nice things about long walks with a nonverbal companion is the chance to think and ponder in a somewhat random and disconnected way. You might get an exciting idea, but since you can't act upon it immediately, you are forced to think about it in more detail. This often gives rise to many other ideas. Today's walk was no exception, and I came up with a list of project ideas, mostly having their genesis in solutions to problems (ahem, challenges, opportunities) around the house.

I'd like to document the projects that get past the "hey, what if..." stage. This web site is the perfect place for it. I'd like to get the 'Projects' page back up and running. All it takes is doing. The Catastrophic Data Loss of '07 has provided a blank page with which to create. There are some basic technical issues that must be resolved, but they are trivial compared to the style issues. I find my mind slowing to a barely detectable crawl while contemplating these issues. I will postpone these decisions to a later time and just jot down some of the project ideas that I was pondering on this morning's walk.

Traffic Meter

When we first moved out here to 'the country', one of the most noticeable and pleasant differences was the lack of traffic noise (oh, and traffic). Five cars might go past the house in twenty minutes, and that was at the peak of rush hour. Now a gravel pit somewhere down the road is sending huge, booming trucks hurling across the highway at a hectic pace. To add facts & figures to my eventual petition to the Highway Department, I considered various ways to document the amount of traffic passing the house.

My first thought was a photo-interrupter circuit that would count passing vehicles. The advantage to this method is that it is relatively simple to implement (right?) and would not be detectable by the passing vehicles. Adding a second channel would provide direction information as well, which could prove useful (who knows?).

Another approach would be to record the sounds of the trucks passing and give a new meaning to "traffic volume". Charting the sound levels could be used to derive traffic patterns.

I might add that the noise is not the only objection I have to these big trucks. As I walk down the shoulderless, two lane highway, I walk towards oncoming traffic, and cross the road when someone approaches. I always wave to the drivers and almost without exception get a wave back in response. Not only is this courteous, it helps make a personal connection between the anonymous driver and the equally anonymous pedestrian, which can only help to promote safe driving. On the (formerly) rare occasions when two vehicles passed me at the same time on both sides, I simply step off the road into the grass. That's acceptable if it's A) infrequent and B) mowed.

So which method to use? I answer this question, as I often do, with another question: "Why choose?" Why not do both, optical and audible logging of the road? If there's going to be some sort of "smart" controller operating one or either type of sensor, it will be a small incremental step to add the other.

Now this brings me to the post-walk ideas that flowed from my noggin once I started writing about it. The tradional traffic measurement device is a cord across the road that is filled with fluid or air and machanically registers compressions (or "drive-overs"), usually by incrementing a counter. These types of cords used to be common place at service stations back in the day when service was available and they cared when a customer arrived. The cords in this case simply rang a bell to let the station personnel know of your arrival. Why I didn't think of this option while walking, I'm not sure. Perhaps it's another case of "if all you have is a hammer, everything looks like a nail" syndrome from which I tend to suffer. I know how to build opto-interrupters and I know how to build audio monitoring equipment, but I've never built a drive-over sensor.

Another option is to use video cameras to capture passing vehicles. It wouldn't have to be anything sophisticated, just a matter of "nothing, nothing, something, nothing, nothing, nothing..." Bear in mind that what I know about video image processing fits easily in the punctuation mark found at the end of this sentence. So since I don't know how to do it, it must be simple, no? That's another design fallacy that often bites me.

What about radar? Before you start thinking that I've gone 'round the bend on this, let me explain. Several members of the DPRG have tinkered with Hot Wheels brand radar guns that have been on clearance lately for under $20. To preemptively answer your immediate questions, yes, it's a toy but yes, it's a real radar gun and yes, it returns real numbers, both at "Hot Wheel scale" and at 1:1. The Clever Young Men of the DPRG have even determined that the microcontroller in the radar gun can be reprogrammed and therefore repurposed for many applications. Having even amateur evidence of speed violations in a residential neighborhood should at least provoke an investigation of some sorts, one would hope.

So put all or even some of these ideas together and you would have a versatile traffic measurement device. That's something I could use today!

Glowing Accessories

I found a tangled mess of neon-green trimmer line laying on the side of the road. I brought it home and untangled it, then looped it up neatly and tossed it in the shed. It's heavy gauge stuff. I don't use trimmer line with my trimmer. I use swivelling plastic blades for the light stuff and a solid metal blade for the heavier brush. My first thought for using this stuff was as a high-visiblity string to close off the gate (which I considered doing at the height of The Moat's evil dominion) or to clearly delineate the property line for whoever moves into the cursed house next door (no one lives there more than 8 months; it's currently vacant).

As overwhelmingly compelling as those uses were (not), my favorite one occurred to me last: See what it looked like illuminated. Pretend that it was a fiber optic cable and push some photons through the end and see if it lit up at night. As it is a bright neon-green color to being with, I don't know how effectively it will distribute the light internally. Would it be best to push green light through it? I have some green ultra-bright LEDs that I could try. Would it do better with white or ultraviolet? I have those in stock as well. If it didn't spread the light very far, then even a short illuminated length of it would be visually interesting, along the lines of a glow-stick. Make it too long and it risks becoming a whip. Make a loop big enough to go over your head and you could make a necklace with the LED+battery assembly tooled to look like a pendant or gem. These experiments will need to wait for nightfall. I'll let you know what I come up with.

The Dream of Solar Power

Yesterday I finally got the new solar cells, my multimeter and my self outside during daylight hours and took some readings. The 5:30pm sun was still reasonably high in the sky. The 2"x2" cell puts out a whopping 4.44V open circuit and 66mA shorted. The one test I didn't do was a resistive load to find some real power numbers. If time permits, I will try that today, preferably closer to the solar zenith. I'd really like it if I can use these to recharge the li-ion batteries I recently obtained. I'll start with nightlights and then go on from there.

Update: The noon sun was overcast, so I suspect these disappointing figures of being disappointing. Open circuit voltage was 4.26V and short circuit current was 29.38mA. Using a 100 ohm resistor as a load, I read 2.27V @ 26mA, or roughly 56mW. Yes, I know Ohm's law laughs at my numbers, but I suspect variable cloudiness for the discrepancies. I predict triple this output at noon on a clear day.

25 July 2007

A beautiful summer morning

The dew was still on the grass when Maxine & I returned from our early morning walk. We've got about two miles in so far, and we're planning on several other, shorter walks about the property in the course of the day.

The Filling of The Moat

Exciting news this morning: Work has begun on filling The Moat that has become the bane of vehicular traffic to & from my home. The crew arrived at 8am and began by filling the lowest spots with large rocks, and then proceeded to grade the rest of the driveway. They have left now to bring back many, many more rocks and thence to distribute them artistically about the way.

Update: Moat filled. Now that was fun to watch! I'm adding a Catepillar 216 skid steer to my wish list. The things I could do! The things I would invent to do or pretend to need to do to justify such a tool! Anyway, the driveway is now much safer than it was. I still need to go back over it thoroughly and pick out any of the non-rock objects that got delivered as well.

In Other News

My test results from my lab work came back and I'm golden. All my numbers are excellent and it seems I have no excuse for being so out of shape. Back to work I go!

Catching Up

OK, I got one thing done that I needed to get done last week: I fabricated the reinforcing plates for the bed of the garden cart and installed them. It's a lot more rigid but not 100% perfect. The bed dumps only when authorized but won't be slammed back into place. I'll have to actually pull the release handle back, drop the bed and then lock it down, instead of just slamming it down. Hmmm... I wonder if that was what made it wiggly in the first place...?

Another thing I'd like to get caught up on are the solar power experiments that I was planning last week. I've got all the sunshine anyone could ever want right now, and it would be a shame to waste it. Unfortunately, the sunshine comes with the bonus feature of elevated temperature. I suspect it to be in the nineties. Let's have a quick peek at the thermometer... OK, I was close. It is officially h-o-t. Time to get back in it and sweat some. I'll let you know how the solar power research goes.


24 July 2007

On the Road Again...

I managed to drain The Moat a bit today. It remains a hazard to navigation and low-slung cars. I was also able to borrow some jack stands from my neighbor across the road and get the tangled mess of 'protective' platings out from under my car. I celebrated renewed mobility by driving into town and buying a few groceries. I got the stuff to make my famous biscuit-dough mini-pizzas. I'm thinking Anne won't mind me cooking dinner once she gets home. Her teacher called in sick but I don't know if she was able to actually get a hold of Anne at the hospital to let her know not to come to class tonight. She'll either get home relieved to skip class or angry for showing up for nothing.

I swung by the Post Office on the way home from the grocery store and picked up the latest Circuit Cellar magazine. I don't have an article in this one, but I should have one in next month's issue. I also recieved my first copies of Wired a few days ago. I'm not sure they're ready for me, and vice versa. I would characterize their editorial style as "terse, gadget-oriented optimism". I'm optimistic and certainly gadget-oriented, but I do tend to go on, don't I? Mark Twain said, "Brevity enhances lucidity." Ambrose Bierce was also a fan of the plain, undecorated word. Their works remain as readable and pertinent today as the day they were written. Perhaps they're on to something!

MegaWaspicide

I unloaded a whole can of wasp-be-dead on the various clusters populating the various overhangs around my house. In the process I found two mega-colonies that had previously esacped detection. They had to have been at least four inches across. One had a hundred wasps in it. Note the use of the past tense. For those sensitive types out there, we may now observe a moment of silent reflection for those exterminated vermin God's creatures that have been preemptively sent on to their reward.

I Give Up

PFC Jeff Wheat, my son
PFC Jeff Wheat in Iraq

I have just now come to the conclusion that I will never be able to get "caught up" with all the things that I want and need to do. There's not enough hours in the day! It's 4:30pm and I haven't even had a nap yet! That's just not right. I guess I should just soldier on and try to get things done. Speaking of soldiers, here's a picture of my favorite soldier guarding some bigwigs in Iraq. PFC Jeff Wheat is my youngest son and has been stationed at Camp Ramadi in Iraq since January. Why they need a combat medic to guard bigwigs is a mystery to me. I wouldn't mess with him, though; he's wearing kneepads.


23 July 2007

An Early Start

The day began early for me in an effort to get on the road in time to make my doctor's appointment which is two counties away. Yes, he's that good. I wished Anne a good day as she left for work minutes before me. The heavy rain on Sunday had left The Moat (aka the low spot on in the driveway) filled to the brim. I backed carefully through it, hearing a dreadful crunch as I bottomed out. That had happened several times in the last few weeks as heavier than normal rains have played havoc with the driveway, leaving a big, deep, muddy hole near the gate. What was unusual this morning was the distinct scaping sound coming from under the car as I started to drive forward down the road. Backing up and parking, I got out to have a look. One or more of the metal plates, covers or shrouds on the bottom of my car had been snagged and bent backwards under the car. My fifteen minutes of schedule margin seemed inadequate to commence proper repairs immediately, so I walked back inside to formulate Plan B.

Plan B

As far as I knew, Anne was still on her way to work at this point. Her work number was saved on my cell phone, which, oddly enough was off and would not turn on. Plugging it into the charger remedied its major complaint and I was able to extract the phone number. Of course, once I saw it, I realized that I already knew it, had memorized it, in fact, but had forgotten that I knew it. Getting old is tough, kids. So that hurdle was out of the way. Unfortunately, the office phone was on autopilot until 8am, so I had to wait patiently for about 11 or 12 minutes, feeling my margin slip through my fingers. The lucky thing was that I married a good sport who had no problem getting to work on Monday morning just to turn around, drive home, pick me up and drive to work all over again. I recommend such a marriage to anyone (happy hunting!).

Fit as a Fiddle

I ended up being 10 minutes late, but having called ahead from the road I mitigated my shame, somewhat. Eye test, chest X-rays, weight, height in shoes, vitals (blood pressure 110/80, up from 102/80 on Friday; I blame the morning's hectic start and an hour of highway commuter traffic) all checked out perfectly. I spooked the cute, young phlebotomist and she rolled a vein, bailed, and called in the marines. 'The Marines' consisted of the talented lady that has drawn my blood on most other occasions. I took notice of some of the blood-letting equipment to mention to Anne later: the rolled vein, a butterfly needle, a lavender top and two tiger-striped tops. These, Anne tells me, need to be drawn in a particular order, due to the additives in the vials. I will assume they were performed correctly, as I learned a long time ago to just look away.

There was very little waiting involved. The doctor appeared promptly and conducted a thorough poke & prod. Everything is where it is supposed to be and seems to be in tip-top condition. We'll get the details from the blood work back later in the week, wherein I will learn of the benefits of implementing the oft-discussed exercise program versus considering the implementation of the exercise program. The thing that probably keeps me coming back, year after year, move after move (its got to be at least 80 miles one way) is that my doctor takes the time to talk to me, address my concerns and make sure that I am satisfied with any explanations that result. This characteristic was markedly absent in my former physician, who has been, as they say, sacked.

The Long Road Home

I had brought some "product" with me to deliver on the return voyage (IR Spotlights for BG Micro). I was able to take the tollway most of the way there, so it didn't really take that long to drop by over there. I picked up another stepper motor to puzzle out and generated some interest in a 2nd hand guitar amplifier that I have gathering dust.

I dropped by my Dad's house and helped him order some training videos from eBay (student for life? see where I get it?). We then went to General Pao's Chinese Buffet and I made a pig of myself. In my defense, I had been required to fast prior to my blood work, so I was off-schedule by several hours. I went through two plates of mostly chicken and rice before my dad could finish his one (and only). Note that if you can enjoy a diet of chicken and rice, you can live happily almost anywhere in this world.

Anne had called while I was on the road home and asked if I could drop something by her office for lunch, as she was so swamped with work that she was unable to step out. I stopped at the Taco Bell on the corner and got her a seven layer burrito and a Mountain Dew (per her request). I took it to her at the office and stayed and visited with her in the break room while she ate her lunch. Have you ever noticed how sometimes the burritos from Taco Bell are really small and other times they are simply huge? Such are life's mysteries.

By the time I got home, I was either exhausted from the morning's events or high on Mountain Dew - hard to tell sometimes. I napped until it was time to go pick Anne up from work (which seemed to go by in the blink of an eye). We stopped at the little store in town to pay too much for Dr Pepper and cornbread muffin mix. These went well with the specially seasoned navy beans we enjoyed for dinner. Although I specifically asked for a reduced portion, I was foiled by my wife's desire to pork me up. We watched a little TV and I finally wandered in here to catch up on things and tell you the exciting story of my day.

I'm hoping that tomorrow will allow for more creative and productive toil.


22 July 2007

Taking it easy

Although it looks to be the perfect day to get some work done out back in the yard, I think I will just take it easy and try to get a few things done inside. The main thing that is nagging at me is why I can't get my XHTML+CSS tables to render correctly. Once upon a time, it was considered good manners to tell the browser up front how many rows and columns were in the table, if this information was known ahead of time. One did this by including the "ROWS=" & "COLS=" attributes in the <table> tag. This method is now considered deprecated, meaning none of the cool kids are doing it anymore; it's so five minutes ago. Instead, a new mechanism describes the column structure, but I'm not seeing how to clue in the row count. So I'm using the new <colgroup> tag and styles within the column definitions, but nothing happens. When I hard code styles in the <td> tags (another deprecated technique) it works. What gives?

Poll closed

Poll: How to format tables

Ah, yet another diversion. It seems that forms are also a little different in this brave, new world. There's just so much to learn here; will I ever get caught up? But enough of this jibber-jabber. Let's talk about what exactly is going on here.

Content

I have gone back and forth in my mind over what is 'appropriate' content for my web site. I have tried a lot of different formats, which were mostly constrained by what I didn't want on here. Look up any of the "10 Worst Web Page Mistakes" that abound and you will see what I mean. I didn't want a high-bandwith-only site, or one that popped up extra windows - ever!. I didn't want 'background music' no matter how entertaining it might be. Any background image needs to be contrast-enchancing, not contrast-challenging. No flashing icons allowed! Animation is not ruled out per se, but would need a compelling reason to be included. There needs to be at the most two typefaces used: one for headlines, one for body text. These fonts need to be clear & easy to read, as well as available on most computers. The site should be easy to navigate if you know what you want or easy to search if you don't. There should be useful or interesting information presented in a clear and accessible manner.

Purpose

Whew! What a list! But none of that should be much of a surprise to anyone familiar with good design theory. It would be easy to hash up a site that looks and smells just like every other site. I'm am so not interested in anything like that. I want this page to be a reflection of who I am and what I do. Yes, I am 99% identical to every other human being that has ever walked the face of the Earth, but it's that remaining 1% that makes me special. And maybe it's the things we have in common that would interest you most. Who knows these things? So I have decided that this space will be a primarily vehicle for my career as a writer, as well as being a shop for my trinkets and a bulletin board for my random observations. A writer should write, and having this opportunity to do just that is an awesome gift. I started out the year with a resolution to "write, just write" for at least an hour a day. That lasted, like most such resolutions, for about a week, and trailed off sporadically after that. It's been a week since I nuked this site and started adding content to it. The process has been halting and stumbling, as my skill set is out of date. Should it take a week to learn how to format tables? No, it should not. Neither can excellent design techniques be mastered in a week. This page will continue to be an interative process of trial & error, investigation & discovery. Is the content too personal? I am a person. I am not a corporation or even a company. It's just me. That's who and what you're dealing with here. When you email me, I read it. When you call me, I pick up the phone. Yes, I am in business to make and sell things, but most of the things that I make are simply ideas, and I'm giving most of those away for free.

Now, back to that damn'd table.


21 July 2007

Ah, the weekend!

The Weekend: The much anticipated time when I stop doing some things and start doing other things. As I am currently self-employed (alternately, self-un-employed), I am the master of my own destiny, as much as anyone can be who is both married and a parent. The nice thing about today is that I don't have to bounce, lurch or spring anywhere in particular this morning. This gives me time to indulge in some of my favorite activities, such as surfing The Internet for items of interest, listening to scenemusic and, of course, ejecting this ongoing monologue.

After the catastrophic data loss of this last March, I realized that almost everything I do is either a) trivial or b) derivative. I was able to reinstantiate almost anything that I had previously sweated over with relatively little effort. This was simultaneously comforting and humiliating. Other than my actual, human children (in which I share only partial credit), I have yet to produce anything truly unique or consequential.

Of course, being derivative is not that much of a crime. I consider most of human achievement up to this point to be hugely derivative. The most timely example of popular 'creativity' is the blog-o-sphere. Can we get any more self-referential? We probably will, somehow. I have an unlimited faith in humanity [to do less and expect more in return].

OK, 'observation points' for those that identified the irony. I'm a big fan of irony. It could be one of my favorite forms of expression, humorous or otherwise. That's yet another reason why I want to learn more foreign languages, as an opportunity to more subtly express ironic moments in life.

Here's a list of the blogs (or blog-like accretions that asymptotically approach journalism) or otherwise entertaining or informative sites I read every day:

Dale's Daily Surfing Guide
Me! Mostly to make sure I'm still up & "on the air"
Slashdot "News for nerds" is right. I no longer read the comments. Even moderated, to me, they are the best example of the downside of the Internet Democracy.
BG Micro Treasure! New & surplus electronics
Homestar Runner Mostly for the Strong Bad emails
Shiny Shiny Strong enough for a woman, but readable by men as well
Cute Overload Better than actually keeping pets
Natalie Dee Amusing but not always family- or work-safe

This simple list reminds me that I still have much to learn about even simple web design. I learned table layout a long time ago, back in the day of HTML. I learned several interesting techniques, most of which are no longer applicable in the day of XHTML and CSS. Even the simplest of 'effects' are baffling me at the moment. Ever hopeful of actually learning something useful, I will keep tweaking the code until I get what I want.

OK, I give up for now. All I wanted was for the 2nd column to be rendered in a slightly smaller font. I can't seem to figure out what it takes to ask for that. I will try again after lunch. I will also be looking into RSS feeds and related technologies.

Later, after my nap

After enjoying a tasty, homecooked meal, I drifted off to sleep and had the most pleasant nap. I thought of some alternate approaches to the styling issues I was wrestling with earlier in the day. I will now go back and try them out. It's amazing what a fresh perspective can be had by putting a little distance between yourself and the problem.

One thing that I'm quickly finding out is that a lot of the free tutorial information available on The Internet is, shall we say, somewhat outdated. We could also say that one gets what one pays for, although ending a sentence with a preposition is something with which I will not put. I had wanted this *new*improved* page to be both standards-compliant and readily accessible, so I opted to go with what seemed to be the latest & greatest technologies available: XHTML & CSS. There are a lot of sites out there with a lot of information about both, together and separately. Some of them are excellent general tutorials, but many of them only address specific areas of interest. What I failed to grasp in my first dozen or so readings of the material was the current state of the art. I started this new scheme along the lines of XHTML 1.0/Transitional with CSS Level 1. My first 'improvement' was to move to the 'Strict' variation; to perdition with non-standards-compliant browsers! I then found out about XHMTL 1.1 and decided to go with that, but ran into inexplicable validation errors. The main problem there was that there is no such delineation as 'Strict' or 'Transitional' in the XHTML 1.1 world. I've also just this past afternoon discovered that the anchor attribute 'name' has been superceded by the 'id' attribute, which coincidentally imposes a tighter content restriction by not allowing data beginning with a digit. Seems arbitrary to me, but who am I to decide these things? Also, it seems that there's been a 2nd level added to CSS (oh, about nine years ago) that I might be interested in embracing. Yikes! Time to re-tool the old puzzler and get schooled! It just takes time, and that's something I think I have at the moment.

WebXACT: webxact.watchfire.com

Well, great. Just great. I found another validation site (formerly known as Bobby) and dear Bobby tells me that my page is not 'accessible' enough. It seems I will have to add some additional information to help navigate the page with other than visual browsers. I'm all for doing this, yet it will take time. Diversions like this must, at some point, end. I will attempt to bring the trainwreck of a web site into come sort of compliance. Then I will get back to the fun stuff. I wanted to play with my new solar cells today and see if they would charge up these new Li-Ion batteries. I also wanted to investigate the afforementioned RSS (or other) feed mechanisms, but it looks like I will run out of sunlight before I can even start that project. Ah, well, it leaves me something to do tomorrow...


20 July 2007

Ticker update: All is well

After an examination and EKG this morning, my doctor said everything looks perfect. There was no sign of any heart damage, my blood pressure was excellent and the episode that I experienced was called 'supraventricular tachycardia' (which, when translated, means "my heart go fast"). It is most commonly brought on by stress and may never happen again. We'll know more on Monday after I submit to a complete physical. Again, I will keep you posted. Thanks to everyone that encouraged me to get this checked out - I feel much better about it now.

Movie time: Hairspray

To celebrate the good news, Anne & I went to see a matinee performance of Hairspray at my new favorite theater, the Nova in Terrell. The theater was half full when we arrived, so I said to the only other male there, "It looks like it's just us." A young boy also showed up before the movies started with a long train of bigger sisters. So you get the idea that it was primarily a girl movie, but I completely enjoyed it. It was very funny, upbeat, well-paced and told a good story.


19 July 2007

O! My heart! (is doing strange things)

I woke up early this morning to the delightful sounds of my cat destroying the carpet. I took the offender and tossed him outside. After laying back down to try to go back to sleep for a bit, I noticed my pulse was doing weird things. I believe its exact words were, "Lub-dub... lub-dub... boom! boom! boom! boom!... lub-dub... lub-dub..." and so forth. I couldn't get a good feel of my pulse at the wrist, so I put on my Polar heart rate monitor that I wear when exercising, and it said "160", which seemed high to me. I didn't feel like I have just sprinted a mile, but the instrumentation said otherwise. I took one of the baby aspirin (just in case) and tried to force myself to relax, although I felt that I had slept well and wasn't experiencing any sort of discomfort whatsoever. I took a cup of the cure-all (coffee, black) and my dog out to the porch and watched fluffy clouds for about half an hour and my pulse gradually returned to normal. Everone I mentioned this to today suggested that I take it seriously and see the doctor. I have an appointment in the morning for an EKG and a full physical on Monday. I will keep you posted.

The rest of the day

After such a dramatic beginning, my day proceeded in what might normally be considered a typical manner. I took Anne to school so that I could go pick up my car from the muffler shop (finally! ...what? I have two catalytic converters that need replacing? Dang!) and then take it to the other shop to get the cracked taillight replaced, thence onward to the state inspection station, which is all I wanted in the first place. Inspection proceeded without a hitch, and I was done early enough to pick Anne up between classes to pick up her truck (left at the muffler shop) and take her to lunch. Maxine & I then drove into town and picked up some parts to play with (i.e.: build IR Spotlights). By the time I got home it was 2:30 in the PM. Anne got home from school about an hour later. I then took a nap until supper time, fed the dog, picked what might have been the last tomato of the season and realized that I had yet to put anything up on the web site today. It seemed kind of a shame, what with all the hectic activity of the day and all. Did I mention that I'm mobile again? Yip! Double yip!

Listening to PLS music streams in WMP

Cool internet radio
Nectarine: scenemusic.net
Blue Mars: bluemars.org
SomaFM: somafm.com

Send me your suggestions!

Example listen.pls:
(Cryosleep from Blue Mars)

[playlist]
NumberOfEntries=1
File1=http://207.200.96.225:8022/

"Impossible," you say? No, not impossible; just inconvenient. Here's how I do it (using Firefox in Windows XP):

  1. Go to the web page where the "Tune In" (or whatever it's labelled) link is to be found.
  2. Right-click the "Tune In" link, which should bring up a context menu.
  3. Select "Save link as..."
  4. The filename will most likely be "listen.pls" but it could be anything - save it somewhere you can find it.
  5. Open the file using a text editor.
  6. For simple streaming music sites, the "playlist" file may only have a single entry - find the first (or only) one with a internet address (e.g.: http://207.200.96.225:8022/).
  7. Copy the internet address to the clipboard (highlight & right-click, select "Copy").
  8. In WMP, go to the "File" menu and select "Open URL..."
  9. Paste the copied address into the "URL:" field (right-click, select "Paste").
  10. Click the "OK" button and it should start playing.
  11. Convince WMP to add that link to a playlist somehow.
  12. Now you can click on your favorite internet radio stations (until they change addresses or port numbers!).

18 July 2007

Birthday shout outs!

Today is my younger brother's birthday. Happy birthday, Ryan! I hope things are going great for you and the family.

2Do 2Day: Death to Scorpions!

Today is yet another day afoot as my car is still in the shop. I will try to find productive things to do around the house. One thing for sure is cleaning up the scrap lumber that's stacked (sort of) behind the house. It seems that it's a great place for scorpions to thrive. We've found two in the house in the last week. That's two too many! Everybody say it with me... "Yikes!"

Web site design progress

I've decided to set up two overlapping areas on the web site: Products and Projects. Products are things I make to sell, and need a certain type of documentation to communicate their quality and professional attributes. Projects are the things I work on, which may or may not become products. Projects give a behind-the-scenes look at how I make things, and these articles can go into more detail than would be appropriate for a product description. I would hope to get at least a skeleton framework set up for this today, but that will involve having to decide on some boring web design issues like menus and navigation. If you have any suggestions about how to go about this, please drop me a line.

I will continue to poke & tweak the site today, as I am far from being a web design guru. I've had to (re)learn a lot about XHTML and CSS in the past few days. My long-term goal is to reduce the web content to its simplest useful form in preparation for migration to a local server, probably of an embedded nature. I tried to set up my own rack of servers here once before, but my electric bill jumped $50 in one month. I pay that much for an entire year of virtual hosting. I'm looking at five different contenders for my 'ultimate' dedicated web server, drawing anywhere from 60W to 2W. That's certainly in the realm of solar power for my location.

So now it's time to walk the dog and try to get a feel for what kind of day it's going to be.

Later, after the walk...

It's a beautiful day outside, with lots of sunshine and warm breezes. Maxine & I walked around the perimeter of the property and then made a circuit around the house. We stopped and visited with a neighbor and the neighbor dogs for a bit. I also made several mental notes on items that will need attention soon. One thing that is obvious is that I must prioritize the repair of the garden cart. It's a large, two-wheeled cart that hooks up to the back of my riding mower. It has a removable tailgate and can be pivoted up to dump the contents. The dang thing started dumping spontaneously as I was mowing last week. Upon examination, the structural bracket that gets clipped under the spring-loaded release handle was wiggly. It turns out the bracket was fine and bolted tightly to the bed of the trailer, but that the bed itself has begin to rust through. At first I despaired, but later I figured out that I could add a plate to the top side but under the heads of the carriage bolts to augment the structual rigidity. That's something that I can cobble up here in the shop! I just need to take a scale of some sort out there next time I go and jot down some specific dimensions and then get to crafting a patch. I'll be out there again this afternoon when it's time to water the tomato plants, although I'm starting to suspect that the lack of new blossoms heralds the end of the season.

The Shopping Cart

Mal's ecommerce: www.mals-e.com

One day when I'm a big, strong web designer, I'll have my own shopping cart. In the meantime, I'm tapping the awesome power of Mal's eCommerce. Look down and to the right of the IR Spotlight stuff and you'll see a simple menu of items that are for sale. Clicking on the item puts it in your cart and takes you to the shopping cart site. There you can adjust the quantities, select your shipping options and enter your payment information. It's all on a secure server, and all the private information gets deleted after each sale. The policy now is not to retain any sort of payment information for customers. One day when I have all the bits & pieces of the vast network that is dalewheat.com all in one place where I can implement physical security upon it, I might consider keeping customer account information here. Until then, there's too many other hands and eyes involved in the process, so I find it's best to play it super-safe (aka ultra-paranoid).

So there's things I need to do to get the shopping cart back up and running. First is a visit back to the administration section of Mal's and tweak up the appearance to match the web style du jour. Then while I'm there I'll update the shipping options. It seems the US Post Office has raised its rates again. Who would have ever suspected that of happening? I also need to do some research to find out why the 'Continue Shopping' button doesn't bring you back here. It has to do with Mal's sending back useful information concerning the contents of the shopping cart. Back in the day I used to use Perl or, later, PHP to generate most of the web content, and they are all kinds of smart about handling web forms. Me, not so much; at least, not this morning. Perhaps by lunchtime I'll be ever so smart, truly, in regards to how these things work. Wish me luck!

PayPal: www.paypal.com

My PayPal ID is:

the same as my email address

One thing I might add about the shopping cart - it doesn't charge your credit card directly. I have to do that in a separate step (another reason to get around to developing my own integrated solution). So if you're using a credit card, please by all means go ahead and place orders using the cart as it stands right now. The shipping charges might be off by a dollar or two, but I will notify you ahead of time of what the exact charges are. If you're using PayPal, unfortunately, it does go through automatically, and I don't get a chance to adjust any of the numbers. But hey, if you really need to order an IR Spotlight today and you absolutely must use PayPal, then go right ahead. I'll just eat the difference. I consider it 'incentive to innovate'.

One good thing about PayPal is that you can pay in US, Canadian or Australian dollars, Euros, British Pounds Sterling or Japanese Yen. You pay at PayPal's currency exchange rate, over which I have no control.


17 July 2007

Yesterday's hope has come to pass. I now have something useful back up on the web site. It's not much (just some old stuff), but at least it's a start. I'm still playing with a lot of the details, but I think I like the minimalist, textbookish style. I've left the left & right margins open for random notes, where I would normally jot in a real book.


The IR Spotlight

Schematic PDF 42K
Assembly notes PDF 480K

IR Spotlight

IR Spotlight Price
Standard 940nm/20° $25
NightSpot 850nm/20° $45
NightFlood 850nm/50° $45
Blank PCB $5
Blank PCB 5 pack $20

The IR Spotlight is a circular array of thirty six (36) high power infrared (IR) light emitting diodes (LEDs). The light that it emits is past the red end of the spectrum that we can see, hence the name 'infrared', which simply means 'beyond, past or below red'. It can be seen with some but not all electronic cameras and therefore is useful for low light, surveillance or night vision applications.

Also available from BG Micro

The standard version uses LEDs with a wavelength of 940nm that are completely invisible to the human eye. The 'NightSpot' and 'NightFlood' versions use LEDs with a wavelength of 850nm, which work better with Sony's NightShot mode, but emit a small amount of visible red light.

The IR Spotlight is 2" (50.8mm) in diameter with a 1/8" (3.17mm) mounting hole in the very center. It is about ½" (12.7mm) thick.

The IR Spotlight requires 12VDC at 150mA. There are two sets of power connections, marked "+" and "—" for connecting power. Either set can be used. You can use the other set to continue wiring power to adjacent IR Spotlights.

Buy a blank PCB and build your own LED arrays!


16 July 2007

This web site is being demolished and rebuilt. I hope to have something functional up here in the very near future. Please back away slowly. Thank you.

My email address:
email

(972) 486-1317
Toll free (877) 325-3943

If you need to contact me, please call (972) 486-1317 or toll-free from the US & Canada (877) DALEWHEAT. The technical documents are still available here.