OS X Daily: How to batch rename files on Mac OSX easily from the Finder. Awfully useful. Though it’s not “instant” on files in iCloud Drive.
I installed a new Airport Extreme (6th generation) on our home network yesterday. We haven’t run Cat5 through our whole house the way we did in Arlington, so our primary FiOS WiFi router has to live in the basement right next to the FiOS network box, and its signal is unacceptable in about a third of the first floor and almost all of the second.
We had been limping along with an Airport Express in the upstairs bedroom as a second network, but it didn’t really have enough signal strength to solve the problem. I experimented with substituting in our old Airport Extreme (dating from around 2007), but it had weird range problems, with range and signal strength dropping unexpectedly. So we decided to bite the bullet and get a new router.
Man, am I glad we did. The range and speed from the new router are incredible; I even get WiFi out at the kids’ bus stop now. And things that used to give the old network fits, like running the microwave, are no longer an issue.
I was talking about it with Lisa last night and we realized that we bought our first AirPort router before most of the planet had WiFi. We had the original “flying saucer” model back in the fall of 2000—so long ago, the base station had a dial-up modem in it. We’ve come a long way.
OSXDaily: Use Siri on the Mac! A List of Mac Siri Commands. I’m still one OS version back on my work Mac, so I’m looking forward to being able to try these out soon. I do wonder what sort of look I’ll get from my coworkers, though.
Daring Fireball: Dropbox’s MacOS Security Hack. Gruber rounds up a bunch of links on Dropbox’s bad security practices in its Mac client. Basically, as documented by Phil Stokes, Dropbox asks for your admin password, injects itself into the list of applications that can “control your computer” in the Security & Privacy control panel, and reinjects itself if it’s removed from the list. Thankfully Apple has closed the loophole that allowed this to happen.
The conclusions I take from this:
- Dropbox really wanted to ensure that it could take some action that required Accessibility apps
- Their product manager didn’t trust users to grant the right authorizations and didn’t want to give them the ability to remove the permissions
- Their engineering staff either didn’t push back or got rolled over
- Their security staff either wasn’t consulted or didn’t think that this was dangerous—surely no one would ever find a vulnerability in the Dropbox Mac Client and use it to run unauthorized code? Oh wait.
Their PMs respond: the Accessibility permissions were necessary to integrate with other third party applications, and Apple’s APIs didn’t grant the right level of access.
As they say: Developing…
A few years ago I wrote about the tools I was preparing to use to digitize some LP records and get them into iTunes. The software has changed a bit since then, and I thought it was worth a post to document my current workflow, which works either for ripping vinyl or for converting long form digital audio (e.g. radio broadcasts) into tracks.
- Downloading a radio broadcast is pretty straightforward. My tool of choice here is curl, and I output it to a single MP3 file, which then gets post processed in Amadeus (see below). Or…
- Rip the LP, step 1. To rip an LP, I play it back on my 1983 Denon DP-45F turntable, which passes through the built in phono pre-amp in my Onkyo receiver, then out through the tape out monitor into my vintage Griffin iMic. The USB end of the iMic then plugs into my MacBook Pro.
- Rip the LP, step 2. Step 2 means turning the LP sound into a digital file. To do this, I use Amadeus Pro from HairerSoft, which has been my go to sound file editor for over a dozen years. This is pretty simple; set the sound in to use the iMic, create a new sound file, click Record, and push play on the Denon. I’ve set the levels over the years to a level that keeps the input from clipping, which from experience is about halfway in the second to last region on the right. When the side of the record finishes, I stop recording and I have a music file, ready to post-process.
- Post process the music file. First thing is to trim any long periods of silence from the beginning and end of the track, including needle-into-groove noise. I then amplify the track by 4 dB, either once (for radio broadcast) or twice (for vinyl) so that playback from iTunes isn’t too quiet but the sound forms don’t get clipped. That’s usually all the post processing I have to do.
- Add album metadata. Anything that will be common across all the tracks, including album name, artist name, genre, artwork, etc., gets added here.
- Divide into tracks, using markers. This requires listening to the track, but you can almost always start by eyeballing the track and finding the periods of silence; they almost always indicate track separations. I use the song/track/movement name as the name for the marker in Amadeus.
- Save as an Amadeus file. Just in case.
- Split the tracks according to markers. Using the handy dandy Amadeus feature “Split According to Markers” option, this creates a separate file for each marker in the audio format of your choice. For vinyl I’ll usually use Apple Lossless encoding here, but for radio broadcasts, which start as MP3, there’s no point in using lossless encoding.
- Import into iTunes and clean up. Amadeus Pro does a pretty good job with the metadata, but track names are prefaced by numbers which I don’t like, and I generally have to fix the track numbers — it considers each side of an LP to start with “1.”
And there you have it. Pretty simple, and I’ve almost gotten to the point that I can process one side of an LP while I’m ripping the next.
MacStories: Apple’s Presentation at Black Hat Now Available to Watch in Full. For those like myself for whom the stories were tantalizing teasers, the presentation is now available on YouTube. I love the illustration of the “physical one-way hash function.”
TechCrunch points to a Fast Company interview with Apple execs, says The Apple Maps launch fiasco led to the iOS public beta program. Really interesting interview with Eddy Cue and Craig Federighi, among others, talking about two big issues that the company overlooked.
The TechCrunch headline focuses on the “public beta” aspect of Apple’s post-Maps transformation. I’d argue that an even more significant aspect is highlighted by Federighi’s comment that “we needed to develop competencies that we initially didn’t appreciate… Maps presents huge issues relating to data integration and data quality, things we would need to do on an ongoing basis.” They’re doing them now, to the tune of an added 4,000 workers in an Indian development center focused on Maps data.
The whole 2012 fiasco – which I believe has been turned around, btw – was completely avoidable had Apple done any strategic analysis on the maps market. A little Porter’s five forces would have drawn their attention to the problem of barriers to entry, and a little thought might have raised the point that data quality was in fact a significant competitive advantage that Google had, and a sustainable one based on their existing efforts around data quality in other, more directly search-related fields.
Via Daring Fireball, behold (the Kickstarter for) The Secret History of Mac Gaming. There is so much of my late childhood and early adulthood here: Ambrosia, the Myst team, Freeverse, Escape Velocity, Bungie and more.
I can actually still play a handful of these games. Escape Velocity: Nova received a Mac OS X port (though I haven’t tried to play it in years), but there’s also SheepShaver, on which I’ve played Bungie’s Abuse and Ambrosia’s Harry the Handsome Executive.
I’ve got about 5000 tracks I’ve purchased from the iTunes store over the last 8 years. That’s a lot of dough. And I’m willing to spend more–$25 a year more–to have those tracks available in the cloud.
I also have about 30,000 other tracks, purchased from Amazon or eMusic, or ripped from my own library. I’m not a BitTorrent collector. I’ve replaced just about everything I ever downloaded in the glory days of Napster with legitimate copies of songs.
But Apple won’t let me participate in iTunes Match because I’m over the 25,000 song limit.
Well, that sucks.
Hope the service is less disappointing for those that actually get in.
Update: There is a workaround, apparently, if you want to manage multiple libraries.
So far iOS 5 has been just fine on my iPhone 3GS (yes, still), but for one important exception: I don’t think the phone has ever completed a sync without my having to eject it.
The symptom is one of those things that gives long-term iTunes users pause: text in the iTunes status window that appears at the end of the sync, saying, “Waiting for items to copy,” or “Waiting for changes to be applied.” And stays there, pretty much indefinitely. Turns out it’s a common problem, with no consistent solution. I have tried leaving the phone syncing all night long (both wired and wireless), even tried turning off syncing of all content. Nothing.
So today I tried the ultimate: restore to factory settings, then restore from backup. And, as of right now, things are… “waiting for items to copy,” while syncing podcasts.
Sigh. Wonder how long I have until we can buy the 4S?
There is one note of wonderment though: as I was plowing through the console looking for clues as to what was going on, I found this:
Nov 10 07:11:44 iTunesHelper: AMDeviceConnect (thread 0x7fff7c774960): This is not the droid you're looking for (is actually com.apple.mobile.restored). Move along, move along.
UPDATE: Aaaand just as soon as I pushed Send to Blog, I found the answer: voice memos. Specifically, deleting all voice memos on the phone was sufficient to fix the problem and allow the sync to complete. Now, mind, this was after a restore to factory settings and restore from backup, so I don’t know if those steps were necessary, but it worked.
Last night’s news about Steve Jobs hit me hard. Not that it was a surprise; Steve was the one CEO I know who was most in touch with, and open about, his own mortality. Of course that was out of necessity; it’s hard to sweep pancreatic and liver cancer under the rug. But Steve’s response to it was like so much else: instead of ignoring it, he acknowledged it while publicly focusing on where things were going next.
It made me think about the lessons I carry with me as a product manager, and I suppose as a person, that are directly traceable to Steve:
Thing 1: Always look forward
Steve, and Apple as his company, never hesitated to sacrifice backwards compatibility or even whole product categories if they sat in the way of something better. Viz: a whole long list of things–the 3.5″ floppy drive (which Apple helped popularize), ADB, SCSI, and even hard drives and optical media (on the MacBook Air, at least). PowerPC support. Mac OS Classic.
For most of this list, I don’t think we miss the items. And certainly we couldn’t have the products that we have today if Apple had continued to hold onto the older standards past their sell-by dates. By contrast, it’s inconceivable to me that my HP work laptop, just a year old, has a 9 pin serial port. Really? I would bet that not one in 10,000 users has any use for that port. What a lot of money and engineering QA time they’re wasting including that port in every laptop they ship.
I think one of the hardest things to do as a PM is to recognize the things that are standing in the way of your success, especially if they’re features, technologies, compatibility points, that your customers are using. Steve Jobs’ Apple was always the evidence that if done correctly, moving beyond outdated features and standards could have enormous payoffs for you and your customers.
Thing 2: Do fewer things better
When I was a young developer, just starting out, I wanted to make everything I did like the Mac. I wanted to simplify, to reduce the number of options, to make everything clean to use. It turned out to be really hard, and to require a lot of engineering to make things clean and to just work right. But it was almost always worth the payoff.
As a product manager, it’s a lot harder. Instead of keeping a user interface simple, you’re keeping a product offering simple. But again, the payoff is enormous: having an offering that does something so well that it blows everyone’s mind is so much better than a kitchen sink offering that is “just good enough” to check boxes on someone else’s feature chart. There’s time to expand to other areas of the feature chart, if you want to, but make sure they’re done well first.
Thing 3: Think big
The iPod was never about selling hard drive based music players. It was about turning a corner in so many ways: getting Apple into the selling-content-online business, which became the App Store business a few years later; changing how people consumed music, which arguably saved the music industry from Napsterization (though I suppose few RIAA members would stand up and thank Steve for doing so); even transforming Apple from a computer company into … well, how would you characterize Apple today? Maybe a personal computing device company?
Everybody else’s iPod follower was about selling hard drive based music players. There wasn’t a broader vision about changing the market, the customer’s behavior, or how the company was oriented. No wonder they all flopped.
Thing 4: Emotional connections matter
In technology this is such a weird perspective to have. These things we build, they’re just chips and transistors, right? Just bits. But to the people using them, they’re about getting things done that, if they’re worth doing, have a real impact on their lives. Carrying your music anywhere you go. Connecting the Internet to you in the palm of your hand. Creating a great reading and video experience in the iPad. Making computing so simple a four year old could do it. Connecting people in real and tangible ways.
Talking about features, clock speed and such, doesn’t cut it. This is one area where watching the post-Steve Apple will be telling. There was a fair amount of clock-speed talk in the iPhone 4S rollout, and maybe there should have been a little more storytelling.
Thing 5: Life is short; ignore the haters
I think this last one goes to the question of Steve’s awareness of his own mortality. He summed it up in his 2005 commencement address at Stanford, a year after his initial diagnosis of pancreatic cancer, in which he said:
No one wants to die. Even people who want to go to heaven don’t want to die to get there. And yet death is the destination we all share. No one has ever escaped it. And that is as it should be, because Death is very likely the single best invention of Life. It is Life’s change agent. It clears out the old to make way for the new. Right now the new is you, but someday not too long from now, you will gradually become the old and be cleared away. Sorry to be so dramatic, but it is quite true.
Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma — which is living with thae results of other people’s thinking. Don’t let the noise of others’ opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.
Steve, we owe you a lot, but maybe more than anything else, we owe you for that.
I got a nice gadget under the Christmas tree this year: a second generation AppleTV. Short take: I am way more impressed than I thought I would be.
This fall we experimented with hooking an old MacBook Pro up to the TV in the living room and using the FrontRow UI to watch movies, but the user experience was less than ideal. Knowing the limits of the machine, I copied movie files locally to it so that it had no network lag, but there were still occasional hiccups and delays as it tried to play back movies through FrontRow. Also, because it was essentially working as a disconnected island, only the movies and TV shows I copied to it were available. Oh, I could try to share data from my main MacBook, but for some reason things were so sluggish as to be unbearable.
I had an idea that it might be nice to try an AppleTV someday, if for no other reason than for the simplified UI, integrated rentals/Netflix/Youtube, and smaller form factor. But I had filed it away as a nice-to-have. So I was delighted when I opened it up on Christmas morning. (Thanks, hon!) By Christmas evening I had set it up and was putting it through its paces.
First notes: make sure you have an HDMI cable handy. (Duh. Fortunately I did.) We tried out the UI, which makes FrontRow look like a college art project, and were impressed. Then we tried playing back some of the short movies from my MacBook. This was the first hiccup–startup times were long even for brief movies; for half-hour TV shows I was usually waiting 15 minutes or more for playback. What was going on?
A little network diagnostic (aside: I cannot recommend iStumbler highly enough) and I found the cause. I have an Airport Extreme 802.11n base station, but the rest of my network configuration is somewhat unorthodox, including a pair of older Airport Express units that only speak 802.11g and which rebroadcast the main network via WDS. On a hunch, I turned off the configuration option on the Airport Express units to let wireless clients connect, and restarted them. The signal to noise ratio on the main base station improved about 10% immediately, and AppleTV performance was likewise improved–TV shows began playback immediately, movies after a second or two. Problem solved–and now my network is generally snappier.
And now is the interesting bit. I’ve had the AppleTV for about four days, and am now for the first time contemplating something that would previously have been unthinkable: ripping my DVDs to hard drive storage. It’s all about convenience and being able to access the movies (and TV shows, and Looney Tunes cartoons) on demand. Of course, in the eyes of Hollywood, this makes me a criminal, but then I’ve never had much sympathy for the studios’ position in trying to keep their hardcoded crypto secret. So I’m checking out HandBrake as a possible solution. While reports of its user-friendliness are somewhat exaggerated–I’d welcome a single setting that says “make the movie look good on a big screen TV”–initial results were pretty good. It might take a while, given that it’s taken me 40 minutes to rip 30 minutes of DVD footage, but I think it’ll be worth it to get instant access to stuff. Particularly when my four year old is waiting.
Almost six months ago, I managed to create a big mess 0n my outboard media drive with iTunes, when, while trying to consolidate all my music onto a new 1TB drive, I managed only a partial move and ended up with files strewn across the old drive and two different directory trees on the new drive. I’ve spent the time since in a lot of manual moving of files, since the Mac does not support merging two different directories with the same name.
I was able to clear up the top level confusion easily enough by doing a diff on directory listings from the top level directories, but that still left issues with subdirectories that had the same names but different contents. I thought I’d be doing the project forever. I tried a couple different tools to help. Path Finder was the nicest UI that I worked with, but it still only supported manual comparison and synchronization of the two directory trees.
I finally broke down and looked harder, and found an amazing tool, DeltaWalker, that seems as though it were designed for exactly the nightmare I faced. Point it at a pair of directories and it will highlight all the differences between them–missing subdirectories on one side or the other, or subdirectories whose contents are different in the two different locations. You can filter the output, too, so that you only have to see the differences that you care about (I didn’t need to know how many folders were in my target directory and not my source). And when you find files that have to come over, it’s a button click to make the move.
Once I found DeltaWalker, it took only about an hour to finish cleaning up the mess that I had started over six months before. It’s an awesome tool, and one I can’t believe I had never seen before.
I suppose it was inevitable. My last MacBook Pro was Apple’s first, the 1.83 GHz 15″ model that was the first to bear the name back in 2006. That was one in a series of upgrades that saw me getting a new machine every few years, thanks to a series of good product launches by Apple and a series of appalling product failures (power supply failures on the G3, the stuck hinge on the G4…) As I noted back then, the first generation MacBook Pro had case damage that rendered the battery unchargeable.
What happened afterwards was the trackpad button started sticking. And suddenly every time I tried to select text or files, the mouse got stuck in drag mode. It finally got to the point, yesterday, where I couldn’t even type. And Lisa said, “It’s time for a new laptop.”
It was time. Four years and four months, the longest time between machine refreshes that I’ve ever had since the year 2000. A testament as much to our financial priorities as to the quality of the machine.
And now, the new MacBook Pro is here. Most everything has been migrated to the new machine, a 13″ Pro model, which has, for the record, 4 GB of RAM, a 250 GB hard disk, and a 2.4 GHz Core 2 Duo processor. Twice the RAM, thrice the hard disk, and about 32% more CPU clock cycles doesn’t seem like it should make the computer a lot faster, but it does, oh it does.
And I am absolutely in love with the small form factor. The screen has about the same pixel dimensions as my old one but in a smaller form factor, and it’s a nice lightweight machine, rock solid, with a million nice features. We should have done this a lot sooner.
For the love of me, I don’t know how I ended up here again. The last time I moved my iTunes library to a bigger disk, I was able to use the Consolidate Library command and let iTunes do all the file moves. This time… not so much.
I was trying to do two things at once with this move: put all my music onto a larger external drive (a 1TB MiniStack from OtherWorld Computing. Can’t recommend the enclosure enough for form factor, ports, and reliability; my older 500 MB drive is in the same enclosure), and move to the new iTunes library layout, where there are separate top level folders for music, movies, podcasts, etc. This didn’t work, because partway through the process writing to the disk errored out. I quickly realized that the problem was that I was doing it over the network (the new 1TB drive and my older drive were both connected to my AirPort Extreme). So I directly connected the new drive via FireWire, left the old one on the AirPort, and tried to consolidate again. Only this time, it told me I didn’t have enough disk space. On the new 1TB drive.
Then I realized what was going on. The restructuring of the library wasn’t moving files, it was creating another copy of the files on the same drive. I had started consolidating before I did the library restructuring, so now it was trying to write a second copy of all my music on the drive. Since I probably have about 515 GB of music to work with (some resident on my MacBook Pro’s internal drive), two copies weren’t going to fit on the new drive.
So now I had: a full copy of my library spread across the old drive and my hard drive; one partial copy at the root of my new drive; and another partial copy in the proper location in a Music subdirectory. I didn’t want to delete either of the partial copies because songs in my library were mapped to both locations; I couldn’t reconsolidate on the old drive for lack of space. But I still had over 160 GB free on the new drive, so I could probably copy over the missing files by hand.
So I’m going the manual route to clean up. First, I went to the Terminal and ran the
comm command, which compares two text files line by line; I fed it the directory listings of the old external drive and the new final destination, and it spit out about 165 differences, directories that didn’t get copied from the old drive to the new one.
Second, I’m going line by line through the results of the comm listing. For each line, I:
- Copy the missing files from the old drive to the new one.
- Delete the old files from the old drive.
- Go to the matching tracks in iTunes and do a Get Info. Amazingly, since I’m copying the new files into the correct directory structure, a lot of the time I don’t have to do any more work and the library automatically finds the files in the new drive. Sometimes I have to browse one file at a time to link up to the new files, which is a drag.
I expect I’ll be done with the process sometime next week. Painful, but at least no data is lost. Then I can repeat with any files from my laptop’s disk, a much shorter list.
The final cleanup may take some XSLT fu. I will need to triple check the final library to make sure no tracks point to locations on the old drives. I’m going to try using XSLT on the iTunes Library.xml file to see if I can cull out the problem tracks that way; if not, it’ll be a matter of trial and error, because there’s no convenient way to find the file system locations of iTunes tracks from within iTunes itself, other than one at a time.
I’d love to have this be a more error-free process. I’m beginning to think that iTunes libraries on external drives simply isn’t a well tested scenario by Apple.