Goodbye First-gen Roku

I just factory-reset my first-gen roku N1000 in preparation for junking. A cursory ebay search shows these listed on ebay as “vintage.” While it seems like I was able to successfully stream netflix, amazon, and PBS kids through it recently, it was probably a few years ago. (This is what growing old feels like, I guess.)

I type this post on an AMD phenom-II x2 that is only a year newer than the roku, yet runs win10 just fine, and continues to function as a contemporary to newer hardware systems. (A predecessor system with twice the cores but only 4GiB memory did not fare so well.) I added a GTX1650 to replace the anemic on-board video, and my kids have had no complaints so far about their game performance. (They are big fans of Terraria, Minecraft, and Geometry Dash, but it also runs WoW classic at 60FPS.)

Back to the roku… the reason the N1000 no longer works for streaming is not a technical one. It has its hardware limitations of 720p, and I suspect only a fixed set of supported CODECs, but I have run brand-spanking-new software on hardware from the early 90s, so I posit the decision to discontinue support is economic. I wonder what the real or perceived cost in continuing to support roku channels on the N1000 was when they decided to cut it loose? The projected margin for sales new hardware due to upgrades exceeds the cost of maintaining a CI environment for new software on old hardware?

Hobbyists can afford to have a warped sense of economy. Reduction in cost is an indirect goal, not maximization of revenue. For me, the primary cost has been time, followed by power consumption. I can’t recommend running PHP on a 400MHz alpha if you care about speed, but it was functional. Spamassassin took ~30s per message when I moved mail from my dual-processor SPARC 20 to an x86 VM. The same phenom-II x2 that I’m typing this message on now used to host all my VMs, and was replaced a couple years ago by a Dell Romley system which consumes roughly the same amount of power, but with 8x the hardware threads, 16x the memory, and 1/3 the rack space.

Tonight I packed up my c64 which is still able to read most of its disks from c1990 and isn’t dependent on the whims of a vendor for it to continue working correctly. I have three nexus 6 phones in my household now which had support dropped by google in 2017, but are able to run a frequently updated android 10 thanks to lineageOS. My kids’ chromebooks from ~2015 are both supported until mid 2021, and I expect I could install a third party chromeOS distro to extend the lifetime.

The c64 isn’t dependent on a third party to continue functioning. My nexus 6 and chromebooks will continue to work after the vendor drops support, but won’t receive security updates. In contrast, the roku is effectively dead, even though the hardware continues to work correctly. It can play videos from USB media, but the streaming services it utilized have been discontinued.

I want a long tail to hardware. I want the computing equivalent of replacing a refrigerator from 1978 because it no longer efficiently cooling its contents, not because the vendor decided they didn’t want to support cooling for that model. I want the decision to drop support for a given product to be made over a congregation of known users and code escrow being handed over to a non-profit or placed in public domain.

Sorry to see you go, first generation roku N1000. You seem to be working just fine hardware-wise, but apparently I never really owned you, and your true owners have a different software development optimization point than I do.

Loading the Barge

  • DEC
    • VAX
      • VAXStation 3100 M76
      • VAXStation 3100 M30 (VS42A)
      • uVAX-II (BA23 case, no rails)
      • VAXStation 4000 VLC
    • MIPS
      • DECStation 2100
    • Alpha
      • AlphaServer 1000A 5/400
      • Multia / UDB. Three of these, take ’em all! [only one taken so far]
      • Alpha 3000/400
  • Sun
    • SparcStation 1 (possibly 128M memory)
    • SparcStation 2
  • Terminals
    • ADM3a
    • Ann Arbor Ambassador

Systems marked in bold have found new homes.

The Multias are low-end and flaky; I can understand why they haven’t found new homes. The sparcs I’m a little surprised about… no love there?

goodnight clock radios

My wife has been modernizing her family’s vacation property, and all the clock radios have been replaced with newer ones which include USB charging jacks. A couple of them even have built-in cassette players, I suspect with very low use. I’m putting these cassette models on the street in the hopes a Portland Hipster or two will be willing to take them home and give them some love.

With practically everybody having an accurate network-synced clock on their nightstand which can trivially function as a clock radio and media player, are clock radios a technological anachronism being kept alive by millenials?

Plenty of technical baggage for Xeon

Reading through Xeon Bang Per Buck, Nehalem to Broadwell, and came across this gem:

Nehalem is the touchstone against which all Xeons should be measured because this is when Intel got rid of so much technical baggage that had been holding the Xeons back.

Sure, FSB was ditched for QPI, and the memory controllers were brought on-die, but there’s still a heck of a lot of technical baggage being carried around. I started writing this in 2016. It’s now 2020. Do modern Xeons really need to continue carrying around legacy in hardware from the original 8086 and other x86 “mileposts” (80286, 80386, 80486, pentium, pentium pro, etc…)? I bet there’s a Greenlow or Denlow board somewhere in embedded land with ISA slots plumbed in through eSPI, booting DOS 6.

EFI has been shipping since 2000, and Apple started shipping Intel-based Macs with EFI in 2006. Why are we still booting in 16-bit real mode? Why did it take so long for option ROMs for modern on-board ethernet on Intel reference hardware (and PCSD’s commercial versions) to be re-coded for EFI in the intervening decade? (Whitley finally dropped real-mode opROM support.) Add a software-based 16-bit emulator for legacy option ROMs optionally loaded during DXE phase? (DEC had a MIPS emulator in turbochannel Alphas for running turbochannel option ROMs. Sun and other openfirmware systems went one better and used architecture-independent FORTH bytecode.)

The necessity for direct hardware support of legacy 32-bit support is questionable — BIOS claims it needs 32-bit to meet code-size requirements, but the code is not exactly tidy or concise. There seems to be a vicious circle between IBVs and BIOS developers unwilling to update crufty code, with long-aged code bases suffering from a tragedy of the commons, with no clear stewardship or short-term monetary payout for cleaning things up. I do have a few BIOS buddies who grok this and are trying to do what they can, but there’s a lot of momentum in technical debt that’s coming up on two decades old in a company that has historically viewed software as an enabler for hardware.

Surely 32-bit backwards compatibility could be handled at the OS and software layer, not the hardware? IA64 bungled implementation of IA32 backwards compatibility by not making it performant, but that doesn’t make it an inherently bad idea.

Don’t get me started on SMM… or maybe that’s a rant for another post.

(posted from the depths of my drafts years after it was started…)

DEClaser 1152

Feeling a bit nostalgic right now that I had a DEClaser 1152 postscript laser printer left at the family business. It was liquidated when the business relocated. I was given a terse warning by an ex-co-worker to come collect things before the liquidation, but I was dealing with a newborn at the time, and didn’t give it much thought.

Continue reading DEClaser 1152

Farewell Skolem, the PIII packet-pusher

Skolem was a Pentium III mobile with 128MiB RAM, a 20GiB travelstar HD, and a dock! The dock was important since the LCD was completely shot, and it had two PCI slots (with Lite-on tulip clones) which enabled routing duties. Skolem was my router for many years, taking over after my Ultra 5 started failing, and even survived a DSL to cable ISP change. Continue reading Farewell Skolem, the PIII packet-pusher

coalescing the VMs

I got a Romley (dual e5-2670 Jaketowns) last November with the plan to pull in the VMs from the three Xen hosts I currently run. I’ve named it “Luxor.” It idles at around 150W, which should save me some power bill, and even though it only currently has 1TB of mirrored storage, thin LVM provisioning should allow me to stretch that a bit. It’s easily the fastest system in my house now, with the possible exception of my wife’s haswell macbook pro for single-threaded performance.

Luxor has 96GiB [now 128GiB] of memory. I think this may exceed the combined sum of all other systems I have in the house. I figured that the price of the RAM alone justified the purchase. Kismet. Looking at the memory configuration, I have six 8GiB DIMMS per socket, but the uneven DIMMs-per-channel prevents optimal interleaving across the four channels. Adding two identical DIMMs or moving two DIMMs from one socket to another should alleviate this. (I doubt it’s causing performance regressions, but given that the DIMMs are cheap and available and I plan on keeping this machine around until it becomes uneconomical to run (or past that point if history is an indicator), DIMMs to expand it to 128GiB should be arriving soon.

In mid-December, the first olde sun x2200m2 opteron (“Anaximander”) had its two VMs migrated and was shut down. A second x2200m2 (“Anaximenes,” which hosts the bulk of my infrastructure, including this site,) remains. While writing this post, a phenom II x2 545 (“Pythagoras”), had its 2TB NFS/CIFS storage migrated to my FreeBSD storage server (“Memphis”) along with some pkgsrc build VMs and secondary internal services.

Bootloader barf-bag for x86 is still in full effect. I couldn’t figure out how to PXE without booting the system in legacy BIOS mode, and I gave up trying to get the Ubuntu installer to do a GPT layout, let alone boot it. I figure I can migrate LVM volumes to new disk(s) on GPT-backed disks, install EFI grub, switch system to EFI mode, and Bob’s your uncle. (He’s my brother-in-law, but close enough.) At least that’s the plan.

The VMs on Anaximenes have been a little trickier to move, since I need to make sure I’m not creating any circular dependencies between infrastructure VMs and being able to boot Luxor itself. Can we start VMs without DHCP and DNS being up, for instance?

Systemd is a huge PITA, and isn’t able to shut down VMs cleanly, even after fiddling with the unit files to add some dependency ordering. Current theory is that it’s killing off underlying qemu instances so the VMs essentially get stuck. Running the shutdown script manually works fine and the VMs come down cleanly.

Time to get rid of my TiVo series 1

Around the turn of the millennium, my now wife and I plunked down our hard-earned money and purchased a Philips TiVo series 1 with lifetime service. We had a friend with a ReplayTV, but the TiVo interface won us over, and we enjoyed the TiVo life through roughly a decade thanks to a dual 128GB hard drive upgrade and silicon dust cache card. The updated hard drives eventually died, and we reverted back to the original 30GB drive for a few months before our directv receiver was replaced with one that had DVR capability. The directv DVR UI sucked, but it was easier than stringing IR blasters and serial control converters together to keep the TiVo going, so the TiVo ended up being neglected.

I had cozy visions of my TiVo recording kids shows from a DTV converter box as part of my basement retro media station. TiVo dropped support for series 1 guide listings in 2016. This obviously had no practical impact on me, but it still makes me a little sad.

So long, TiVo. You were a great box.

Camp Kitchen Bug

As my children have been getting older, we have started camping as a family, and this year we had an epic summer vacation with stops at multiple national parks. I’m the family chef, and so obviously cooking immediately comes to mind after shelter and clothing. When we camp, I like to provide my family with food cooked from scratch similar to what I can cook at home, and naturally I like to geek out a little over the kit I use to prepare that food.

We have what I consider a fairly complete camp cooking setup, with a commonly available coleman pack-away kitchen and a couple folding tables. These are typically set up underneath an EZ-up providing shade from sun or cover from rain, depending on the weather. There is ample counter space for prep work, while folding sinks and a sprayer make for a workable dish washing process. (I have to give credit to my sister-in-law who has shared her camping setup with our family over multiple years while camping in southern Oregon, as well as to my wife, who did the grunt-work of researching equipment lists and procuring the gear.)

We broke in our own camping setup in summer 2016. Our first trip was with some family friends to River Bend Park near Sweet Home, the second was a one-nighter to McNeil Campground near Zigzag with just our family, and the third was to Oxbow Regional Park with our daughter’s schoolmates. Other trips with the same setup followed, and it has worked out pretty well so far.

At River Bend, there were a few times when I had my dual-burner propane stove going (usually with a griddle on top) while our friends had a single-burner iosbutane backpacking stove cranking out hot water. We also had a fire pit, so my dutch oven was also used to make beer bread and pizza. The experience started me thinking about about off-grid stoves, fuels, and stirred feelings of nostalgia for campouts from my youth. There’s a whole spectrum of cooking technologies from open-fire cooking, to high-tech jetboils, and even outside of casual camping season here in the pacific northwest, the wide world of stoves continues to periodically creep back into my brain.

In contrast to the high-volume and near-meticulous duff-free River Bend, McNeil had dry twigs and cones from pines and doug firs throughout the campsite. My wife continually reminded me that twiggy duff is a common scenario throughout the tree-infested pacific northwest, so naturally my thoughts turned to wood-burning stoves. The solo stove was a first hit for web search, but I’m not backpacking with my family (at least not yet), and it seems geared more towards boiling water rather than extended controlled temperature situations needed for cooking, like simmering. The biolite stoves also seemed interesting, until I read reviews which indicated the USB charging is not terribly effective. Adding electronics to a device that could potentially be needed in an emergency off-grid situation seems an overcomplication.

The conclusion of our camping season in 2016 ended up with a very wet weekend at oxbow regional park. In my haste, I neglected the scout motto, and did not have my rain jacket or pants packed with me. We brought two EZ-ups with us, but only unpacked one to set up over our kitchen area. The wet weather came a day earlier than expected, so I didn’t have our second EZ-up set up over our tent to keep things dry. This meant packing up a day earlier than planned. Since I didn’t get to make my dutch oven beer bread at the campout, when we returned home I fired up some charcoal in my driveway so I could cook my bread at home. (I could have just cooked it indoors, but that’s not as fun.)

As the weather started turning, I felt obligated to squeeze the fading echoes of summer by cooking a couple dinners for my family outside. In contrast to car camping, I have a 20# propane tank connected to a grill at home. After a trip to gather provisions, I had my suitcase propane stove cranking away on my back patio. In my wild remodel fantasies, I would have a covered outdoor kitchen with fireproof counters which could be configured for wood stove cooking, dutch oven (charcoal) cooking, or propane. Maybe a small fireplace or hearth for a cozy fire. And since this is all make-believe, there would also be an easy path between my indoor kitchen and outdoor kitchen so I wouldn’t have to duplicate food prep areas. Or maybe a small food-prep area with a sink and multi-powered (AC, DC, propane) fridge?

2016 summary: I enjoy cooking. I enjoy cooking outdoors. I’ve got a camp kitchen bug. I can’t shake it. Some of it may have to do with being chased out of my own kitchen by children setting up train tracks all over the floor and counters, horrifying political nonsense blaring in from the other room, and I getting some sanctuary by cooking. (dancing toddlers optional.)

This post was started in 2016, and got a little out of hand over the last couple years…