Netflix and Hurricane Electric's IPv6 service

For a few years now, I've used Hurricane Electric to get a native IPv6 tunnel to the internet. I've also been using Netflix streaming since it was first introduced. Life was good.

Netflix, on behest of its content suppliers, has started to crack down on folks using VPNs or proxies, because they're often used to work around artificial geographical restrictions.

A day or two, that blocked proxy list grew to include Hurricane Electric's IPv6 service, which I make heavy use of. Despite a US billing address, being physically located in the US, and using a US tunnel endpoint, Netflix treats me as an eeeevil bad person.

Their only advice is "disable your proxy", which is not an option as I have IPv6-attached servers that need to remain online.

Netflix's applications don't provide a way to utilize IPv4 only, which basically means I had to figure out a way to force Netflix traffic to travel over IPv4. Ideally, I'd block the IPv6 AAAA DNS lookups, but there's no simple way to do that.

However, one can just null-route the entire Netflix IPv6 address range:

    ip -6 route add blackhole 2406:da00:ff00::/96 # AWS
    ip -6 route add blackhole 2607:FB10::/32
    ip -6 route add blackhole 2620:0:ef0::/48
    ip -6 route add blackhole 2a00:86c0::/32

This will, after a little delay, cause Netflix to fall back to using IPv4, and all is well.

Ironically, being able to avoid this sort of BS is one of the reasons why Netflix was such a compelling service, but the balance is tilting back towards piracy providing a better overall user experience. Part of me hopes that the stats show a nice correlation between making legal services less useful and piracy rates going back up.

Addendum: About a year ago, my ISP (Comcast Business) rolled out native IPv6 service which by all accounts works quite well. Unfortunately, they don't offer a static IPv6 allocation, which renders the whole thing useless for my needs.

UPDATE 2016/07/31 -- Added in additional IP ranges

Starting points

As I mentioned earlier, the house on the tick farm came as-is, in a partially renovated form. This is the view from just inside front door:

226769:334872

Aside from some formerly exterior walls, the place is stripped to the wall frames, with only doors, baseboards, trim, old HVAC ducting and most of the old wiring remaining. I need to finish ripping all of that out before I can do any new work.

The windows off to the side are in what used to be an outside wall, before the Florida room was enclosed. I started by knocking them out:

226773:334876

In the process of opening this wall up as much as possible, I'll be pulling off this "exterior" siding and reusing it as needed on the outside. I can't proceed with [re]moving most of the interior walls until I get some professional advice on just what is truly load-bearing, but in the mean time I'll finish the demolition.

In parallel, I need to replace all but four windows, close off the useless exterior door in the Florida room, and patch up the siding as needed. I'll probably stucco the whole exterior eventually.

I will need to chase out a nesting cardinal and perhaps a squirrel two before I install soffits under the eaves, but after that, the windows, and a little bit of siding patchwork, the place will be weather- and critter-tight and the next phase can begin.

My general vision is to split the main house roughly in two, with a large master bedroom suite occupying the north half. The southern half will be opened up, built around a large-ish kitchen, although the exact details depend on how clever I can get with the load bearing walls. The current finished section will probably become an office.

There's a ton of work to be done, and it'll take a couple of years before it's all done, but the results will be well worth it.

The Peachy Free-Range Organic Tick Farm

226699:334747

On May 27th, I closed on a 30 acre spread in rural Suwanee County, Florida. It's within spitting distance of the Suwanee River and two different springs, far enough north to be in the deep south.

The land is teeming with wildlife of all sorts. Even the small clearing around the house has numerous gopher tortoise burrows, plus many smaller burrows and birds nests from finches to hawks. Foliage-wise, there's loquats, pears, figs, grapes, blackberries, mint, bamboo, and what the locals call sparkleberries within easy reach, and much more if I want to venture into the heart of the tick farm.

Speaking of the house, some decades after it was built in 1951 it was relocated here, and mostly gutted for a renovation that never materialized. About 400 of its 1250 square feet was finished into the form of an efficiency apartment, with modern-ish wiring and a full bathroom. The rest is mostly bare framing and trim, leaving me a nearly blank slate to work with.

The well water is clear and sweet, and the high pressure combined with the dialed-up water heater made for some blissful showers after long, sweaty days.

I buried Isabella's remains, and planted a grapefruit tree on top. Every time I go back I'll plant something more -- I want peaches, pecans, walnuts, [key] limes, cherries, confederate and night-blooming jasmine, honeysuckle, English ivy, a proper thicket of blackberries and raspberries, and a rose garden for good measure.

I've never considered myself particularly ambitious, but what dreams I've had have always started with a large chunk of land somewhere beautiful.

I've finally found that somewhere, and if I play my cards right I'll be living there this time next year.

I'm really looking forward to what happens next.

Ghostly Morning

225568:332526

One morning last weekend, I woke up to thick fog that did not lift until the sun was well into the sky.

Taken along the northern shore of Mill Dam Lake, in Ocala National Forest.

Farewell, Isabella

224770:330917

Isabella wasn't so much as my cat as I was her human. She was a very un-cat-like cat, somewhat uncoordinated and not terribly bright, but fiercely loyal and always happy to see me.

Ciao, Isabella.

...Thank you for fifteen (and a half) wonderful years of companionship.

This is why ECC RAM is a good thing

    [2954432.978093] [Hardware Error]: Corrected error, no action required.
    [2954432.982285] [Hardware Error]: CPU:6 (10:8:0) MC4_STATUS[-|CE|MiscV|-|AddrV|CECC]: 0x9c5cc820001c017b
    [2954432.986453] [Hardware Error]: MC4 Error Address: 0x000000054a089400
    [2954432.990528] [Hardware Error]: MC4 Error (node 1): L3 data cache ECC error.
    [2954432.994525] [Hardware Error]: cache level: L3/GEN, tx: GEN, mem-tx: EV
    [2954432.998450] mce: [Hardware Error]: Machine check events logged

Who knows what was going at the time...

Sinfonia CHC-S6145 (CS2) and Ciaat Brava 21, working!

Over the past year, I've written a bit about the situation involving the Sinfonia CHC-S6145 printer and its rebadged sibling, the Ciaat Brava 21. To summarize, the printers worked but required use of a proprietary, binary-only library ('libS6145ImageProcess') to perform thermal compensation and other transformations to the image data in order to generate sane output.

To make a long story short, I set out to reverse-engineer how that library worked... and a couple of weeks ago, I succeeded, with my re-implemented library generating completely identical results.

After some back and forth with Sinfonia, I'm quite pleased to announce that my re-implemented library, called 'libS6145ImageReProcess', is now released to the public under a GPLv3+ license. Except for the differing name, it is a drop-in replacement for the Sinfonia library.

Just to be absolutely clear, Sinfonia is not responsible for this library in any way, and will not support you if you complain that the output is somehow deficient or your printer catches fire when you print images of Donald Trump biting the heads off of adorable kittens.

Now in order to actually utilize these printers, you'll need to compile and install three components:

I should have the necessary backend code in the Gutenprint development repository soon, but due to licensing complications the library will probably remain separately distributed.

Particular thanks go to Sinfonia and Ciaat for providing documentation on the printer communication protocols, and Matt Koglin for his SinfoniaCam(tm) and many, many rounds of testing.

This has been a long time coming, and is the culmination of quite a bit of work. I hope it proves useful, and if you do purchase one of these printers intending to use it with Linux (or a more obscure OS), please let your Sinfonia distributor know. :)

UPDATE 2016/10/19

Assuming that your distro already includes an up-to-date Gutenprint (5.2.11 or newer), here is what you will need to do in order to use these printers:

    git clone https://git.shaftnet.org/cgit/selphy_print.git/
    cd selphy_print
    make
    sudo make install
    cd lib6145
    make
    sudo make install
    sudo bash
    echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf
    ldconfig
    exit
    cd ..

Once you have that done, run this with the printer attached:

      sudo ./shinkos6145 testjobs/shinko_s6145_4x6.raw

As well as spitting out a page, you should see the following message in the output. Any WARNINGs or ERRORs are a sign that the library wasn't installed properly:

    INFO: Image processing library successfully loaded

At this point, you can set the printer up using CUPS or your distro's printer tool, and all will be well.