Design

xrayspx's picture

Running the Lattice of Convenience

Music: 

New Order - 5 8 6

Since posting about the week of 1983 TV Guide viewing, I've had questions from some people wondering about the storage and other hardware and software we use for our media library. It's really not very complicated to do, though I do have preferences and recommendations.

So here's what we've got.

Motivation:

Mainly I don't like the level of control streaming companies have. That they monitor everything we do, and that stuff comes and goes from services like Netflix and Amazon Prime on their timeline, not mine. I don't like the concept of paying for things like Spotify so that I can rent access to music I already own.

I realized like 15 years ago that while we often spent $200/$300 per week on CDs earlier in our marriage, Natalie and I were drifting away from actually listening to it much, because who wants to dig around for a CD to hear one song, then move to another CD. Ultimately, the same applies to movies, we have lots of DVDs, and I don't want to have to dig through booklets just to watch a couple of James Bond movies.

It's super easy to maintain, and we like being able to watch Saturday morning cartoons, "Nick-at-Nite" or throw on music videos while we play arcade games and eat pizza. Once up and running, it's all pretty much push-button access to all the media we like.

Media:

- 2000-2500 CDs (Maybe 200GB of music)

- Couple hundred movies, really probably not as many as most people.

- Lots of TV shows. Space-wise, this is where it adds up fast when you're ripping a box-set of 10 seasons of some show.

- Commercials, mainly from the '80s and '90s, but I'll grab anything fun that strikes us.

- Music videos. We have an overall collection of around 2000, and a subgroup of about 700 which represent "'80s arcade or pizza place" music. That's music that was just ubiquitous when we were growing up in the '80s and early '90s, and you heard it all the time whether you liked it or not. I've since come to appreciate these songs and bands in a way I didn't when I was a dickhead punk kid.

So all told, there's about a 5TB library of stuff, mainly TV shows, but also a decent music library that needs to get maintained and served.

Hardware:

- Ripping machines - Mainly, all I need is the maximum number of DVD trays I can get my hands on. There's nothing special here. My tools work on Mac or Linux so I can work wherever. We have one main Mac Pro that has 2x 8TB drives mirrored which hold the master copy of the media collection.

- NAS - Seagate GoFlex Home from like 10 years ago. I think I originally bought this with a 1TB drive, and have since upgraded it twice, which is kind of a massive pain. Now it's got an 8TB drive which has a copy of the media library from our main machine. I'll get into the pros and cons of this thing below.

- Raspberry Pi - I have a multi-use RaspberryPi which does various tasks to make things convenient and optimizing TV viewing. There are a handful of scripts which create random playlists every night for various categories of music videos, TV shows (Sitcoms, 'BritBox', 'Nick-at-Nite'), etc. It also runs mt-daapd, which I'll get into below.

- Amazon Fire Sticks - We have a couple of them. I'm not super impressed with their 8GB storage limit, but I'm definitely happy enough for the money they cost. They're cheap, around $20 now, and they do what they say on the box. Play video. I have side-loaded Kodi 17.x, but they seem not to quite have the resources for 18.x, though I'm really not sure why not. It's just slower.

- The Shitphone Army - I've got obsolete phones (Samsung Galaxy S4-ish) around the house and decent speakers set up so we can have music playing while doing the dishes for example.

Software:

- Kodi - I mentioned Kodi, which is just an excellent Free Software media library manager. Kodi gets /such/ a bad rap because of all the malware infected pirate boxes for sale, but you never see much from people who actually use it to manage a locally stored library of media they own. Can't recommend it enough. Get familiar with customizing menus in Kodi and making home-screen buttons linking directly to playlists. It's worth it and makes it look nice and easy to use.

- mt-daapd - I'm running out of patience with music streaming, though everything does work right now. MT-Daapd just basically serves up a library of music using the DAAP protocol, which used to be used by iTunes

- DAAP (Android app) - This could be great, but it seems to be completely un-maintained, and somewhat recently moved from being open source to closed, so unless I have an off-line copy of the source, there go my dreams of updating it. But it works well on the Shitphone Army and on the road so we can basically stream from anywhere. Other DAAP players for Android are pretty much all paid applications, and none of them seem to work better particularly than DAAP.

- Scripts A handful of poorly written scripts for ripping DVDs and maintenance of the library (below)

Recommendations:

Players - While the Fire Sticks work great, they're really very dependent on having constant access to Amazon. Were I installing mainly a Kodi machine, it would be much better to use a Raspberry Pi either with a direct-connected drive or mounting a network share. It's super easy to set up with ready-to-go disk images which boot straight into Kodi.

Playlists - Create lots of playlists. Playlists and randomizing things are two things that Kodi is terrible at, so I don't try to make it do it. These scripts run nightly on the Raspberry Pi and make .M3Us for us.

Filenames - Have a good naming convention. All my playlists are M3Us of just lists of files. That means that you don't get Kodi's metadata database with the pretty titles and descriptions, and so the files must be named descriptively enough that you can tell what episode you're looking at from the list of filenames. My template is "Name of the Show - S02E25 - Title of the Episode". Kodi's scrapers work well with that format and it makes it easy enough to fire up the Nick-at-Nite playlist and decide where to jump in.

At various times, I've considered parsing a copy of the Kodi database to suck out the metadata and add it in before the file location. In an M3U, that looks like this:

#EXTINF:185,Ian Dury & The Blockheads - There Ain't Half Been Some Clever Bastards
/mnt/eSata/filestore/CDs/Ian Dury & The Blockheads/Ian Dury And The Blockheads The Best Of Sex & Drugs & Rock & Roll/17 There Ain't Half Been Some Clever Bastards.mp3

It seems like having all that sqlite stuff happening would add a lot of overhead to generating playlists, and having well-named files saves me from having to worry about it, so I haven't bothered.

Storage - Though I use a "Home NAS" product that overall I've been pretty happy with, it does irritate me. Consumer market stuff is /so/ proprietary that it's quite hard to just get to the Linux system beneath and customize it the way you see fit. Specifically in the case of the GoFlex, "rooting" it even involved replacing Seagate's customized version of SSH with a vanilla one. Screw that up and you brick the device. I also run into network bottleneck issues with that thing. While you can enable jumbo frames, for instance, when syncing new content the CPU gets pegged, I believe I'm running out of network or disk buffer, which is kind of unacceptable in a NAS device.

Building it today, I'd just use a Raspberry Pi 3 with a USB drive enclosure. For the time being, my growth curve is still (barely) pacing along with the largest "reasonably priced" drives on the market. My ceiling is about $200 per drive when I do upgrades, because I am a very cheap man.

I have no opinion on consumer RAID arrays. I can only imagine consumer RAID based NASs come with all the shit I hate about the GoFlex. Yes, I'm biased against consumer grade garbage tech and that's probably not going to change. I'll have to buy one someday I'm sure, but for now it's all being kept simple.

Backups Keep backups. While I have multiple copies of everything, it does make me somewhat nervous that the only part of the media library currently being backed up off-site is the MP3 collection. That's got to change, and rsync is your friend. Ultimately I'll probably end up upgrading my home Internet from 20Mb/2Mb to something which will allow me to sync over a VPN tunnel to somewhere off-site (friend's house, work...).

Sample Scripts:

Here are some samples of the shitty bash scripts that run this whole nonsense. I know the better ways to write these, but the fastest possible way to hammer these out worked well enough and there's no way I'm going to bother going back and fixing them to be honest.

Rip CDs

I use an application called MAX on the Mac to rip CDs. I think its usefulness might be coming to an end, and I'm not sure what to do about that. It uses (used?) MusicBrainz database to automatically fingerprint and tag discs, but the last CD I ripped it seemed to have problems. You can run iTunes side by side with Max and drag the metadata over from there, so maybe that works well enough?

Anyway, I use that because I rip to both 320k CBR MP3 and FLAC. I have a shitload of stuff that really should be re-ripped since they're 128k and no FLAC, but I've so far been unmotivated to do so.

I wrote a bunch of stuff to move all the output files around and update iTunes libraries. Honestly I don't rip a whole lot of new music, which is a shame and which I should really fix.

Rip DVDs

DVD ripping is a lot more fragile than it should be. Good software like Handbrake are bullied into removing the ability to rip protected DVDs, and things are being pushed toward the commercial. I use mencoder in the script below.

DVD titles are sketchy at best, and as far as I know, you can't really fingerprint a DVD and scrape titles in the way you can with CDs. So I do what I can. I take whatever title the DVD presents and make an output directory based on that name plus a timestamp. That way if you're doing a whole box set and all the DVD titles are the same they're at least writing out to separate directories and not overwriting each other.

As far as file-naming, unfortuantely we don't live in the future yet and that's all down to manually renaming each output file. I use the information from TVDB, not IMDB, since that's the default library used by Kodi's scrapers. Sometimes the order of things is different between that and IMDB (production order vs airing order vs DVD order issues plague this whole enterprise).

#! /bin/bash

timestamp=`date +%m%d%Y%H%M`
pid="$$"
caffeinate -w $pid

id=$(drutil status |grep -m1 -o '/dev/disk[0-9]*')
if [ -z "$id" ]; then
echo "No Media Inserted"
else
name=`df | grep "$id" |grep -o /Volumes.* | awk -F "Volumes\/" '{print $2}' | sed 's/ /_/g'`

fi
name=`df | grep "$id" |grep -o /Volumes.* | awk -F "Volumes\/" '{print $2}' | sed 's/ /_/g'`
echo $name
dir="$name-$timestamp"
mkdir /Volumes/Filestore/dvdrip-output/$dir

echo $dir

for title in {1..100}
do
/Applications/mencoder dvd://$title -alang en -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate="1200" -vf scale -zoom -xy 640 -oac mp3lame -lameopts br=128 -o /Volumes/Filestore/dvdrip-output/$dir/$title.avi
done
chmod -R 775 /Volumes/Filestore/dvdrip-output/$dir

Playlist Script

The simplest Music Videos one below just looks at one directory of videos and one directory of TV commercials and randomizes all the content into an M3U. The more complicated ones have dozens of directories, and I'm sure I'm doing this array-building the wrong way. I'm sure I could have a text file with the un-escaped directory names I want and read that to build the array, either way, it really doesn't matter because if I want to add a TV series, I still have to edit a file, so this works fine. I've also thought about having a file in each directory like ".tags" that I search for terms in, like "comedy,nickatnite,british" and build the array from that, I dunno, sounds like work.

#! /bin/bash

array=`find ./ -type f;
find ../../Commercials -type f`

printf '%s\n' "${array[@]}" | sort -R | grep -v dvd_extras | grep -v "./$" | grep -v "\.m3u" | grep -v -i ds_store | grep -v ".nzb" | grep -v ".srt" > full-collection-random.m3u

- rsync the TV library. I have several of these, one for TV shows, one for movies, music videos, mp3s etc. It's just somewhat faster to only sync the thing I'm actually adding content to, rather than have to stat the entire library every time I rip a single DVD. The TV show sync tool also deals with the playlists, which are actually created on the NAS drive, so they have to be copied local before syncing or else they'll just get destroyed every day.

This checks to see if the NAS volume is mounted, if not it will mount it and re-run the script.

#! /bin/bash

mounted=`cat /Users/xrayspx/xrayspx-fs01/.touchfile`

if [ "$mounted" == "1" ]
then

cp ~/xrayspx-fs01/Common/TV\ Shows/1\ -\ Playlists/* /Volumes/Filestore/Common/TV\ Shows/1\ -\ Playlists/

rsync --progress -a --delete /Volumes/Filestore/Common/TV\ Shows/ ~/xrayspx-fs01/Common/TV\ Shows/

~/bin/umounter.sh
exit 1
else
mount -t smbfs //192.168.0.2/filestore ~/xrayspx-fs01/
~/bin/synctv
fi

xrayspx's picture

Go Mighty Corolla

Music: 

WHAT HAPPENS NEXT? Stay tuned and wait. for. it.

Ok, so I had just gotten off of 128, and I wasn't going a thousand miles an hour, and there was no Stop 'n Shop, but there was a Wegman's. I threw RoadRunner on, because it's the very best song to finally break the 300,000 mile barrier on this rustbucket. Aaaaand, it didn't do it. Why yes, I am a sysadmin, why do you ask?

Just a bit further toward home though, I found a real Plymouth RoadRunner Superbird in a parking lot:

Natalie and I think it's this one right here.

So yeah apparently the odometer thing's A Thing with Toyotas from the mid-2000s. And they don't see it as a "design flaw" that every inspected car becomes illegal at 299,999 miles. It's like $500 to fix, apparently, which means it's still worth it to keep it on the road, but it is the second-costliest and absolutely the most pervasive and 100% predictable non-recall inspection-failing repair in this car's 14 year history.

xrayspx's picture

Antique Desk And Its Dazor Task Lamp

Music: 

This just made me unreasonably happy today, so I am gonna have to share it.

A couple of years ago we found an antique drafting table for pretty cheap money at a local shop, I think we maybe paid $200 or so for it. It had been used and taken very good care of for...80 years? Maybe more? It had a Kilroy on it. So we snatched it and replaced Natalie's less beautiful portable drafting table with it. It's a real monster, like 48" x 36", and great shape, well built, though it does have quite a twist to it. It'll last Natalie forever.

Since then, one problem she's had was getting an adequate task light. She had a plastic fluorescent arm-light, but it was nowhere near long enough to cover the new desk. And, you know face it, it looked like junk.

So the other day we were in another local consignment shop and I spotted a monster arm-light for $25. Natalie didn't like the look of the fact that it was fluorescent (will we be able to get bulbs...) and wasn't sure about the mount, since it didn't clamp, it looked like it screws to the desk. As is my way, I needled her for a couple days and let it work on her that she needed to check it out. No one's gonna stop making fluorescent bulbs, and even if they do, so we get an LED adapter, or just rewire it all the way to the plug for LED. Today she went back and grabbed it, and score, it was on sale, now $18.

We hadn't really looked at it, but turns out it's a Dazor from 1950. As we were trying to figure out how this was supposed to attach (none of the hardware was there), I figured we could get a couple of set screws with wingnuts and big ass washers, drill the desk (Natalie was not a fan), and just bolt it in.

So she started measuring up the distance between the screws, and found that they exactly matched the existing holes someone had already drilled in the desk. We were just re-uniting the drafting table with it's long-lost lamp!

The table top had to be turned around so the holes were at the back, so that was an hour well spent, but it all lined up and she dropped right in. Now it's at that point that I thought it was too cool and started writing this post. However, interesting bit of trivia, Dazor was founded by Harry Dazey, of the Dazey Churn and Manufacturing company in St. Louis. We happen to have a good-size collection of Dazey ice crushers, a can opener, and one of what's probably a small handful of portable stands that are left in existence. This makes Natalie super happy, because we've completed the Dazey set finally.

So here we are, desk, lamp, and ice crusher:

The thing that impresses me the most about this is that in the spare parts section on Dazor's site they list all the various switches and ballasts so you can repair your lamps. Not only are ours still fully in stock, but they've only got 7 listed switches and 5 ballasts, which I'm sure cover virtually every product they've ever made. Simplicity and rugged construction = happy customers forever.

Not only were these lamps built to outlive your granddad, and they did, obviously, but you can still get parts for 'em if they ever do let the magic smoke out! Right from the manufacturer. Try that with literally any other product, especially now. Man. I mean, I get that if you make a lamp, and that lamp lasts forever, then you never sell another one to that customer, and your company dies. But the other side of that coin is that you end up the standard in task lighting, forever, with multi-generational product loyalty.

We'll probably end up buying brand new Dazor lamps for spaces like our office workbench once it's built, and I fully expect them to last just as well as this one clearly has.

xrayspx's picture

Roadside America

Music: 

Natalie and I are on a kind of meta-road trip. We're not actually going to see The Thing, but we're seeing the roadside attractions which have sprung up around The Thing to amuse and draw in visitors.

Today we went to Roadside America, which is a massive O gauge model railroad layout. 6000 feet, assembled over 60 years of one Laurence Gieringer's life, from when he was 9 until he died.

Natalie took tons of photos, but I put up 3 short videos covering about 15% or so, along one short edge:

Mine, mountains, farms:

The zoo:

Midcentury Downtown:

xrayspx's picture

Twin Peaks Was Definitely In The Stargate Universe

Music: 

*** SPOILERS FOR BOTH STARGATE AND TWIN PEAKS (1990) ***

Natalie and I have watched all of Stargate from the movie through the last episode of SGU, having interleaved where appropriate so we were watching the different shows in the proper order with relation to each other (we did the same thing with all the Star Treks). We're just now watching Twin Peaks for the first time for either of us, because we'd always heard it was good, they're doing a new series, and because this is what we do. See also: Magnum, Miami Vice, Knight Rider, and any number of other 80s series we've gone all the way through.

Anyway.

We're on Season 2, Episode 2 and have decided that a joke we've been making for a couple of episodes must be true. Major Briggs is absolutely General Hammond's cover ID.

Evidence:

- He's the only "obvious" military personnel in the town, and doesn't work very far away. Any other ranking military would have non-military covers, like O'Neill and Carter have on the show, not to mention Murray. Regular enlisted are not permitted to leave the base, which could well be the case on Stargate. Uniformed military on Stargate is only shown off-base if there's some actual emergency.

- It's the only thing that makes certain characters make sense. Log lady's messages, etc. The fact that Deputy Andy can't conceptualize how "tape" works, he's clearly either a Goa'uld or is just a straight up alien like a human from Abydos or something.

- Just started writing this when General Hammond started his talk about the fact that part of his extremely top secret job involves monitoring other galaxies with radio telescopes. Which is both sort of Carter's cover and obviously they do monitor Ori, Pegasus and whatever galaxies the SGU ship has seeded with gates or whatever.

I can absolutely imagine General Hammond having this talk with some random townie. The Ori could definitely be talking to the Log Lady through her log.

I've found that other people have had threads on this topic over the years, and I have to say, I love that it took an entire movie + multi-show franchise years after the fact to make sense of Twin Peaks.

Of course, if The Giant is actually an Arquillian, or Mr Homm, that would make Star Trek or MiB also de-facto Stargate spin-offs, which I can probably defend if I had to. But the Stargate Universe theory fits so, so well it refuses to be ignored.

xrayspx's picture

Thermometer Quiz

Music: 

Why do you figure we have four thermometers?

Click For More! The answer will shock you!

xrayspx's picture

Kitchen Designs

Music: 

Van Halen - Panama

As anyone who reads Natalie's site, or who has been around either of us for more than five minutes in the last six months will know, we've been in the middle of a kitchen renovation for...way, way too long now. Since I did the actual layout design (twice) Natalie asked that I write up how that process went and how we progressed from the original layout, through to what we've got now.

The original kitchen layout was less than ideal in many key ways. It was basically a galley kitchen which acted as a footpath from a hallway at one end where there was an external door, a restroom, and our living room through to the dining room and the main part of the house (office, library, bedrooms). This split the workflow of the kitchen between the "sink side" where the doors were and the "stove side". In amongst that were afterthoughts like "oh hey someone should put a fridge here" or "who wants a laundromat?". It wasn't great.

One of the biggest problems was that these two opposing doors weren't lined up. The dining room side door was a good 30" from the wall, which gave enough space for the countertop, even though the end of the counter did intrude into the door trim an inch or so. The other door however was maybe 20" or so from the wall, meaning that if you ran countertop right to the end of the room, you'd be intruding 5" or so into the door opening.

This is illustrated in this rough sketch of the beginning state and a couple of photos:

Since my imagination is limited, I originally planned our new layout based on the layout as we had it here. This means that to get to the (newly finished) breakfast and laundry area one would go out that hallway-side door, then out what used to be the exterior door into what used to be the porch to eat breakfast or wash clothes.

Thus the new design ended up looking like this, around three walls, with the left-hand side wall still being entirely blank, since there was a fridge and doorway there. We figured we'd put posters there like we had in the past:

Sink Side (top of the above image):

Dining Room Side:

"Stove Side":

You get a sense for how conventional my thinking was, to the point of comically over-engineering to try and shoehorn as much crap as we could in the same space. The awkward doorway was rather elegantly handled by the fact that that tall-ass broom closet (21" wide full-height cabinet in the diagram) is only 15" deep, so it would give nearly two feet between the door and where that lazy susan, with its 45 degree angled door would "guide" you into the room, helpfully saving the reproductive organs of any guy who staggers through that door without really looking.

But what a mess. Take the refrigerator. We knew that any fridge we bought in the Shiny New Future was going to be much wider than the 29.5" GE Home Depot special we had, so I had to plan for that with spacers that could be removed, or custom cabinetry that could be ripped out when we bought a new one. And all the cramming in of bookshelf space wherever we could fit it. And that half-height cabinet above the fridge slammed all the way to the ceiling, ugh. It was just forced.

At some point around the fourth or fifth sink we decided on, I could no longer shoehorn it into this design. We were wavering between a fully integrated Elkay with a built in steel backsplash and countertop, and the one we ultimately got, which is a more conventional, but still huge (FIFTY FOUR INCHES FUCK YEAH!) drop-in with left and right side drainboards. This simply blew my model all to hell. I spent a few days in Omnigraffle screwing around to make space for that full-countertop monster. At a basic level the problem was that the full steel countertop sink had to line up directly to the edge of a Youngstown cabinet on both sides, since it couldn't really overhang them. Everything under that sink would then need to be custom carpentry.

I had to find a third way. So I completely changed my outlook. That doorway is annoying me and is going to cause me to lose a testicle? GET RID OF THE DOORWAY. We're taking the thing down to studs anyway. Put the fridge there, where it will be convenient and out of the way. Let's make a huge (45 inch) entryway from that breakfast area, which will also let light flood in from the massive window out there.

So what we ended up with is a far superior layout both for foot traffic flow, and for kitchen workflow. We changed the layout from a "Galley" style kitchen to a more traditional 3-sided model with entrances to the breakfast area on one side and the dining room on the other. It adds a slight zig-zag to get to the living room & restroom, but it's really, really minimal.

That plan looks more like this, with the walls in the same order, starting at what used to be the sink area.

Here's the top-down:

Dining-room facing:

Sink wall:

As you can see, we /did/ save the front of that sink:

Stove wall:

As you can see from the photos, our contractor and his subs have done a phenomenal job of executing this design. It's exactly as we envisioned it from day one, and we couldn't be happier with their work. Stay tuned for the "Complete" complete photos which I'm sure will be coming shortly on Natalie's site.

Throughout this process Natalie and I have had slightly different goals. She wants the Ultimate Vintage Kitchen, which, I think we can all agree on, has been achieved. I wanted to see how close I could get to having a professional quality and ergonomically correct and functional space. I think we've ultimately achieved that as well with an industrial quality sink and faucet fixture, but which fit perfectly into the retro aesthetic we wanted. It just took a mental break on my part to force the pieces together.

If anyone needs them, I'll update when I've posted the set of Omnigraffle stencils I whacked up to fit all this stuff together. They are proportionally correct to each other, and there are some in the stencils which didn't ultimately make it into the room, since they are "cabinets we own", but we just couldn't jam any more crap in there :-) If anyone can figure out a good way to represent these crazy corner cabinets and lazy susans in 2D I would very much appreciate your input. It's not like I live with a goddamn graphic designer or anything.

xrayspx's picture

You know what, no, they don't

Music: 

Because if people could remember what 100 years ago Earth was like, they'd know that the best things to happen in the last 100 years are based around the idea that if we all work together, then when we're old, we will take care of each other. And when we're young, rather than work like adults, we will teach our children with the collective knowledge of our species so we can continue to advance. We can afford to take care of those who can't work like the rest. Too much of the time, we choose not to take care of those people.

xrayspx's picture

And With That

Music: 

I've bought my last MacBook

Who's to say this isn't /only/ on the Macbook product, and that the Macbook Pro might not have the stupid thing? Either way though this is bush league.

Previously

Subscribe to RSS - Design