AirPods batteries drain much faster on phone calls

I thought my AirPods batteries were already aging out of their useful life span, due to quick draining on numerous hour long phone calls today and last week. It turns out, talk time is only “up to 2 hours”, while listening time (my main use case) is 2 1/2 times that.

Per Apple:

AirPods (single charge): Up to 5 hours listening time,(2) Up to 2 hours talk time(5)

So…phew! I’m more worried about having to replace them after less than two years due to a battery issue than about shorter battery life on calls.

🎧 I had a lot of fun testing out the V-Moda Crossfade 2 headphones last night. My review is on Amazon.

🎵 Frank Turner is—all at once—literate, angry, cynical, hurt, sad, and tender on Love Ire & Song (Well, literate except for comma usage. 😀) Despite the negative emotions he expresses, his music is lively and compelling.

I am coding VBA and ripping CDs like it’s the year 2000 today.

🎵 Taking a trip down memory lane with Guster’s Keep It Together this evening, on my MacBook Pro and Oppo PM-3’s 🎧. Their records are cleanly produced, tightly written, and tastefully played. When I saw them live, though, they absolutely shredded their way through their songs. They were freaking amazing.

📚 At long last, I have finished reading Team of Rivals by Doris Kearns Goodwin. It (the last chapter and epilogue especially) has overwhelmed me with a sense of love and sadness, which is why it took me so long to read their whole thing. The book is a monumental achievement.

🎵 “Space Gun” by Guided by Voices sounds just as good and just as vital as their old stuff.

🎵 I’m really digging Bleachers' “Gone Now” right now. I like everything that Jack Antonoff does.

🎵 I re-listened to The Decemberists' I’ll Be Your Girl today, and was surprised that all the songs sounded like I had always known them. I enjoyed the album a lot more today than on my first listen.

🎵 Max Richter’s “Sleep”

I am unreasonably excited to learn about Max Richter’s 8 1/2 hour album “Sleep”. It is meant to be played all night long, as you sleep. What I have heard so far is quiet, relaxing, and beautiful. I doubt my wife would let us play it through the night while we sleep. But maybe we could play it instead of white noise for our kids.

🎭 Last night my wife and I saw “Motown: The Musical”. We enjoyed it but thought it was too sanitized and limited in viewpoint to be interesting. I would have liked to hear more (any?) complete songs. The music is fantastic, of course. We’ll be listening to those records today.

🎙 I missed Om Malik’s spot-on take on Facebook from February, before the Cambridge Analytics fiasco. It’s worth a listen if you’re still interested in the Facebook mess.

🎬 Rewatching “The Last Jedi”

I am enjoying “The Last Jedi” a lot more on the second viewing. I didn’t like it when I first saw it in the theatre, for a dozen different reasons. But now I get it in a way I hadn’t. Some things I thought were annoying, like Po’s actions, were supposed to be. The whole movie is about learning from failure, and is well structured around that theme.

🎵 I’m trying to form an opinion of The Decemberists' new album, “I’ll Be Your Girl”. I haven’t gotten my mind around it quite yet. Has it really been 7 years since “The King Is Dead”!?

🎙 “The Menu Bar” is a surprisingly good podcast. Episode 8 shifts drastically from contrarian Apple/tech topics to an interview with director Alex Proyas. Great stuff!

I am making Excel hurt today.

📽️ Justice League

🎬 I saw “Justice League” last night and really enjoyed it. I had very low expectations, due to its grim, overly macho preview and predecessor. I’m a comic book fan, though, and “Justice League” felt like the sort of story i’ve seen many times before, but, of course, filmed in live action with tons of special effects. I thought that the film did have problems, but it was obviously made for comic book fans—who have read and seen the save-the-world story many times before, and want to see an even bigger version of it—and it succeeded more than all the negative reviews suggested. Yes, I could quibble about a dozen things, and I think the movie would have been even better with just Wonder Woman, Batman, and Superman in it, but I enjoyed it quite a bit, and hope they make a sequel in a couple years.

My slide into audiophile territory, Part 2

This is the second in a series of posts about my realization that I have become an audiophile. The prior post examined why I think of myself as an audiophile now.

What does it mean, to me, to be an audiophile?

So, I’m an audiophile now. What does that even mean? Am I just an overexcited consumer with enough disposable income to blow a lot of money on headphones? Hopefully there is more to it than that.

A lot of people, when talking about speakers or headphones, preface their comments with “I’m not an audiophile, but…” They do so out of humility, to admit their own limitations of hearing, and their own lack of experience discerning good sounding speakers from mediocre ones. What it is really about, however, is saying that you are not a snob. I used to do that, too. But I’ve given myself leeway to put myself in the audiophile camp, despite my lack of ear training and my lack of sophisticated acoustical measuring equipment. I want to take the term “audiophile” back from the snobs.

I call myself an audiophile now because I love sound. I love sound so much that I listen to music hours and hours each day. I love sound so much that I will listen to types of music I didn’t like before—EDM, hip-hop, country, standards, soundtracks—just because they sound good. I love sound so much I will spend large—but not obscene or unlimited—amounts of money on decent equipment.

My love of sound itself is a relatively new development. While I have loved music as long as I can remember, what drove that love was always the melody, the song structure, the lyrics, and the performance—all the normal things people enjoy about music. The production, on the other hand, was not important to me. In fact, over-produced recordings turned me off, because studio slickness betrayed, in my opinion, the authenticity of the music.

Now, I think differently. I admire the craft of studio engineers in a way I never appreciate before. Some recordings just sound great, and that is part of the pleasure of listening to them. Similarly, some singers have have beautiful voices, and it doesn’t matter if they are singing the same old songs (ahem, standards): the sound of their voices brings life to the music and helps make it worthwhile to listen to.

To me, being an audiophile is about appreciating the distinction between the sound and the music, and deriving pleasure from it, far more than it is about spending vast amounts of money on expensive equipment, or believing the hokum perpetrated by high-end audio equipment manufacturers and sellers.

🎵 I have become a huge Lana Del Rey fan recently. I can’t get enough of her lushly produced dream pop. (Maybe I’m depressed or something. 😂)

SwiftoDo Development Notes, March 2018

Today I released the ninth update to SwiftoDo in about ten weeks. What is driving all these small (but good!) releases? Two main things:

  1. I want the app to get better
  2. I want to have fun

I want it to get better

SwiftoDo is a good app, but it is by no means perfect. There are a lot of things that can be improved. My development task list for the app is a mile long. For a long time, the most important items on that list were also the most difficult for me to implement. To be honest, some of those “most important” improvements feel like they are beyond my current capabilities as a developer—but that doesn’t mean that I can’t make improvements somewhere. The app can still get better.

Sometimes, small things can make the app a lot better. Based on many emails with customers, I have learned that, a lot of times, a simple-to-implement feature, rather than a broad reimagining of a portion of the app, will make a big difference to their enjoyment of the app and the productivity they gain from it. That’s why I have been working on “small” features, such as the full file editor, that merely build on what was already there, but end up making the app more powerful and flexible for users. That is also my rationale behind improving application performance, which has become a much higher priority for me this year. Better performance benefits everybody.

I also decided to release features and fixes regularly and frequently. Every week I ask myself, “How can you make the app better for your customers?” And, on another day each week, I ask myself, “Is my latest commit better than what my customers have?” Once I’m sure the new version is better than the last version, I release it.

I figure that adding small features and fixing small bugs eventually accumulates, and my good app can eventually become a great app.

I want to have fun

I’m working on SwiftoDo because it the app is useful to me and because it is fun.

Coding is fun for me, but certainly not every minute of it. Sometimes I have to fight with UIKit’s quirks or work around its bugs, which can take hours of frustrating work. Sometimes I fail to get a feature working without introducing a crash or breaking something else in the app. Sometimes things just don’t work, and it’s really hard to figure out why. Sometimes I’m stuck, and that’s no fun.

I have decided not to remain stuck for more than a day or two anymore. If something isn’t working, I table the work and move onto smaller, solvable problems for a while. This philosophy has led me to work on features that seem simple, useful, and fun to code, but maybe not as important as the larger, more difficult things that have been blocking my progress. That explains why I’ve been pushing forward on improvements to the task text editor, for example, rather than adding new data providers. As a side benefit, working on those smaller things sometimes clears a way, either in the codebase or in my mind, to tackle those larger, more important items.

So, what’s fun? Racking up win after win, week after week, by pushing a better version of my app out to my users. And knowing, every day, that no matter what is not in the app yet, what is in the app keeps getting better.

Version numbers

SwiftoDo’s version number, currently at 2.9.2, is heading into the weird-looking, double-digit-minor-version-number terrority. The next version I release will be 2.10.0.

As Apple suggests, I’m using a 3-number semantic version numbering system, with my own rules for what increments each component. Architectural changes to the app (such as a total rewrite) will bump the first number. Adding new user facing features will bump the second number. Fixing bugs or enhancing existing features, in minor ways, will bump the third number.

Because I am releasing so often now, and batching fewer new user-facing features together, the minor version number has been increasing rapidly. No one should care what the version number is, as long as it goes up. I don’t really care if it is, eventually, version 2.50.0. I does look a little funny to me, though.

What about the Mac version?

I have not been releasing updates to SwiftoDo Desktop recently. The main reason for that is that SwiftoDo Desktop is, basically, feature complete. Unfortunately, because it is coded in Objective C and relies on cell-based table views (mainly for the inline editing to work), it sits at a technological dead end. A total rewrite is in order.

I have prepared for this scenario. My todo.txt-related code is in a framework that can be ported over to the Mac easily. In fact, I have started and stopped a total rewrite of the Mac version a couple times now, but have never gotten that far into it. The things holding me back are:

  1. I have to update my knowledge of AppKit, which is the Mac’s UI framework.
  2. The desktop app uses a different filtering system, which is a little harder to use than the iOS version’s filtering system, but it is much more powerful. I don’t really want to kill it off.
  3. SwiftoDo on iOS could always use more work, and it represents 70% of my user base.

In June, Apple may announce a new framework that would allow me to port my iOS code to the Mac much more easily. If that happens, my ability to provide an updated Mac version would be greatly improved.

🎵 “If I had my time again” is my favorite song from Tim Minchin’s “Groundhog Day” musical. I love how it flips the premise of the show on its head for a bit and lets the female lead shine.

🚀 I finally installed Rocket on my Mac. It’s a lot nicer to use than Character Viewer (Control+Command+Space) to drop emoji into text boxes.

🎙 This week’s episode had me Googling for ‘longest episode of “The Talk Show” with John Gruber ever’.

A/B/C testing: August and Everything After, in 24-bit, 96kHz FLAC vs. 16-bit, 44.1kHz ALAC vs. 256 kbps AAC

I’m listening tonight to a “hi-res” 24-bit, 96kHz lossless version of “August and Everything After” through my good headphones, DAC, and amp tonight. I love this album. It helps that I was 15 when it came out, of course. But still, I think it is an emotionally rich artistic achievement. It surprised me when such an earnest, heartfelt record became wildly popular; only in the 1990s would that happen, I guess.

I compared this hi-res version, track by track, with two other versions I have on hand:

  1. my 16-bit, 44.1kHz ALAC rip from my original CD from 1992, and
  2. the 256kbps AAC version available through Apple Music.
Overall, all three versions sound almost identical, which is kind of what I would expect, actually, given that Apple Music's lossy AAC encodings are of a very high quality, and that the bit rates and bit depths for CD-quality recording and iTunes AAC encodings were chosen very carefully. We are far from the world of mushy, sizzly 128kbps MP3 files now. That said, the lossless versions do sound a tiny bit better. They reveal more detail than the lossy version, notably in the snap of the bass guitar and in the attack of the snare drum. The difference is slight: you have to listen very carefully to hear it, and you need equipment sensitive enough to reproduce the sounds accurately.

The main improvement the hi-res version brings over the CD-quality rip, to my ears, is a lower noise floor. Otherwise, it sounds the same as the CD version. You gain about 1-2% in fidelity at the price of lot of extra bits on the hard drive, and, perhaps, more dollars out of your wallet. This is true even though the 24-bit version was mastered to be a little quieter than the original CD and iTunes versions. You have to turn it up a notch to match the others' volume. Even with more amplification, the hi-res version’s noise floor is incredibly low, and everything sounds fantastic.

Overall, I would prefer to listen to all my music in lossless quality, in as high fidelity as possible. It can sound better than lossy rips, and, even if I can’t hear the difference on a particular track, why not listen to the best version available? That said, I subscribe to Apple Music, which serves AAC files, rather than Tidal, which has a lossless streaming plan, primarily for convenience. Fortunately, for me, Apple’s 256kbps AAC files are completely adequate substitutes for lossless rips. I do think, though, that if Apple offered a lossless plan at a slight up-charge, I would subscribe to it.

🎵 If you like The Weakerthans as much as I do, you will find this interview with their singer, John K. Samson, fascinating.