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
The TZK10 is a DEC quarter-inch tape drive, using QIC-525-DC standard: 512MB on a DC6525 tape; 320MB on a DC6320 tape. These were my primary backup media for my 1990s-era unix cluster through the first decade of the 2000s.
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
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.
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.
I added a couple telebit trailblazers to the ice floe a couple days ago, and tonight my US Robotics courier HST.
My father purchased a Kyocera 1200 bps modem for our family’s Leading Edge model D, with the hope that my mom could use it for her transcription and word-processing business. I used it to call BBSes. It took at least a year before I figured out how to get file transfers working with the included Microsoft Access comm program. (Not Microsoft Access the database — Access the comm program!) I downloaded Procomm with the Xmodem-checksum protocol, then later Telix (with Zmodem).
I saved my paper route money to buy a 2400bps modem. I did ANSI. I ran a BBS. I saved more paper route money and got at 14.4k courier HST through a local sysop of a large multi-line BBS. In the early 90s it was cheaper for me to call across the country in the middle of the night with a budget long-distance provider than to call to the more remote areas of my own area code, but that’s the subject of another post…
When I arrived in college, the sysadmin there knew I had run a BBS, beckoned me to the the sub-basement, and handed me a Xylogics terminal server. “You can make this work, right?” I first configured it to replace the old Cisco STS-10, providing direct text logins for students and alums. I opened up PPP connections a couple months later, and wrote an awk script to parse the log files and identify freeloaders. As a staff member, I of course never showed up on the freeloader list, even though I left my connection up 24/7, phone line connection permitting.
During a year break from college, I was employed at a large regional ISP as a system operator, junior to the sysadmins. I did the grunt-work of hard-resetting (yanking and re-seating) failing modems from the 800+ lines in our local POP, and directing our field guy to busy-out or replace modems that appeared to be broken at the frame-relay-connected remote POPs.
A couple years later I replaced my nailed-up V34 modem with a DSL connection, first CAP and later DMT. When the telco started interfering with their own DSL connections and the combination of video streaming and work-related VPN needs started outstripping DSL, I moved to a cablemodem.
I originally kept my modems with the intent of setting up a backup UUCP connection for my email, as I had provided others in college. Since moving jobs to corpoland, I no longer have control over a remote PSTN line, so can’t set up my own out-of-band UUCP connection. I no longer have a POTS line at home. I suspect that modems over VOIP do not fare well, although V.MOIP is supposed to address this. In any case, the sunset on modems designed to work over the PSTN has long since passed, and so it’s time to say goodbye.
I don’t even have another HST modem to dial in order to capture handshake audio, and a cursory search on the internet doesn’t reveal any such recordings. My HST has spent over a decade in a box, and the last time I fired it up, the NVRAM was completely shot, and it’s not like I have anywhere to dial anymore.
The option of simulating old tyme internet over a serial connection is always available by using a null modem cable. Latency will obviously be better, but it’s just a simulation. screeching handshake not included.
My children have met spinning media. I play games with them on my c64, so they know what floppy drives are. I play vinyl records for them. They have a small DVD collection of movies. Tonight we took apart a couple hard drives so I could show them the insides. They enjoy using screwdrivers.
First up was a full-height 1.6GB Seagate PA4E1B 5.25″ drive. We weren’t able to get the lid off, but they could see the drive arms and all the platters. Ten of them. Eighteen heads on the arm. (Later, with a hammer and screwdriver, I was able to get the lid off.)
We then moved to a 3.5″ 52MB Quantum Prodrive 52S. When the top of the drive came off, my daughter recognized the configuration of the head and arm over the platter. “It looks like a record,” she said. Two heads, and an optical detector for the tracks, rather than using servo tracks. I now wish I had fired it up and listened to it before disassembly, as I suspect it may have had a unique sound.
The largest drives I have now in my home datacenter are 3TB. MicroSD cards sold at the checkout lanes at my local supermarket can hold more data than the drives we disassembled in a fraction of the physical space, with orders of magnitude less power consumption. SSDs are catching up to spinning rust in capacity, and Intel’s recently announced non-volatile memory pushes densities even higher. It’s possible my kids will never have to delete data in their adult lives — data would get marked as trash, but would still technically available for retrieval “just in case” because the cost savings of actually reclaiming the space used by data will be negligible.
I had a Xerox 820-II CP/M machine with 8″ floppies that stored close to 1MB of data. My family had a PC with a 30MB hard drive, and I remember being in awe in the early 90s thinking about 1GB hard drives that cost around $1k. I bought a 179MB drive in high school with stipend money, and scrounged drives of various sizes throughout college. I don’t remember the first drive > 1GB that I owned — very few have survived. I vaguely recall a jump from hundreds of MB to tens of GB that happened in the early 2000s. All spinning media.
All slowly succumbing to mechanical wear-out, or more simply, obsolescence.
last weekend I dropped off a stack of SGI challenges and an indy to my local recycler. there’s only so much that can be done with a 200MHz R4400 CPU these days. there’s also still some pmap bugs in NetBSD, so I never could complete a build of the world, although I did get some openssl numbers.
I never had these systems in production use, so there’s not a lot of emotional attachment. just the lost potential.
MIPS seems to be bare-bones these days. not even parity memory. I don’t get it. it was a serious workstation- and server-level CPU, and now it’s used for networking gear and more disturbingly for NAS boxes. (seriously, who would ever trust data to a storage subsystem that isn’t at least performing parity checks? yet most MIPS-based NAS boxes don’t have parity or ECC memory!?) MIPS was server-level in the early 90s. no longer.
here’s some dmesg and openssl benchmarks… photos later after I get them exported from raw.
I still like the SGI speckle finish and design. I’ll remember the indy’s fanfare when it was powered up. the electropaint screensaver that inspired xscreensaver’s stonerview. playing mp3 layer 2 files from an early music site… (can’t recall the name this late.) the lp account with no password. the awkwardness of IRIX. OK stopping before the bad memories surface.
here’s some dmesg.
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 The NetBSD Foundation, Inc. All rights reserved. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 7.0 (GENERIC32_IP2x.201510122130Z) total memory = 128 MB (768 KB reserved for ARCS) avail memory = 119 MB kern.module.path=/stand/sgimips/7.0/modules timecounter: Timecounters tick every 10.000 msec mainbus0 (root): SGI-IP22 [SGI, 690a313e], 1 processor cpu0 at mainbus0: MIPS R4400 CPU (0x460) Rev. 6.0 with MIPS R4010 FPC Rev. 0.0 cpu0: 48 TLB entries, 16MB max page size cpu0: 16KB/16B direct-mapped L1 instruction cache cpu0: 16KB/16B direct-mapped write-back L1 data cache cpu0: 1024KB/128B direct-mapped write-back L2 unified cache int0 at mainbus0 addr 0x1fbd9880 int0: bus 100MHz, CPU 200MHz imc0 at mainbus0 addr 0x1fa00000: revision 3 gio0 at imc0 newport0 at gio0: SGI NG1 (board revision 4, cmap revision 5, xmap revision 5, vc2 revision 0), depth 8 wsdisplay0 at newport0 kbdmux 1 wsmux1: connecting to wsdisplay0 hpc0 at gio0: SGI HPC3 (onboard) zsc0 at hpc0 offset 0x59830 zstty0 at zsc0 channel 1 (console i/o) zstty1 at zsc0 channel 0 pckbc0 at hpc0 offset 0x59840 sq0 at hpc0 offset 0x54000: SGI Seeq 80c03 sq0: Ethernet address 08:00:69:0a:31:3e wdsc0 at hpc0 offset 0x44000: WD33C93B (20.0 MHz clock, BURST DMA, SCSI ID 0) wdsc0: microcode revision 0x0d, Fast SCSI scsibus0 at wdsc0: 8 targets, 8 luns per target haltwo0 at hpc0 offset 0x58000: HAL2 revision 4.1.0 audio0 at haltwo0: half duplex, playback, capture pi1ppc0 at hpc0 offset 0x59800 pi1ppc0: capabilities=0x8
ppbus0 at pi1ppc0 ppbus0: No IEEE1284 device found. lpt0 at ppbus0: port mode = 0x1 panel0 at hpc0 offset 0x59850 dsclock0 at mainbus0 addr 0x1fbe0000 ioc0 at mainbus0 addr 0x1fbd9800: rev 0, machine Indy (Guinness), board rev 0 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0 timecounter: Timecounter "mips3_cp0_counter" frequency 100000000 Hz quality 100 scsibus0: waiting 2 seconds for devices to settle... sd0 at scsibus0 target 1 lun 0: disk fixed sd0: 17518 MB, 10042 cyl, 12 head, 297 sec, 512 bytes/sect x 35877972 sectors sd0: sync (100.00ns offset 12), 8-bit (10.000MB/s) transfers, tagged queueing boot device: sd0 root on sd0a dumps on sd0b
and some openssl results:
OpenSSL 1.0.1p 9 Jul 2015 NetBSD 7.0 options:bn(32,32) md2(int) rc4(ptr,int) des(idx,cisc,16,long) aes(partial) idea(int) blowfish(ptr) gcc version 4.8.4 (NetBSD nb2 20150115) The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes md2 78.66k 178.98k 257.45k 290.53k 303.10k mdc2 145.06k 218.49k 252.84k 263.22k 265.83k md4 272.68k 1020.27k 3510.04k 8881.49k 15989.37k md5 221.69k 829.48k 2735.18k 6375.68k 10435.90k hmac(md5) 432.03k 1521.22k 4359.31k 8265.54k 11164.68k sha1 226.51k 804.40k 2370.03k 4631.29k 6387.03k rmd160 157.18k 555.69k 1615.45k 3064.52k 4192.54k rc4 7713.16k 8239.91k 7964.19k 7774.18k 8311.75k des cbc 1339.39k 1451.10k 1482.15k 1495.11k 1388.01k des ede3 442.20k 453.40k 452.86k 452.21k 503.50k idea cbc 1772.67k 1894.70k 1922.57k 1920.86k 1916.00k seed cbc 1880.76k 2062.38k 2107.36k 2091.69k 2102.61k rc2 cbc 1549.19k 1627.91k 1639.00k 1637.72k 1641.15k rc5-32/12 cbc 0.00 0.00 0.00 0.00 0.00 blowfish cbc 3121.18k 3362.69k 3491.58k 3559.60k 3588.10k cast cbc 2230.75k 2412.86k 2450.63k 2468.83k 2454.86k aes-128 cbc 2528.06k 2744.85k 2819.34k 2849.51k 2852.23k aes-192 cbc 2141.74k 2331.49k 2441.50k 2459.99k 2460.35k aes-256 cbc 1906.51k 2058.35k 2139.82k 2156.59k 2155.50k camellia-128 cbc 1649.84k 2178.77k 2367.96k 2438.76k 2427.26k camellia-192 cbc 1389.08k 1737.42k 1857.25k 1886.21k 1884.98k camellia-256 cbc 1375.05k 1733.15k 1853.87k 1892.86k 1887.72k sha256 357.50k 866.70k 1587.03k 2004.45k 2181.78k sha512 140.38k 561.43k 904.85k 1298.90k 1482.75k whirlpool 109.76k 224.54k 365.65k 435.29k 459.95k aes-128 ige 2238.29k 2535.68k 2638.35k 2672.33k 2672.61k aes-192 ige 1964.70k 2209.11k 2280.95k 2303.49k 2335.83k aes-256 ige 1848.34k 1985.61k 2037.47k 2040.78k 2056.19k ghash 2965.22k 3198.88k 3252.14k 3205.57k 3271.32k sign verify sign/s verify/s rsa 512 bits 0.054054s 0.004529s 18.5 220.8 rsa 1024 bits 0.291429s 0.014821s 3.4 67.5 rsa 2048 bits 1.931667s 0.053209s 0.5 18.8 rsa 4096 bits 12.870000s 0.198824s 0.1 5.0 sign verify sign/s verify/s dsa 512 bits 0.045571s 0.055414s 21.9 18.0 dsa 1024 bits 0.149552s 0.175088s 6.7 5.7 dsa 2048 bits 0.525263s 0.648750s 1.9 1.5 sign verify sign/s verify/s 160 bit ecdsa (secp160r1) 0.0152s 0.0746s 65.8 13.4 192 bit ecdsa (nistp192) 0.0157s 0.0758s 63.7 13.2 224 bit ecdsa (nistp224) 0.0216s 0.1059s 46.2 9.4 256 bit ecdsa (nistp256) 0.0325s 0.1772s 30.7 5.6 384 bit ecdsa (nistp384) 0.0693s 0.3858s 14.4 2.6 521 bit ecdsa (nistp521) 0.1998s 1.0970s 5.0 0.9 163 bit ecdsa (nistk163) 0.0176s 0.0755s 56.9 13.2 233 bit ecdsa (nistk233) 0.0373s 0.1507s 26.8 6.6 283 bit ecdsa (nistk283) 0.0567s 0.2668s 17.6 3.7 409 bit ecdsa (nistk409) 0.2597s 0.6200s 3.8 1.6 571 bit ecdsa (nistk571) 0.3654s 1.4271s 2.7 0.7 163 bit ecdsa (nistb163) 0.0172s 0.0820s 58.1 12.2 233 bit ecdsa (nistb233) 0.0368s 0.1602s 27.2 6.2 283 bit ecdsa (nistb283) 0.0566s 0.2976s 17.7 3.4 409 bit ecdsa (nistb409) 0.1548s 0.7013s 6.5 1.4 571 bit ecdsa (nistb571) 0.4786s 1.6467s 2.1 0.6 op op/s 160 bit ecdh (secp160r1) 0.0637s 15.7 192 bit ecdh (nistp192) 0.0640s 15.6 224 bit ecdh (nistp224) 0.0917s 10.9 256 bit ecdh (nistp256) 0.1524s 6.6 384 bit ecdh (nistp384) 0.3209s 3.1 521 bit ecdh (nistp521) 0.9000s 1.1 163 bit ecdh (nistk163) 0.0366s 27.3 233 bit ecdh (nistk233) 0.0709s 14.1 283 bit ecdh (nistk283) 0.1320s 7.6 409 bit ecdh (nistk409) 0.3094s 3.2 571 bit ecdh (nistk571) 0.7113s 1.4 163 bit ecdh (nistb163) 0.0411s 24.3 233 bit ecdh (nistb233) 0.0795s 12.6 283 bit ecdh (nistb283) 0.1469s 6.8 409 bit ecdh (nistb409) 0.3514s 2.8 571 bit ecdh (nistb571) 0.8185s 1.2
I’m looking at you, microvax-II in the BA123 case. You haven’t been fired up in over a decade, and the VLC is mighty speedy compared to you.