Shelf Care

Wednesday, October 30th, 2019 11:56 pm
flwyd: (Shakespeare bust oval)
Being raised by a bibliophibian from a family of teachers and a recording engineer/radio DJ, books and music were ubiquitous in my household. I became an adult around the time that the Internet was hitting its stride as an endless repository of digital media, but I've still got an emotional attachment to physical media and the "save everything" instincts of a would-be librarian.

When we bought a house early last year I recognized that bookshelf-appropriate wall space was at a premium. I also had a jumble of cheap Target bookshelves I'd carted through seven moves. "Great," I said, "Now that I don't have to move for a couple decades I can invest in nice, solid bookshelves to cover this long living room wall." We made a couple forays into furniture shopping over the next 18 months but discovered that most bookshelves seem to prioritize "look nice with a few objects" over "conveniently hold hundreds of pounds of books."

About a month ago we lucked out and found two tall and stout oak book cases with plenty of shelving. Bonus: they were only about $100 each! So I spent several hours packing the books from the crapy shelves back into their boxes and onto the sun porch and moved the shelves with redeeming qualities into the guest bedroom. The next weekend I got to experience the great joy of unpacking a bunch of boxes of books, like a present I'd wrapped for myself full of great books that I'll surely get around to reading in this house. I also got to play the fun game of inventing a classification system while simultaneously satisfying shelf width constraints and adjusting for height. So in this library "Dusty hardcover fiction," "Fiction compilations and tall novels," and "Mass-market paperback novels" are separate categories on separate parts of the wall.

I then unpacked a dozen or so boxes of National Geographic Magazine, my favorite periodical. Those get to live in the guest room, along with art books and a few others that are good random-access reading. This in turn meant that the garage had enough space to set up shelving units and a full-height freezer, for a different sort of archival material.

The one remaining shelving issue was games. Two cheap Target bookcases had almost every cubic inch used up by board, card, and tile game boxes. Two weeks ago I managed to score again at the used furniture store and found an open-backed bookshelf that doesn't block the power outlet and fits precisely between the stately oak bookshelves and the mass market paperback shelf (which itself has lived on, despite being a rickety cheap Target shelf, because it's short enough to stay out of the way of the thermostat on the wall). This shelf makes the game day browsing experience much better, and nicely rounds out the library media setup.

Meanwhile, my digital media life was in need of some shelf care of its own.

When I got back from Iceland I noticed that my external hard drive, on which I store 1.3 terabytes of music (plus photo and document backups), was showing signs of failure. Fortunately I had (1) a hard drive of twice the size which I bought earlier this year when backing up a bunch of data that was about to be deleted from the web and (2) an old hard drive of half the size containing 1.1 or so terabytes of music. I was able to copy all the pre-2013 music to the new hard drive to cover most of the gap. I then used find, diff, and rsync Unix utilities to identify all the tracks I added in to iTunes the last six years. This managed to save perhaps two thirds of the music. Fortunately for my emotional attachment to media data, I haven't spent much effort downloading mp3s in the last decade; they mostly came from CDs I bought recently or that my family owns, so I can recover most of the music library by re-ripping, though it means I need to develop a shelving plan for the boxes of CDs in the garage :-/

On the other hand, in the last six years I've downloaded thousands of podcast episodes. And given my instincts for media preservation I don't delete podcasts after listening, and I feel oddly awkward knowing they're missing. So I whipped up a couple ruby programs to parse my iTunes library XML and the podcast RSS feeds, download the mp3s, and save them to the right filename. This was particularly complicated for a few podcasts that only provide a month or two of episodes in their RSS feed, so I crawled a few websites to get historic episodes. This felt a little obsessive, but I'm about eleven months behind on podcasts and not listening to regulars seemed like it would be disappointing.

A couple weeks after finishing resurrecting my pile of podcasts I got a surprise system error on my Mac. It's sort of the Apple version of the famous Blue Screen of Death: stylishly designed with a semi-transparent gray color scheme and rounded corners. I've seen this three or four times in the last two decades of using MacOS X, and two of those were in the last couple weeks. Worried that my system had a hardware issue or major configuration problem I hit the "Upgrade to macOS Catalina" button late that night.

After the new OS version installed the next day I immediately regretted the decision. In my tired and minor panic I hadn't thought to read the full "What's new in Catalina" story before upgrading. The two big changes are that 32-bit apps are no longer supported (I have a few installed, but don't recall using them for years) and iTunes was replaced by separate Music, Podcasts, and (audio) Books apps, following the UIs of those apps on iOS. The Music app looks okay, but I panicked when I realized that the Podcast app has almost none of the iTunes features I'd come to depend on. It imported my old podcast subscriptions, but only showed the episodes currently present in the RSS feeds, not my decade worth of saved episodes. Crap, that's going to disrupt my 11-month-behind listening sequence I said. More importantly, the new Podcast app doesn't have any real episode organizing tools. I listen to podcasts on an iPod Shuffle, which has two excellent features for listening to podcasts while riding a bicycle: it clips to the outside of my clothing and it can be fully controlled with a single gloved hand without looking at it. I load the iPod Shuffle by building a playlist of episodes I want to listen to (in chronological order, skipping lots of reruns and uninteresting TED talks) and adding the next chunk from that podcast once a week when I charge the iPod. The Podcast app no longer knows anything about connected devices, but the Finder window for an iPod Shuffle will let you pick podcasts or specific episodes to sync. Unfortunately, that sync interface doesn't show any date or play count information, and scrolling through 1,000 episodes of a daily series is not worth my frustration.

Since this iPod Shuffle setup has become a remarkably crucial part of my informational life in the last decade I decided that I needed to downgrade from Catalina to Mojave, the previous macOS version. (I tried just copying iTunes from a non-upgraded computer, but leave it to Apple to prevent a perfectly good application from working when you upgrade the OS.) Internet documentation intimated that downgrading the OS would erase all data on the drive, so I spent another week with find and rsync to identify and back up all the important files on my internal drive. But hey, I hadn't yet backed up my photos after the previous external drive crashed with its backup set. Last Friday my iPod Shuffle ran out of batteries and on Saturday I had completed all the backups I'd identified, so I downloaded and reinstalled Mojave. After the reinstall I noticed my drive's free space was suspiciously low, so I poked around and discovered that, in fact, all my old files were still around in /Previous Content/, so the restoration process was quick with moves instead of copies. By carefully copying folders from my Library directory I was delighted to find that Chrome launched with all my old open tabs (another piece of my digital hoarder profile) and my Google Drive database didn't think anything was different about my local folder, averting a large download from the cloud. And, blessedly, my iTunes is back, with the same information-dense list view I've come to love since I first downloaded it in 2001.

phew that's enough archivist labor for the year. I'll put off thinking about what I'll do if Apple stops providing security patches for Mojave before my iPod Shuffle stops working. It's more than ten years old, having outlived every mobile computing device I've possessed. It's one tough cookie.
flwyd: (cthulhufruit citrus cephalopod)
Peaches in the summer time
Apples in the fall
If I can't have the fruit I love
I still want to eat them all
[livejournal.com profile] mollybzz, private correspondence
2014 was an apple year in Boulder.
After getting a year's worth of rain in September 2013 and a fairly snowy winter, the long-thirsty soil in Boulder County swelled with moisture. The apple trees took notice and appled up a storm.

As we poked around the yard of our new house after signing a lease at the end of May I excitedly announced that the small fruits on the two trees in back were apples, not crabapples. As the summer past I impatiently picked and consumed some very bitter, small green apples, figuring this might be a natural bitter, small green apple tree. As August turned toward Burning Man the apples grew larger, turned a lovely red, and shifted to a sweet taste.

In the weekends after Burning Man, a housemate and I gathered bins and commenced to shaking trees and picking fruits. I discovered that we had four, not two, varieties of apple hanging, though distinguishing the trunks is still a trick. As I stood in the kitchen washing and slicing apples for preservation before a game day, my friends Josh and Laura came by with an offer of cider pressed fresh the day before. Remembering that they'd brought a few jars of "forgotten" cider to a game day over the winter, I was excited to taste the latest delivery. Sweet, smooth, full bodied, and deliciously unfiltered. They then hurried off to the homebrew store to prepare the cider's future.

Half a gallon of tasty cider and a couple bushels of sliced and sauced apples would've been the extent of my apply autumn, but then [livejournal.com profile] bassist posted an entry about the fun of cider pressing with the teaser that there would be another, ahem, pressing engagement on October 11th.

I got the details and eagerly packed my big camping water container and a pair of leather gloves in the car and headed to Longmont that Saturday morning. When I arrived, the operation was in full swing. Apples were dumped on a table and the gooey and wormy ones removed from the stream. They were then passed to a repurposed sugar beet washer, cleansing the fruit and blasting out any remaining pockets of goo. The mouth of the washer opened and glistening apples tumbled out for a final quality check to remove twigs, leaves, and that one bad apple. They then rolled down a chute onto a home-made rotating blade which deposited nicely diced apple chunks into a bucket. We carried buckets to another table where the apple bits were packed into cloth-covered squares on wooden pallets. The pallets with cloth and apple (and sans squares) were then placed in a home-made press which slowly pushed the juice from the pulp. The cloths were then shaken and scraped off so we could hustle and load up another batch of pallets. The sweet juice from the press was then piped to a large milk cooler which slowly stirred it until we were ready to fill our jugs.

The next day I read up on brewing cider and made my own run to the local homebrew store. Brewing is a hobby I'd considered pursuing, but had always told myself I'd wait until I owned a house so I didn't have to move with a delicate glass jar full of mead. But cider only takes a month or two, so the gear will be empty by the time I have to pack it up.

I left the wild yeast in one gallon of cider and pasteurized five gallons and added wild ale yeast, not wanting to trust my whole initial zymurgy experience to whatever yeast is ambient along highway 66. Then I did what you spend most of the time brewing doing: wait a couple weeks. The next step is the second most time-consuming brewing activity: clean and sanitize all the things. In the middle of racking from one jug to another I discovered that I only had one gallon size, the other was smaller. So we got to try half a pint or so of the wild cider. By itself it was a little hard to drink, but when we added some of the original unfermented cider to the mix it was quite delicious.

The subsequent step is to wait for about a month. But then as I was about ready to start the bottling process a month later, I got sick with a virus. Which is definitely a bad time to handle beverages you intend to give to friends. After recovering from my stomach rebelling, my body losing too many fluids, and my brain struggling with complex activity it was Christmas time, which meant lots of family and social engagements. So after pressing on October 11th and racking on November 1st, I spent Boxing Day cleaning and sanitizing all the things, racking once again (to leave the sediment behind), and then filling 27 beer bottles and 7 larger flip-top bottles. With the long delay, my hydrometer suggests that the final brew is a strong 6.5% alcohol, and after a day of measuring and tasting, we felt quite fruity.

The wild cider remains in the jug, having stopped bubbling several weeks ago. I think I'll add some of its brethren cider which my parents had been sending on the path of vinegar. We'll call that the by-the-seat-of-the-pants jug.

Of course, my autumn apple adventure didn't end with cider. We've still got several bags of apple in the fridge and freezer. Some went to a curry apple pie for Pie Nite. I'd meant to make more apple pies for the holiday season, but my folks and my brother's new girlfriend had the pie course well-covered. And then there're the amorphous plans for cinnamon spice apple sauce.

In the back yard, I think there might still be a couple very committed and stubborn apples hanging from twigs. A week or two after the first frost burst expanded the juice and broke all the cell walls, the trees still had a dozen or two brown apples hanging as poetic symbols of fall and the lack thereof. Dozens more apples started decaying on the ground before we could collect them, slowly providing nutrients for future bumper crops of apples.

Annoyed at Apple

Friday, June 25th, 2010 11:24 pm
flwyd: (dogcow moof!)
When I bought my MacBook, 2GB seemed like a lot of RAM, compared to the 512MB I'd been running on my then-8-year-old computer. I should have remembered that RAM is the new disk and gotten the full 4GB (the size of the hard drive in the computer I bought ten years before). My main memory problems are my web browser and iTunes. I tend to leave a lot of tabs open as a to-do list (hey, this blog looks interesting, maybe I'll read it tomorrow... or next year), so keeping all the DOMs around is expensive. Firefox, despite having a larger initial footprint, seems to handle dozens of tabs more gracefully than Chrome's process-per-website model. iTunes is nice and snappy for the person who owns a couple dozen CDs and buys the hit albums from the iTunes store. However, to provide quick queries, it keeps all the song metadata in memory, making it astonishingly sluggish with my 1TB+ music library. In addition, every time iTunes plays a song, it updates the play count and last played date and then writes the entire music library file to disk. In my case, that's a 311MB, 30 second "ugh."

So anyway, I ordered 4GB of RAM that arrived today. I was excited and started taking the case off my computer, and was then thwarted by Steve Jobs's personal vendetta against easily-removable screws. The sleek MacBook case has a few Phillips screws smaller than any screwdriver in the house, so now I have to wait until tomorrow for sexy performance from increased memory. (Naturally, the How to install MacBook memory page doesn't say what size screwdriver you need so you'll know what to buy at the store.) I shouldn't be surprised, though. I had to borrow a putty knife to replace the hard drive in a MacMini. I bought a torx screwdriver to work on my G4 Cube (and then I bought another one because the first was the wrong size). And it goes all the way back to the original Mac and it's deeply recessed torx screws.

Harumph.

(Update, long after: I believe the magic implement was a Philips #00.)
flwyd: (daemon tux hexley)
There's been a lot of noise in developer circles recently about Apple's new unusual iPhone developers agreement, particularly section 3.3.1. Briefly, Apple declared that you're not allowed to write iPhone/iPad/iPod software unless you use their tools to do it. Specifically, you're not allowed to write it using a level of abstraction that lets the application easily run on other devices like Androids, Windows Mobile phones, and BlackBerries.

A lot of people said this new change was targeted at Adobe, creators of Flash, a system for creating multimedia content that will work the same on any browser with their plugin installed. While the sorts of folks who comment loudly on this sort of thing have no love lost for Flash, being told how not to write software is a good way to rile up whole nests of developers.

Steve Jobs recently wrote an explanation of why he doesn't want Flash on the iPhone. He starts by painting Flash as a closed system -- Adobe controls the authoring tools and the play environment. He contrasts this with the open standards of HTML5, CSS, and JavaScript, the technologies at the front of most websites. The great thing about HTML is that anyone can create stuff in it and anyone can access it with a browser tailored to their device's peculiarities. So far, so good.

But then Jobs completely undermines his discussion of the openness of the web by saying the most important reason they don't want Flash is that they think the applications with the best user experiences were written to take advantage of everything the iPhone (or Mac or whatever) offers. He suggests that it's best for the users if all iPhone apps are developed using Apple's tools:
Our motivation is simple – we want to provide the most advanced and innovative platform to our deAvelopers, and we want them to stand directly on the shoulders of this platform and create the best apps the world has ever seen.
In other words, you can stand directly on Apple's shoulders, but you'd better not stand on the shoulders of someone standing on Apple's shoulders. If some clever company invents a new way of writing really great apps, the only way iPhone users will get the benefit of that innovation is if Apple deigns to adopt it.

Yet when you visit a website on the iPad, Apple doesn't stop you because the site's designers didn't adhere to Apple's user interface guidelines or because they used a tool like GWT to make the JavaScript work for all browsers. So if somebody wants to write an app that can run on iPhones, Androids, BlackBerries, and who knows what else, their choices are to write it twice: once for the iPhone and once for everything else. Or they can take Steve Jobs's advice and write it once for the web and bypass Apple's restricted platform. If they do the latter, they don't have to wait in App Store limbo, they can include porn if they want, and Apple doesn't take a cut of their profits. What's the down side?

So which is it, Steve? Are open standards the key to a good development environment and a good software ecosystem? Or is a single company controlling the platform the way to go?

Personally, I'm happy with my Android device which allows you to stand on as many shoulders as you like. It's shoulders all the way down.

Departures

Thursday, August 16th, 2007 05:36 pm
flwyd: (dogcow moof!)
Yesterday was apparently the day for departures. [livejournal.com profile] mollybzz moved to China (and I received several tasty items from her refrigerator and larder). It was the last day of work for my coworker who claimed he didn't know the name of the company he was switching to (and apparently their product is too complicated to explain). And I took a few hours out of the middle of the day to attend my great uncle's memorial service at Fort Logan military cemetery.

I'm very excited for [livejournal.com profile] mollybzz and I look forward to hearing her fantastic stories of life in the Middle Kingdom. I'm somewhat glad that my coworker departed; while he was a hard worker and often entertaining, I've wanted to strangle him over several bits of code. And I'm glad that my great uncle was able to live and geek out (genre: model trains and planes) for close to 90 years without the decade-long slide into oblivion that my grandmother experienced.

I learned today via Slashdot that another dear friend has departed. ClarisWorks (renamed AppleWorks late in life) made creating documents easy and relatively frustration-free. Unlike the bloated MicrosoftWorks that didn't, ClarisWorks was small (throughout college I would download 2.5 MB worth of AppleWorks to print my homework), seamlessly integrated (put text in a picture! put a picture in a spreadsheet! put a spreadsheet with a picture in text!), and free of hassles (when prompted for a license code, you could enter anything and it would accept it). One of ClarisWorks's creators has an insightful history of the product. It's got some interesting insights into the software development and business cycle.

I played around a little with the demo version of iWork last year, but iDid't see an easy way to do the thing iUse AppleWorks for most frequently these days: laying out a bunch of small bits of text and pictures on a piece of paper. Maybe iShould take a look at iWork '08. Maybe I should look around for other WYSIWYG document software. I should definitely make sure I open all my high school and college essays and ensure they're stored in a format that will live on.

It's important to let good things come to an end. I'll miss them all, but I won't be sad. For such is the Way.

Geek Holiday

Wednesday, January 3rd, 2007 11:40 am
flwyd: (dogcow moof!)
Today is the birthday of both J.R.R. Tolkien and Apple Computer.

Fanboys may commence rejoicing.
flwyd: (hexley fork)
At some point, my iTunes library location was incorrectly set to the Music folder in my home folder instead of my external hard drive. [livejournal.com profile] tamheals downloaded several albums, ripped a few, and we bought six songs from the iTunes store. At a later time, the setting was changed to the correct location on the external hard drive and the files from the Music folder were re-added to iTunes and copied to that path. I therefore had two (in some cases three) entries per song for these albums. One evening I went through and moved the Music files to the trash and deleted them from the iTunes list, making sure I could still play them. A few weeks later, Tam emptied the trash. Suddenly, all of the files I'd deleted were marked as missing from iTunes. Somehow (presumably user error) the files were no longer on the external hard drive.

The iTunes Store (unlike Calabash) only lets you download each purchased song once and advises you that you can burn them to CD. Burning a CD with six unconnected songs hadn't seemed like an important move. This is not a feature which benefits the consumer in any way

Fortunately, most of the deleted files are on Tam's iPod. Unfortunately, the iPod file system is obfuscated. Fortunately, there's a mp3info Ruby gem and I've been reading the Ruby Cookbook. I wrote the following script to go through all the mp3 files on the iPod and print the title, artist, album, track, and file path. I then went through the songs marked missing in iTunes and copied the file names into a text file, munging each line into a copy statement.

The script doesn't work on .m4a (AAC) files since mp3info can't handle them. Several minutes of googling finds only references to an MP4Tag ruby library by Miles Egan. Links to that page produce a 404. Archive.org has the old page, but didn't archive the tarball. The site seems to have been hijacked. If I get ambitious I may try to find an AAC specification and parse the files myself, but I think I'll accomplish the task with a list of songs I'm looking for and grepping each .m4a file.

Update, two hours later: Files purchased from the iTunes Store have a .m4p extension (rather than .m4a), so recovering the MIA purchased songs was a simple as ls -l /Volumes/RhiPod/iTunes_Control/Music/*.m4p and comparing the file modification dates with those iTunes remembered for the missing songs. I also found faad2 and installed it through DarwinPorts. faad2 is a decoder for AAC files and the -i command line option prints a lot of information, including metadata. I ran it on all the .m4a files and saved the output to a textfile which I can process with the flip-flop (..) operator.

findmp3s.rb )
March 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 312025

Most Popular Tags

Expand Cut Tags

No cut tags

Subscribe

RSS Atom
Page generated Wednesday, April 23rd, 2025 05:11 pm
Powered by Dreamwidth Studios