That'll Buff Out...

What is it with trees in Live Oak? Between the house and the car, I'm now 0 for 2.


This shot was taken after I pulled the fender away from the tire and partially re-attached the bumper. With pink zip ties.

All in all I was rather fortunate; the only thing damaged (aside from my pride) was the fender. And some (more) paint scrapes on the hood and bumper...

Mixed Progress


Finally, some tangible progress -- the demolition work inside is nearly complete; we're down to the minimal center support until the 13' and 18' beams that'll open up the master bedroom and kitchen can be installed and properly braced.

That's the good news. Unfortunately, this was tempered by some bad news that arrived while I was in a hotel in China during my first night without my luggage:

228814:338969 228815:338970

Yup, I'm blessed with three new skylights. Here's the roof after the structural damange was repaired:


So, instead of framing out the new interior walls, a change of plans is in order. First, an new roof; then new exterior walls, windows, and siding -- which will require partial demolition of the livable space, and only then can I resume the interior work. First the walls, then plumbing, electrical, insulation, HVAC, and, and, and...

Other accomplishments -- two peach trees, four blackberry bushes, and a raspberry bush. The stove is now igniting, the exerior lights are now on proper motion sensors, and a whole ton of old lumber is neatly stacked away in the shed.

After seven months of barely measurable progress, things are going to happen a lot faster now. Or at least they will once I pull a proper permit for the roof and other exterior work.

Happy Second New Year of the Year

Through a convoluted series of events, I found myself in Qingdao, China for a customer visit. It was a crazy trip, starting with missed connections, continuing with lost luggage, but the tail end of my visit coincided with the Chinese New Year:


There's no large, municipal fireworks shows, but every family tends to set off a carload of stuff of their own. For hours, I was buffeted by mortars and meters-long strings of firecrackers erupting from every courtard and public space. A truly memorable experience.

But, another new year calls for another sunrise. This was shot with the camera sticking out of a window of my fifteenth floor hotel room.


Strictly speaking, this was the day after New Year's -- The actual new year's day was dreary, wet, overcast, and at best, barely above freezing.

Despite some beatuful moments, this was a miserable trip in general -- and I spent that beautiful day not exploring Qingdao during a local holiday, but instead scramlbing to figure out if I would be able to return home to the United States.

You see, I was born in Iran, one of the VeryBadPlaces(tm) that our esteemed President is still petulantly trying to ban.

I did manage to get back in without hassle, but suffice it to say I'm quite livid about this situation.

Mitsubishi P95D

The Mitsubishi P95D is the latest model in a line of Medical/Scientific monochromatic thermal printers that can often be found attached to the likes of Ultrasound stations.

As of December 20th, it now has first-class Linux support as part of Gutenprint, complete with status/error reporting, mutiple copy support, custom page sizes, and every other feature the printer exports.

I may try to extend support to older models in the family (P93 and P91) or other MedSci thermal printers if there's any interest.

Oh, here's a shot of the P95 in action:


Update 2017/02/11 The Mitsubishi P93D now has first-class support as well.

Improvements for newer Canon SELPHY models

About a year of so ago I added support for the newer Canon SELPHY printers (CP820, CP910, CP1000, and CP1200) into Gutenprint. Despite using the same media kits as their older siblings, under their plasic bodies they sported a new print engine that worked fairly differently.

Slightly different print sizes, a Y'CbCr image format, and, surprisingly, they appeared to be sane USB Printer class models and not require a special backend to handle communications.

Fast forward to last week, and it turns out that was a premature assessment. While the printers didn't require any special handholding to print a single image, they would lock up if one would send over two jobs back-to-back. Canon still can't implement proper flow control.

Time to break out the sniffer and capture some multi-page jobs! A quick flurry of hacking later, and the 'canonselphyneo' backend was born. It brings along sane flow control, status reporting, and error detection on par with the selphyneo's older siblings.

I also discovered the 'L' print size was incorrect. All of this will will be in Gutenprint 5.2.12-pre5 or newer, but the current backend can always be grabbed from my selphy_print repository.

Oh, as I write this, I don't have the USB IDs for the CP820 or CP1000 models. I need those so they'll be recognized by the backend. Holler if you have one!

Update 2017/01/06: I now have the CP1000 ID; only the CP820 is missing.

Modern Infrastructure


Last week I was sent off to South Korea with two days' notice. The weather was lousy, jet lag brutal, and the work unforgiving, but this impressive snarl caught my eye while waiting in line at one of Seoul's many, many, many coffee shops.