Author Archives: Michael Descy

Journal 2019-03-15

I am going to try to post a journal entry now and then, because I have been neglecting my blog, and even my micro blog, for a long while now.

Today was a good day.

At work, I automated a data analysis process—and, just as importantly, the work paper creation process associated with it—that I will have to run about sixty times for one of my current projects. I am hopeful that all the effort will have been worth it when I can start using it next week.

I am stressing myself out a little bit while doing this work, though, because it would look like I spent the past day or two not moving forward on actual output at all, even though moving forward next week will be much more efficient. I always have to compare the time it will take me to automate parts of my work with the time it will take me to simply ground it out. Of course, both time estimates are usually just guesses for me, because most of my work is one-off project work, which is never repeated (at least not in the same way) on the next project. Luckily for me, I have the weekend off to forget about time and budget pressure for a couple days.

My daughter passed level 50 in Reading Eggs tonight, which she does at school and at home on her Chromebook. I am very proud of her. She has recently started working much harder at learning to read. My wife and I have been pushing her a little harder lately, too, and even hired her a reading tutor (who is super nice) to help her. The best thing to happen about it this week is that we are now all on the same page about, and saying aloud to each other, that increasing her reading skills is the top priority. It helps to be able to prioritize things.

My son probably will never need a reading tutor, but he will need to go to preschool in the fall, and my wife and I have to figure out how to pay for it. We have already started scaling back our expenses (mainly monthly subscriptions and dining out), but have not gone into full-on budget mode just yet. We have started talking about money again, which is good. We may start using YNAB again, but I don’t care for the price of their subscription.

I have been working on a huge update to one of my apps, SwiftoDo Desktop, which is a todo.txt task list manager for the Mac. The current version is super old now, and I re-wrote it from scratch, basing the model code on the iOS version I have been working on for a couple years now. At this point, the new Mac version is even better than the iOS version, but it is still not ready for release. Based on the brief time I can work on it, late at night, I imagine I have several weeks to go before I can release it.

Also, today, I released a bug fix update to one of my other apps, Simple Call Blocker. I fixed a bug that made its call blocking extension not load for a lot of people. It turns out the problem had to do with calling an Apple API incorrectly—and I think the rules changed since I initially released the app, because it used to work without a problem. I had thought the bug was related to the app’s Core Data stack, which I had no way to fix, but it turned out to be something different. It feels good to fix that bug, and hopefully put a stop to all the customer emails I get about it.

SwiftoDo Development Notes, September 2018

Files integration

In late August I released a version of SwiftoDo that added sync support for any cloud data provider, via integration with the Files app. I think that this integration can be improved in the future. For example, right now, you cannot create a todo.txt file in the Files app using SwiftoDo, and you cannot open an existing todo.txt from the Files app.

If I add those features, I may as well rewrite the app’s UI, so that you have to create or open a file upon SwiftoDo’s launch. I would also have to rewrite how preferences are stored, so users could define different preferences for different files they open.

Those changes would, I think, necessitate dropping the offline support features that currently exist—namely manual sync mode, and the failsafes in place for when automatic sync fails (typically due to network unavailability). I am actually not sure how other document-based apps on iOS handle things when network connectivity is lost or unavailable. I would assume they simply cannot work without a constant network connection, because they cannot access their file, but I am not sure.

I do know that a task list is not a typical document-based app, like a text editor. Users typically want it to be always available, rather than dependent on a constantly-available network connection. Because I would rather not remove offline features from my app, and because I currently have very little time for app development, I do not plan any big changes to the app related to Files integration in the near future. When they do happen, I would expect that the UI of the app would be changed pretty significantly.

iOS 12 Support for SwiftoDo

The current version of SwiftoDo runs on iOS 12 without incident. I have, however, compiled a new version of SwiftoDo on the iOS 12 SDK. It has no new features, but the SDK is newer, so it inherits upstream bug fixes from Apple, and I updated my codebase to Swift 4.2. I am dropping support for iOS 10.x, too, because iOS 12 will be released imminently, and it honestly makes no sense for anyone with an iOS device from the past four years or so not to upgrade to it (iOS 12 performance is that good). Because of the under-the-hood changes, and the dropped compatibility with iOS 10, I am bumping the version number to 3.0.0. (Don’t get too excited!)

macOS Mojave Support for SwiftoDo Desktop

I am running the MacOS Mojave beta, and have been testing out its new dark mode. I love dark mode, and it took me about two seconds to realize that dark mode support is not a nice-to-have—it is an absolute necessity. Therefore, have coded support for it in a new build of SwiftoDo Desktop. I will submit it to the App Store soon.

The next version of SwiftoDo Desktop will be compiled on the macOS 10.4 SDK, and will no longer support macOS versions lower than that. (If you are not going to upgrade to Mojave, you can continue to use the version of SwiftDo Desktop you are currently using, of course.)

Other than dark mode support, there are no new features. (Sorry!) Because of the under-the-hood changes, and the change in minimum system requirements, I am bumping the version number to 3.0.0, though. (Again, don’t get too excited, but be happy your app is being supported.)

The future of SwiftoDo Desktop

It is a weird coincidence that SwiftoDo and SwiftoDo Desktop will be on the same version number for a while, but it is only a coincidence. At present, they do not share any underlying code.

My long term plan is for SwiftoDo to resemble, and share tons of code with, the iPad version of SwiftoDo. The approach I would prefer to take would be to use the joint iOS/macOS framework that Apple said is coming next year. I will probably continue work on improving the iOS version’s codebase in preparation for eventual macOS support as well.

I am not sure if every user will want the iOS version on the desktop, but I know that I would. I have considered releasing the next-generation version, whenever it is ready, under a new name (SwiftoDo Desktop 2, maybe) and SKU, so owners of the current SwiftoDo Desktop could continue to use it until it no longer functions on macOS. I have not decided exactly what I will do just yet.

I do not expect that anyone outside Apple will learn anything about Apple’s new framework until WWDC 2019, which will be held in June. What I learn at that time will have significant impact on the direction in which I take SwiftoDo Desktop.

Altec Lansing M650 iPod Speaker Dock

After enjoying the Philips Revolution speaker dock for a while, I started to look for a better sounding iPod dock. I found that in the Altec Lansing M650, which is a 2.1 channel system (yes, stereo speakers plus a tiny, down-firing subwoofer!) in a compact, triangular case, with a 30-pin iPod/iPhone dock on a ledge in front.

I thought, and still think, that it sounds great. Its sound is warm, rich, and natural. While I wouldn’t consider the bass response to be very tight, or there to be any stereo separation at all, it does sound really nice, and can fill a small bedroom or a home office with a pleasant sound that I could listen to for hours on end.

I used one as my main desktop stereo system for a couple years while I worked from home. It replaced my Harmon Kardon Soundsticks, which sounded better for music, but were not as easy to connect to my iPhone. It sounds great for music, podcasts, and for TV—thanks to its line-in jack, I often plugged an iPad into it for better audio when watching baseball or Netflix. I liked this speaker so much that I bought another one for the kitchen, where it was a great base station for phone charging and playing internet radio for several years.

Unfortunately, while this speaker sounds great, its 30-pin dock is poorly implemented. After several months, both speakers emit annoying static from the 30-pin connector unless the iPhone is seated just right. I think I’m the only one in my house who knows how to fiddle with it until the sound clears up. Plus, of course, the 30-pin connector was made obsolete by Apple’s change to the Lightning standard.

I still use both of my M650s in my children’s rooms to play white noise while they sleep, and occasional music while they are awake, through our old iPhone 4 and 4S. It has gotten increasingly difficult to seat an iPhone on them without getting static through the 30-pin connection, but it is still possible. However, because the 30-pin iPhones that drive them are old and barely work at this point (software-wise), these speakers’ days as iPhone docks are numbered. They have a line-in jack in the back, however, and are prime candidates to pair with an Amazon Echo Dot (or something similar) sometime in the future.

Philips Revolution Motorized Portable Speaker Dock for iPhone/iPod

The iPod had a monumental impact on how people listened to music. Not only did it turn people onto digital music downloads, rather than CDs, better than any preceding product; it also made listening to playlists and to shuffled music simple and extremely popular. The iPod’s 30-pin connector had a huge impact on home speaker systems as well. Suddenly, it became the default connection option for a bevy of home speakers. In stores, many speaker systems were repealed by iPod speaker docks.

While I had iPods since the first iPod Mini was released, shortly after I got married, I got an iPod Touch. It came for for free with my wife’s first MacBook Pro, and she had no interest in it. Of course, as a non-iPhone-owner, I found the iPod Touch to be an incredible upgrade from my iPod Nano. Around the same time, I got my first iPod speaker dock for free as well, in exchange for writing a review. It was a Philips Revolution speaker dock that looked somewhat like a boombox, could be driven by a bunch of D-cells or a power cord, and had a rotating dock that could accommodate (in portrait or in landscape mode) every iPod created to date and the first generation iPhone.

For sound, it was perfectly adequate. I liked it a lot at the time, but I thought of it like a boombox rather than a room-filling speaker system. It lacked a subwoofer, and thus had lackluster bass, but it was small, battery powered, and brought music into places in our apartment that it previously didn’t reach. My wife and I enjoyed using it with the iPod Touch for streaming music—mainly Pandora or streaming radio from WNYC—in the dining room while we ate dinner. I really enjoyed using it for background music during meals or for news radio, for which having the richest and best audio quality was not terribly important.

In the same way that my computer, once I got a CD-ROM drive, supplanted the stereo system as my main music player, this speaker system solidified the iPod’s (and later the iPhone’s) prime position as the source for music in my house. It also got me into the habit of streaming audio into the house, rather than only playing previously downloaded (or ripped) music. My wife and I used it in our kitchen for years to stream WNYC news and music. When the iPhone changed from the 30-pin connector to the Lightning connector however, this speaker dock’s days were numbered. And when that original iPod Touch’s software support was dropped by Apple, this speaker dock’s days were done.

Harman Kardon Soundsticks II Speaker System

In my mid 20s, I decided to move from boring (but nice) suburban Connecticut back to the Boston area where I went to college. It was a chance to reinvent myself, which is something I really needed to do at the time.

In the process, I replaced a lot of my belongings—cheap things or hand-me-downs that I had since my college days—with newer, better versions. I replaced nearly everything I cooked with and ate with: dishes, pots and pans, and small appliances. I bought a new wardrobe and got rid of my ratty old T-shirts and jeans. I traded up from a slow and struggling Dell tower PC to a sleek, fast, white MacBook (my first Mac!). I also traded up from my old, busted Altec Lansing computer speakers to the cool, futuristic Harman Kardon Soundsticks II that I saw in the Apple Store.

The Soundsticks’ clear plastic construction made them almost invisible. Their clear, light-up subwoofer looked like a bioluminescent jellyfish floating atop the tangle of wires under my desk. Their capacitive touch volume control was futuristic, too, but really hard to control; I mainly relied on my MacBook’s volume control instead.

In my cool, urban apartment, I played music through these cool, stylish speakers for hours and hours each day as I worked on my new MacBook (and on my work laptop, side-by-side). They sounded much better than my prior Altec Lansing computer speakers, but mostly they just looked better. I found that, at loud volumes, they didn’t really fill the room how I would have liked them, but I rarely played them that loud anyway, considering they were sitting on the desk I was working at.

During this time, I stopped buying CDs and started buying music online. I got into indie rock very heavily, mainly because I could get their tracks at great prices (25 cents per track) though eMusic. I first heard Okkervil River, Spoon, The Avett Brothers, The Apples in Stereo, Bright Eyes, Rilo Kily, Rainer Maria, and many, many other artists through these speakers.

I happily used these speakers for five years or so—even after moving from my hip, urban apartment to the suburban house I live in now—but I eventually tired of the mess their wires made atop and beneath my desk, and moved them into basement storage. Someday I hope to find another use for them, perhaps as a bookshelf system driven by a Raspberry Pi, but I would need to figure out a way to hide all the wires, so the great looks of these speakers shine through.

Altec Lansing Computer Speakers

Over winter break, during my sophomore year in college, I bought my first new computer: a beige Dell tower with an Intel 486 processor. When pricing out systems—and this was done over the phone back then, rather than over the internet, because my parents did not have internet access in 1997—I configured nearly identical systems from Gateway and Dell at the same price. The only difference between them was in the peripherals: the Gateway came with a 19-inch monitor, rather than a 17-inch monitor, and the Dell came with a USB-connected, 2.1 channel Altec Lansing speaker setup. I bought the Dell, to get the better speakers.

At the time, I thought the trade-off was completely worth it. The speakers were tiny, stylish, had some fancy USB connectivity (USB was brand new then!), and came with a subwoofer, which I had never had before. The subwoofer added a new dimension to my music that I had never experienced before. It could shake the room if I wanted that, or just add some sub-bass dimension to the music. Its presence inspired me to pair this speaker set with my old, 2-channel Altec Lansing computer speakers, to create a 4.1 channel setup that I used to watch DVDs in my dorm room in 1999 and 2000. I had to upgrade my sound card to a Sound Blaster Audigy to get that to work. (I think that is the last dedicated sound card I ever bought!)

Their USB connection was not all I had hoped for, however. It did not carry the audio signal; it only allowed you to control the volume and EQ from a Windows menu bar application. It was pretty sophisticated for the time, but it was superfluous, and, I discovered after a year or so, the drivers that made it work caused Windows to crash all the time. So I disabled the USB feature and continued to use them for about 10 years, through college, grad school, and beyond. Eventually they wore out so badly they could no longer play at a proper volume. By that point, though, I had moved onto using an iPod for most of my music playback.

My first computer speakers

I got my first computer when I was in seventh grade. It was an IBM AT/XT that we upgraded several times over the years. By the time I was in high school, my dad bought me a SoundBlaster sound card and some 6-inch computer speakers. I actually do not remember who made them: it was either JBL, Creative, or Altec Lansing. What I do remember is that they were the generic beige color of all PC hardware of the era, the right speaker had knobs for balance and volume, and, as a pair, they could go very, very loud. No one else I came across had computer speakers that large or that loud.

Sound quality-wise, however, they were not great. Back then, in the late 1980s and early 1990s, it was still rare to hear any sounds at all coming out of a computer. It was enough to be able to hear the beeps and blips coming from my DOS-based productivity software and games.

Due to lackluster sound quality, and the fact that CD-ROM drives were too expensive for me to buy until the mid 1990s, these computer speakers never replaced my CD system’s speakers as my main playback system. They are important to me, however, because they enabled me, for the first time, to use the computer to record and mix music.

Sony CFD-510 Boombox

A week before I left for college I bought a Sony boombox to use as a bookshelf stereo. It had detachable speakers, so you could actually achieve stereo separation, and, of course, “mega bass”, which was pretty much mandatory for good sound in such small speakers.

I chose this particular model because it had an analog 3-band equalizer, as opposed to several genre-specific settings; I relied on the EQ to pick out guitar and bass parts I would transcribe. As a bonus, it didn’t have a crazy light show like the many of the other boomboxes on sale in 1996.

I don’t remember very well how it sounded, to be honest, because I wasn’t able to use it that much. My freshman year roommate and I did not share musical tastes, so I had to play my music through my computer using headphones. (My computer’s CD-ROM drive actually had a dedicated “play” button and its own headphone jack.) I didn’t realize it at the time, but all those hours listening to music over headphones (the cheapest headphones possible, I’d say) in my dorm room were the very beginning of my headphone-centric music listening preferences.

My first speaker system

My parents bought me my first CD player at the JC Penney Outlet. It was a damaged, open-box, no-name system that resembled a single, tall unit. It contained, from top to bottom, a turntable (though the clear cover was broken off and missing), an AM/FM radio, a five band equalizer, a dual deck cassette, and a single cd player at the bottom. The only reason I asked for it, and thought my family could afford it, was because it was damaged and was being sold at a steep discount. I also told my parents I would listen to classical music on it, which was my intent, but didn’t actually happen too often.

It came with two bookshelf speakers with RCA inputs that plugged in the rear, that I set up about ten feet away from the receiver. I couldn’t tell you how good or bad the sound was. All I knew at the time is that it was amazing compared to what I had at the time: my mom’s 20-year-old transistor radio, and a cheap, toy-like boombox with a dual cassette deck. The most important upgrade, of course, was upgrading from records and tapes to CDs. CDs didn’t have tape hiss, had high dynamic range, and didn’t wear out over time or get eaten by the plater sometimes.

I blasted music through this no-name system for hundreds of hours through middle school and high school. I measured my school papers by how many album listens it took to write them. I used it to practice singing, to transcribe songs with my guitar, to play back 4-track recordings, to lie back on my bed with CD liner notes while my favorite new song played on repeat.

I amassed an enormous CD collection, mostly through the Columbia House and BMG Music clubs, and partly through weekly trips to my local record store (which is long gone now).

Now that I’m a parent, I am amazed that all my loud music playing didn’t drive my parents crazy. They never complained to me about my music blasting from 3 PM to 10 PM every day. My kids are too little to listen to music on their own, but I’m already thinking about which headphones to get them, so we can all coexist in the house.

I have no idea where this system went or who made it, but, based on it being my first CD player, it is probably the most important speaker system I have ever owned.

Speakers over the years

I love music, and I love headphones, but, oddly enough, I have no special love for speakers. The reason, I suppose, is that, since I was a broke teenager living with my parents, I have never had the opportunity to listen to loud, room-filling music at my home. Roommates, sleeping children, and close neighbors have always prevented it. That said, my love of music has always depended on speakers, and, as I got older, they got a little better over the years.

I’m going to publish a short series of posts about the various speaker systems I’ve had over the years. After that, I will post a short series of posts about all the headphones I’ve had, and loved, over the years, as well.