News Archive 2012

May 22, 5:43 PM – I’ll be taking down the nest box within the hour in order to install the owlet rail and photograph the owlets. Don’t worry about the temporary disappearance of the owlets, or any other odd things you may see.

May 22, 4:30 AM – All of the owlets are still in the nest, despite their increasing skill at climbing into the entryway. For the moment, that appears to be a food interception tactic, but it’ll become an exit method very soon.

Last night’s experiment with the motion-triggered camera turned-up nothing, except shots triggered while I climbed up and down the ladder to start and stop the test. Two issues spring to mind: (1) by the time the motion-sensitive setup was ready to deploy, there weren’t many food deliveries taking place, so it had few opportunities to demonstrate that it can work; and (2) the sensor might not respond to very brief events and/or small objects (although that did not appear to be the case in testing), or may do so with an unacceptable latency.

Because the background of the photos taken last night was so ugly (the roof of my garage, etc.), I decided to setup in a different location this evening. The new location is further from the nest box, so, if the sensor has limitations in this application, they were going to become more serious than ever, unless the sensor could be positioned independently of the camera, so I modified the setup to allow exactly that, thinking I'd face the sensor straight up from on top of a stepladder located beneath the entry of the nest box, or the final approach thereto.

The necessary modifications were made successfully, but the exhaustion I’d been struggling with throughout the work left me with no energy to install, monitor, and, hours later, remove the camera/sensor setup. So, that’s more irreplaceable time lost, but as I write this I’ve fallen asleep involuntarily several times, probably because I’ve been awake more than 24 hours taking care of life, work, and this project. (Ever wanted to sleep and not sleep at the time, even at the point of exhaustion? That’s where I find myself. It’s a strange, bad state.)

For the same reason, the owlet rail was not installed in the afternoon. Fortunately, I think there’s at least a day to go before that’s an issue.

So, no color photos of owls or owlets, yet, but perhaps later today and the following night.

Finally, if you’re hoping to see an owlet leave the nest, the best times to watch are 15 minutes after local sunset (sometime around 8:39 PM CDT), and a similar period of time before local sunrise (around 6:14 AM CDT), though the former time is by far the most likely.

May 21, 6:17 AM – All four owlets remain in the nest, but that’s likely to change within three days. At least two of them—presumably the eldest two that hatched on the same day—can climb into the entryway, if a little awkwardly. So, at some point very soon, I’ll bring the nest box down and install the owlet rail. With large and rapidly growing owlets demanding to be fed, the adults are kept busy, though most of the food deliveries are clustered in the hours after sunset and before sunrise. In between, there’s something of a lull.

Meanwhile, life for yours truly has lately been dangerous, stunningly expensive and inconvenient, and frustrating as all get out. You might think some of that’d make it interesting and/or exciting, too, by way of compensation. Turns out it doesn’t work that way at all. I mention all this partly to explain the sparcity of updates lately (sorry about that), and because some of those pains in the butt have been owl-related (literally and figuratively).

Confining this account to owl-related matters, I’ve had the ambition for years to setup a high-quality digital SLR camera looking into the airspace leading directly to/from the nest box entryway, and triggering it with a motion sensor that could detect activity within that space. After years of occasional searching, which always turned-up nothing, I finally found the sensor I was looking for a few week ago (they’re cheap, and common as dirt, but apparently not sold to consumers, or until recently, not through any supplier I’d checked). I then had to build a circuit to interface it to my camera. I always wished I’d learned more about electronics. This sort of situation is why. But I managed that, too. (It’s too trivially simple to be proud of, but some of those details that pass for unspoken common knowledge among people who know what they’re doing, made the effort more time consuming than I’d suspected possible. So, it felt like a victory when I finally had it working.) There followed the matter of cobbling together a ladder-top mount that would securely hold the sensor and camera on a free-standing ladder I have. That, too, was accomplished. I then set about finding a good position for it near, but not too near, the owl box, and double-checking the security of the camera mount before actually mounting the camera. That was when the ladder collapsed beneath me, sending the camera mount and I crashing to the ground, and in more-or-less the same spot, just to add injury to injury. That’s the tale of woe from the 14th.

My loyal camera tripod will never be the same, but, as far as I can tell, I escaped with aches and pains. The ladder, a Versaladder folding ladder (model number not mentioned in its documentation), however, is junk, as subsequent shake tests confirmed – fold the ladder into an inverted “V”, then push forward and pull back repeatedly on a portion of the ladder near the joint in the middle of one of the legs of the V (placing the joint under one of the stresses it would experience as you climbed the ladder) and you can watch the locking pin in the joint walk up and out the of locking receptacle in which it is meant to remain seated until its locking lever is released, and it does so without the locking lever moving an iota. My advice, based on this incident, is forget the photos of cars parked on these folding ladders, and do not buy them. They’re probably fine while new (presumably the state they are in when safety testing is performed), but they can become unsafe over time, even with infrequent use, and without ever parking a car on ’em. Whether this is generally true of folding ladders, or just Versaladder products, I couldn’t say, but I don’t imagine I’ll be buying another folding ladder.

So, that left my plan to try to photograph wild owls in flight in tatters, with time to try it rapidly running-out. I finally came-up with an alternate, but much less desirable approach (apart from the lack of any collapsing behavior) using a conventional ladder and a tree limb early this morning. Unfortunately, it took hours of work to get everything adapted, tested and in-place, and by then the sky was already beginning to lighten. So, while I left the setup operating until dawn had well and truly dawned, I’ll be amazed if any useful photo was obtained. I’ll be lucky just to have learned enough to configure things correctly (or more correctly) for another try tonight.

Meanwhile, I’ve been trying to build another electronic circuit, this one to safely interface the infrared sensor in the nest box entryway to my video server, which will dutifully accept such electrical inputs and report them over a network by a variety of useful means. For years I had that sensor working with an analog-to-digital converter, recording interest in the nest box 24/365. The data was interesting, but eventually the converter stopped working (probably the lack of an optoisolator exposed it to some spurious energy picked-up by the long wires running to the box), and replacing it was infeasible because the converter was no longer made, and computers with the interface it used were no longer made, either.

Once or twice, in recent weeks, I’ve thought I had such a circuit working, on the grounds that it was working at the time. Then something unknown would change in a day or two, and the sensor would be recorded as triggering constantly. I believe there’s a bug in the video server’s software associated with normally grounded sensors (apparently those are uncommon in the security industry), but that left my circuits suspect, nonetheless. I think I’ve finally built a circuit that can do the job with the addition of a few more resistors, but while working with it the other night I noticed that disconnecting it from its power supply significantly reduced the hum in audio coming back from the owl box. With more testing it became apparent that a very small AC current was coming in on the wires running to/from the entryway sensor. That fed back into everything through the power supply, and caused most of the hum. Why such a small current should have such a large effect isn’t clear to me, but it is clear that I need to switch to a different type of cable to carry the sensor signal. My hum problems, sadly, are by no means solved, but this may be a clue to what”s causing the rest of the hum – I just haven’t figured-out where the unwanted AC current is entering what circuits. Maybe some low-pass filters will contain the problem until I can find the sources, but first I have build the right filters. Which brings me back to wishing I knew a lore more about electronics.

So, dear viewers, keep an eye on the owlets, because they’ll start leaving soon, and on those folding ladder joints, because they can fold at the most inconvenient times.

May 17, 8:13 AMSERVICE RESTORED – The video sever box would not recover even after disconnecting everything but the power and network cables and using the factory reset button repeatedly. From my perspective it is “bricked.” Fortunately, this is the second video server box I’ve worked with - the first I bought, the second was a replacement for the first, graciously provided by the vendor, who was sympathetic enough to send the replacement before the return of the original. Being amazingly busy with this project, the job, life, and so on, I haven’t gotten around to sending back to the vendor the original server. So, with the second server unrecoverable, as far as I can tell, pressing the potentially defective original server back into service was the only option. So far, it’s working like a champ, and the cam’ is online once again.

Add this to the list of recent events I really could have done without.

May 17, 7:15 AMSERVICE OUTAGE – The video sever box crashed when I asked it to record a movie of the owls, and hasn’t been able to reboot successfully since then. It appears to crash mid-way through rebooting, but being a block box (literally) there’s no way to gain any insight into what it is doing. I’m working the problem. Please bear with me.

May 15Wing exercises are on the rise, and that first set of feathers is becoming more and more evident on the owlets, but climbing attempts seem to have remained constant at one per day. Inevitably, the owlets are working-up to leaving. For the moment, they don’t seem to be hurrying toward that goal, but that’ll change, and change quickly when it does.

My best estimate is that the first owlet leaves the nest on the 24th. So, this cam’ has a while to go before it shuts-down for the year, but there’s little danger of getting all of the improvements I’d wanted in place before it does shut-down, and rapidly diminishing returns for any improvements made in the meantime. Dang.

Returning to the owls, there were thunderstorms much of the day, and more during the night, so if the adults look a bit odd at times, its only because they’re soaking wet (or, rather, as wet as any healthy screech owl ever gets).

BTW, there may be a flow of new content even after the owlets leave, time permitting. I’ve built-up a large collection of automatically recorded videos of nest box activity associated with motion in the entryway, so that probably means a lot of food delivery movies. Regrettably, whatever good movies are in that collection need some meaningful post-processing to make them suitable for general viewing (rotating them, minimizing the hum in the audio, etc.), and that’s where making them available comes to involve a lot time and repetitive manual labor, which is just the sort of thing you want to do after several months of non-stop activity (and after most of the site’s audience has left). That said, I don’t want those movies to go to waste, either.

May 15, 9:40 PM – Another futile effort to solve the hum problem is concluded. Perhaps outright replacement of the RG-6 cables that run from house to box is called-for, but my tests this evening for a short in either cable yielded negative (or, in some cases, ambiguous and difficult to interpret) results. Alternately, perhaps hypnotism, or surgical removal of various brain centers, could convince me that I like that infernal, tortuous hum, and I could finally relax.

Thoughts from people with electrical or medical backgrounds would be welcome.

May 15, 8:40 PM – Testing cable integrity, in my endless quest to find the source of audio hum in the system. Expect the loss of video, and changes in nest box lighting, during this time.

May 15, Early – A new version of the daily image archive slide show software was deployed this morning. The fast forward (now “Play Forward”), and rewind (now “Play Reverse”, which I suddenly think ought to be changed to “Play Backward”), buttons have much better operational logic behind them: click one up to four times and the slide show starts, then doubles in speed with each click. Click a fifth time, and the show stops. If, instead, you were to click the other button (“Play Backward”, if you’re currently going forward), the slide show continues going forward, but slows down by half with each click, until the slide show stops. Keep on clicking the same button and the slide show shifts into reverse, and goes progressively faster. It feels very natural, IMHO.

Clicking “Next” or “Prior” halts any slide show that was underway, and lets you manually move one-at-a-time through the images. (Using the keyboard equivalents—see below—that can be done very quickly.) There’s also much better visual feedback - when the slide show is active (as opposed to the one-at-a-time manual viewing mode), the forward or backward button (whichever reflects the current viewing direction) “lights up” and the its name changes to one or more directionally appropriate arrows, the number of arrows (up to four) reflects the current speed of the show. When you pause a slide show, or hit the end of it, the “Pause” button lights up and its name changes to “Resume.” (Yes, toggle switches in computer interfaces are rich with potential confusion - for one thing, there’s no convention for indicating to people that a button is a toggle, and, worse, you never know whether their labels reflect what’s currently happening, or what will happen if the button is clicked. In this case, it’s the latter. I’d’ve avoided toggle behavior, but for the usual reason: it saves space, and combines buttons that can’t be used at the same time into a single button, reducing the number of user interface elements, and hiding options while they are irrelevant. All good things, but despite using them myself, I still think they cause too much confusion and should be abandoned.)

Key equivalents: up arrow = “Play Forward”, down arrow = “Play Reverse”, left arrow = “Prior”, right arrow = “Next”, space = “Pause”/“Resume”. And, for anyone lacking arrow keys, or convenient access to them, the “w”, “a”, “s” and “d” keys have been pressed into service as substitutes.

It’s not the slide show facility I originally envisioned—features have been cut to save time, or avoid cluttering the interface—but I’m satisfied with it. (It’s at least as good as the slide show application I’d been using when I reviewed a day’s images.) Nonetheless, your feedback is welcome – send me email.

(Yes, I realize that I haven’t told my tale of woe from the morning of the 14th. This other stuff seems more important. But readers waiting for their woe will get it. Eventually.)

May 14 – The beginning of the conclusion of nesting came today when an owlet made the first climbing attempt, watched intently by at least one sibling. If memory serves, it’ll take about a week for the climber to master the skill, then the outside world will beckon irresistibility from the entry hole.

May 14, 7:34 AM – Running late with the daily gallery for the 13th, because … nevermind … I’ll tell you later. No worries about the owls, though; they’re all fine. Still no climbing attempts from the owlets, to the best of my knowledge.

May 12, 6:20 AM – The eldest owlets are now 2½ weeks old (so they’ll start leaving the nest in a mere 1½ weeks), and are remarkably functional critters, apart from being 100% dependent on their parents for survival, of course. All of their eyes opened some time ago, wing exercises started early on, though they are not especially frequent, yet. Standing or sitting upright is now a standard posture, though nothing beats flopping down on one’s belly for sleeping. If the owlets are properly juxtaposed and lit, you can still see that the youngest owlet is a much lighter shade of gray than the eldest owlets, reflecting the fact that the youngest has had less time to develop its first set of real feathers. Nobody has anything like a full set of real feathers, but the darker they become, the more progress they have made.

That’s the general status report.

As I write this, the sun is coming up, waking jays can be heard calling in the distance, and the adult owls are making food deliveries every few minutes, sometimes several times per minute. I have no idea what the food items are – they are all small, light colored, and vaguely spherical. Perhaps they are tightly rolled-up caterpillars, or grubs. Whatever they are, I’ve seen them delivered to owlets routinely for as long as I’ve had a camera in a nest. One of these days, I’d like to find out what they are, but that might require higher quality pictures.

May 11 – The owls and owlets are fine. No worries there. I’m waiting for the owlets to make their first climbing attempts, but that hasn’t happened yet. I expect that any day, however.

What I really wanted to mention is that I finally have the daily image collections feature restored. It's a few days behind at the moment, but I should be able to fix that tonight. With the return of the daily image collections comes a new interface, the oft-requested “slide show” interface. The buttons across the top of the slide how pages control everything. They do what they say, so, ideally, no documentation would be required. However, there are some behaviors that I didn’t have time to find a way to make intuitively obvious. Those include:

Compatibility: The slide show page has been tested in Safari 5.1.7, Chrome 18.0.1025.168, and Firefox 12.0. There’s a good chance it works in the latest Internet Explorer(s), too, but since Microsoft discontinued IE for Mac a decade or more ago, I have no good way of testing it.

Weird Look: The slide show pages don’t look like other pages on this site, but there are good reasons. Eventually, I’ll adjust the slide show generator so that it incorporates any color photos I’ve taken into the slide shows. Especially with color photos, a dark, neutral background prevents surrounding colors from throwing-off your color perception. Nonetheless, I broke down and made the button bar at the top of the pages a low-saturation green. The reason was that user interfaces in general, and browser window control areas in particular, are essentially all gray these days, and that caused my gray button bar to disappear, in effect, because it sits just below all those gray browser tabs and other controls. So, a touch of green seemed like a reasonable solution, at least until I think of something better.

I know a lot of people have been waiting years for the slide show feature, so I hope it lives up to all those accumulated expectations. If not, or if you have any opinions, positive or negative, about this new feature, drop me a line.

May 8 – It takes a while even for revisions of existing apps to work their way through Apple’s vetting process, but Chris Cooley’s new version of Owl Nest Box is finally available. All of my recent work with implementing cross-fades in the time-lapse animations came out of discussions Mr. Cooley and I had about new algorithms for this version of the app, and, in any case, it's good to see it back and better than ever. Thanks for your hard work, Chris.

Thanks also to Nancy C., Roberds, and Sysliene T. for their postcards, and (wow) Dale P. for the book.

May 6 – Two headshots of Mme. Owl taken in the late afternoon of the 5th. (Shot one, shot two.) She wasn’t the least bit concerned by my presence, even as I walked almost beneath her box, so I think she is either a new Mme. Owl who doesn’t yet consider me a threat or pest since I haven’t disturbed her nest so far, or the veteran Mme. Owl has realized that when I do disturb her nest, the safety of her nestlings is absolutely assured, even enhanced (and sometimes she receives an extra nestling as a bonus).

May 4 – Questions for new and long-time viewers (and everyone in between): (1) Do you remember your first impressions of this site? What were they? (2) What stands out about this site, both good and bad? (3) What changes would you make? Send me email, if you have the time.

I have an old saying, which I’m violating on this occasion: “Don’t ask for advice, you might get it.” The reasoning is this: If you acquire any meaningful amount of advice from people, you probably also have more than anyone could act on, to say nothing of the contradictory advice that has to be at least partially ignored, and when people find that their thoughtfully offered advice is not being taken, they tend to become offended. Then, what you end-up with is lots of advice that can’t be used for one reason or another, and, more significantly, lots of helpful, well-meaning people transformed into irritated or offended people. In large part, that’s a lose-lose in my book.

So, having no desire to squander the effort and goodwill of loyal viewers, I should just delete these paragraphs and walk away from the issues. The reason I haven’t (not so far, anyway) is this: Viewership is good (I use Google Analytics to keep an eye on it), but it’s not what I think it could or ought to be. Gentle readers, rest assured that I am not trying to blame you for watching too little. Rather, you’re the only people I can ask about what may have held, or be holding, the site back, so that’s what I’m trying to do with those three questions. But consider them food for thought. If you choose to send feedback, write it up any way that’s convenient for you.

Here’s one of the conundrums I’ve been pondering recently: I’ve always kept the site’s main page clean and simple (IMHO), as well as graphics-free in order to make it easy to read, and fast to load (the latter is less a concern now than it was 12 years ago, but old habits give way slowly). Both good design decisions, at least from my perspective. The flip side is that the concerns I was addressing with those decisions may have been antithetical to the concerns of a lot of potential viewers who may have arrived at the main page wanting to see something interesting immediately, rather than investing their time and energy in the higher level cognitive processes required to read various bits of text in order to locate the “Views” subsection, then reading through a list of links (seldom an interesting task), whose labels may or may not be comprehensible to the uninitiated, in the hope of finding the most interesting one ASAP, so that their efforts won’t have been wasted.

This may sound like a paradoxical condemnation of, and quest for, the patronage of the short attention-span crowd, but, to the extent that such behavior may be real, what I really think it reflects is that the vast majority of web sites that one encounters are useless, so these hypothetical people, having had their time wasted more often than not, are seeking to minimize their future losses. Thus, they need web sites to prove they are interesting or useful pretty much immediately. Otherwise, they figure someone’s fooled them into wasting their time yet again … and they are anxious not to have their time wasted, or to feel they’ve been fooled, so they protect themselves by imposing a short time limit on their first viewing of sites, a time limit that probably keeps dropping until it hits some unavoidable lower bound (like the time required to click a link, and have an unfamiliar page appear in front of them for the first time).

With that in mind, I’ve made some changes to the site recently, at least a few of which I hope you’ve found worthwhile. Those features are the animated views, which I believe are not only more interesting, but more informative, than the previous presentation methods, and the full-suite of views (animation included) from 12 hours earlier, since so many people can’t watch at the times the owls are most active.

Thinking particularly of the problem of losing would-be new viewers at the first page due to a lack of instant appeal, today I’ve added to the top of the main page a continuously updating, small version of the current four-minutes-in-fifteen-seconds animation. (And I’ve tried almost everything I can think of to make it possible to click on that little animation and be taken directly to its full-size counterpart. Amazingly, however, Safari, Firefox and Chrome all seem to agree that such clicking should not be allowed. I haven’t found out why, but the browsers are all quietly adamant on that matter. [Resolved on 5-May-2012.])

Puzzlingly, I haven’t seen much use of the new features so far, which is another reason for soliciting your feedback. Maybe everyone has their favorite “views” page bookmarked, goes there directly, and therefore never notices the new views that are available. Maybe the new views just aren’t wanted, or aren’t working for people. All of those things would be worth knowing about, as well as any factors I haven’t considered. So, like I said, drop me a line. I can’t guarantee an intelligent response, or any response at all, but I will try to make something good come of whatever I learn.

May 1Stealing Inspired by an idea from my old friend Chris Cooley, author of the Owl Nest Box app, I’ve created pages that animate the last four minutes of activity in the nest. Click on the new “Animated View” links, and you can try-out those pages. They are probably best considered experimental, so please drop me a line if you encounter a problem.

April 30 – Debut of the "view the action from 12 hours ago" feature. This is for everyone who lives somewhere that prevents them from watching the nighttime action live, because they have to waste time sleeping.

The code that implements this feature is the very first version that worked. I know there are some edge cases that may be handled in potentially confusing ways, and there are doubtless other adjustments, improvements and even bug fixes that will have to be made. On the other hand, basically, it works fine. Drop me a line and let me know what you think (and do report bugs).

April 27 – The final egg hatched sometime in mid-afternoon. More to come.

April 26, 7:45 AM CDT – Viewer Christy H. watched owlet no. 3 hatch live, and was kind enough to send me the frames recording that remarkable event. Eggs have been hatching in this nest box for a decade, you say? True, but the hatching itself has never been caught by the camera before. I thought it was always going to happen under Mme. Owl and we never would see it, but the afternoon of the 25th was hot enough that Mme. Owl didn't need to incubate or brood anyone. She was trying to get away from the heat by roosting on the perch. So, egg no. 3 Hatched in full view of the camera. I’m still amazed, and, of course, very grateful to Christy H. for tipping me off that there were such exceptional images lurking in the archive.

Without further ado, here’s a time-lapse movie starting just before hatching, to just after our first good look at the still wet hatchling. (QuickTime, 7.3 MB)

April 25, 8:02 PM CDT – As this afternoon’s viewers will have noticed, egg no.3 turned into owlet no. 3. Early- to mid-afternoon is currently my best guess as to when that happened.

April 25, 5:54 AM CDTA view from the attic camera of owlets 1 and 2 (MPEG-4, 61.2 MB). They don’t do tricks or anything, but, hey, zero day owlets. ’Nuff said. This is a silent movie, by the way. The cause was a wiring oversight due to rarely using the attic camera. That oversight has now been corrected.

Due to the size of the movie, it may take some time before it begins playing.

April 25, 12:58 AM CDT – Looking through yesterday’s automatically captured movies, I found the first video view of the owlets (MPEG-4, 17 MB) at 7:19 PM. They were in the deepest shade inside the nest box, so the video isn't optimal, but it is usable. The audio may be the most interesting part, because it includes the clucking sounds a mother screech owl makes for her owlets, and the food begging sounds of the owlets.

April 24, 10:25 PM CDT – I haven’t begun reconstructing the afternoon/evening’s events, but two owlets have very definitely hatched. Mme. Owl’s carefully delayed incubation of the first two eggs seems to have paid-off by erasing the approximately two day difference in their laying times. This is a good outcome for the owlets, since the reduced spread in their ages (which we begin counting at hatching) has at least two effects: (1) the owlets will be more evenly matched in their competition for food, and (2) when the owlets start leaving the nest, it’ll be easier for the parents to manage their mix of nestlings, branchers, and fledglings, since that mix will exist over a shorter time period.

April 24, 1:45 PM CDT – The afternoon has become hot enough that Mme. Owl has been able to take a break from incubating the eggs. That has revealed four apparently intact eggs. While any one of them might have begun the hatching process, with the initial hole in the egg shell unluckily not visible from the perspectives of the side and attic cameras, one can more safely assume that hatching of the first egg has not yet begun.

April 24, 9:50 AM CDT – The first egg may have hatched. Glimpses of what appear to be egg shell fragments under Mme. Owl, and the possible sound of owlet peeping, both suggest a hatching. No sighting of the youngster, so far (not by me, anyway).

April 24 – When is the first egg likely to hatch? Today or tomorrow, is my guess. Stay tuned.

Having changed jobs on campus during the past year, my traverses of campus don't take me near the post office as often as they used to, so I’m a bit behind in postcard retrieval. Thus an overdue set of “thank you”s is owed to Nancy C. for more postcards than I can count. (Actually, I count to three real good these days, but it sounded better the other way.)

April 18 – The owl cam’ is live again, at last. Much software development. Much fighting problems in new hardware. Much arguing with technical support. Much pain. All worth it, though, to see the cam’ live again, and loyal viewers tuning in, sending email, etc. (And a big welcome to new viewers, also.)

April 2 – Here’s an MPEG-4 (".mp4") movie of an interesting food delivery on April 2nd (27.3 MB). The food item is one of the mediterranean geckos that have so successfully populated this region of Texas, and which seem to be a favorite screech owl food. The really interesting thing, to me, is after the gecko is swallowed, Mme. Owl engages in unbidden preening of her mate’s head, the feathers on which he can’t preen for himself, of course. Offhand, I don’t remember ever seeing this behavior associated with a food delivery.

Previous News Items from My Blog

Valid XHTML 1.0! Valid CSS!