Amazon MP3

Author's note: Welcome to another edition of "From the Archives", where I post some crappy, half-finished thing that's been sitting in my drafts folder for the last 10 years!

This articles is one I started on September 14, 2008, and apparently made some edits to on October 4, 2016 (don't ask me what they were). It's about Amazon Music, or as it used to be called Amazon MP3. Nobody cares about MP3 or any other specific format anymore, though. In fact, at this point I think most people just stream music through some app that doesn't even tell them what format it's in.

But back in the 2000's, it was all about MP3s. The only other format going was AAC, and only because that's what iTunes used. People would download these files and copy them to dedicated music playing devices. Yes kids, that was a thing. I had a bunch of those devices. They were fine at the time, but it's important to realize that this was in the days before high-speed data was ubiquitous and phones had tens of gigabytes of usable storage available.

Anyway, Amazon MP3 has since become Amazon Music and now focuses more on streaming than downloading. Fortunately, you can still download MP3s from Amazon Music, you now just have to do it through their desktop app. It's not too bad, but I actually don't like it as much as the download experience for the old AmazonMP3 version of the service. The app isn't really focused on that and they keep changing the interface.
And yes, I do still care about downloading the music I buy - that's why I have a Plex instance. I like to feel like I have some measure of control over digital products I buy, even if much of it is an illusion these days.

But anyway, that's enough from now. Back to 2008. Enjoy!

I've really gotten to like Amazon's MP3 download service. I've bought a number of songs and albumns through it in the last couple of months, and it's quite nice. In fact, it's what a music download service should be.

The big win for Amazon, of course, is selection. They might not have everything, but they come damn close. Nearly every other download service I've seen over the years had a limited selection. Great if you're into discovering new artists in particular genres, but they never had mainstream stuff.

The other main selling point for Amazon is price. You can buy individual songs for $0.99 or $0.89 (just as cheap as iTunes) and entire albumns at a discount. No subscriptions or other commitments required.

Aside from those obvious issues, the service is actually very well designed. For starters, it's web-friendly, which already puts it ahead of iTunes in my book. The searching and browsing works well and they have the usual Amazon suggestions and reviews. There's a nice little Flash app for song previews and Amazon's trademark one-click purchasing. It even works well in Opera for Linux, which is notorious for questionable Flash support.

The one non-web-friendly thing about AmazonMP3 is the download app. Instead of an actual MP3, you download a .amz file, which is handed off to this download app. It queues up the files for download and drops them in appropriately organized folders. Apparently it can also import them into iTunes and WMP too. That's about it, though. It's invoked by the browser as the file handler for .amz files and, really, that's the only way you'd ever run it. I mean, other than download files, it really doesn't do anything.

amazonmp3.png

On the up side, the download app is widely supported and failry inocuous. It's available for Windows, Mac, Debian, Ubuntu, Fedora, and Open SuSE, so Linux people aren't left out in the cold. It's a small program, too. The Ubuntu package is a grand total of 772KB uncompressed. Hardly the massive 60MB iTunes package.

It's Olympics time!

It's finally time for the Olympics!  Hooray!

I was very disappointed that the Olympic games were postponed last year.  I'm not too big on watching sports, but the Olympics is the one event that I always look forward to.  And now that the pandemic has receded (at least to some extent), the games are on again.

The one problem with the Olympics is how to watch it.  The problem is that the NBC network has the exclusive rights to show the Olympics in the US.  So yea, I mean, it's on TV, but who watches regular old TV anymore?  I don't want to have to sit in front of the television and listen to commercials every 15 minutes.  And I don't want to have to watch at particular times (and I'm not about to set up a DVR just for one week).  As I recall from the last games, you could watch online, but you had to have a cable subscription.  I cut the cord years ago, and I'm certainly not going to call Spectrum to sign up and then spend an hour on hold trying to cancel the next week.

This year, though, things are better.  NBC now has a streaming service, PeacockTV, and it shows the Olympics!  I signed up for it this week and it's not too bad.  You do have to create an account, but it offers a free tier that includes some Olympic coverage.  I actually signed up for the premium tier because that gets you all of the events and there are "limited" ads.

I have yet to catch up on the opening ceremonies, but I did watch a few of the softball games.  So far, my only complaint is the "limited ads".  Maybe it'll be different for the top-tier events, but for the softball games, it turns out that "limited ads" appears to mean that they just take the normal TV footage and put a slide saying "the event will resume soon" where the ads would go.  But they don't actually cut out the commercial time, they just leave that slide up for two minutes.  And sometimes, they don't cut it correctly and you see the first or last 5 seconds of a Geico ad or something.  It's really kinda cheesy and bush-league.  You'd expect at least an attempt at professional editing from an organization like NBC, so it's clear that this feature is  very much an after-thought.

But regardless of shortcomings, it's nice to have a good, affordable streaming option available for the Olympics.  And it's even better to have one that does replays rather than requiring you to watch live.  So if you like watching the games and don't want to be tied to the prime-time TV schedule, I definitely recommend giving PeacockTV a look.

CaliMove Mobility Program Review

Several months ago, I posted a review of the Athlean-X programs I've done so far.  Since then, I decided to branch out a little and try some of the programs from Calisthenic Movement.  I'm a fan of their YouTube channel, which includes some extremely good exercise demos and other high-quality content, so I was confident I could trust their programs to be at least decent.  I decided to start with their Mobility program.

What is mobility and why would I train it?

Mobility training is quite different from the other programs I've done so far, which are focused on strength and athleticism.  Mobility is a completely different thing - it's about how much you can move your joints.  This is somewhat different from flexibility in that flexibility is about how far a joint can move in absolute terms, whereas mobility is about how far it can move under its own power, so to speak.  So, for example, if you bend your wrist backwards as far as you can using just  the muscles of that arm, that's mobility.  If you move it even farther back by pressing your hand against the wall, that's flexibility.

So why do a mobility program?  Well, I noticed my mobility was lacking.  The big sign for me was my shoulders.  I'd noticed that while my shoulder strength was definitely increasing (as measured by how much weight I could lift), I wasn't able to move them as far as I should.  For example, if I laid in bed with my arm above my head, it wouldn't lay flat.  It would just sort of hover because my shoulder wouldn't go that far without some additional pressure - it was just too tight.

I also had issues with squatting.  It was hard for me to get to a 90 degree knee bend, much less past that.  This is something I'd noticed with dumbbell squats and deadlifts, but it was also very apparent when attempting to do a plain, bodyweight deep squat.  I think that part of it might be an anatomical limitation in my left hip in particular (that one plays way out to the side when I flex it), but still - my range of motion was pretty miserable.  So I figured some mobility training would be helpful.

And you know what?  I was right - the CaliMove program really did help my mobility. But more on that later.

Program structure

As the webpage tells you, this is a six-month program, broken into three two-month phases, as well as a "prep week" to get you started.  The phases are progressive, so both the exercise volume and the difficulty of the exercises increases with each phase.

In addition, there's progression within each phase.  In the first two weeks, you get used to the phase.  In the second two, you increase the number of reps for each exercise.  Then in weeks 5 and 6, you keep the reps the same but add another day of training.  And then in the last two weeks you bump up the reps again.

After the main six-month training period, there are four additional workouts.  One is an advanced warmup/maintenance workout that aims to help you keep your mobility improvements.  There are also three specialized workouts targeted and making you mobile enough to do specific calisthenics techniques.  These are just stand-alone workouts that are structured in the same way as the rest of the program.  You can use them or not as you see fit.

In terms of the presentation, each phase starts with a presentation of the schedule and a summary of the routine for each week.  You get individual demonstration videos for each exercise which are very much in the style of their YouTube demo videos (so generally very good and helpful).  There is also a video demonstrating the routine, but it's abbreviated and sped up, so it's not something you can follow along with.

The primary tool you use to navigate is a graphic that illustrates the flow between exercises, each annotated with the number of reps and sets.  The graphic also includes a back/front/center symbol indicating your relative orientation for the exercise, which is cute but not especially helpful.  If you know how to do the exercise - which you should - this information is redundant.  But still, it's a nice summary and it looks good.

I only have two complaints about the presentation.  The first is that the mobile webpage isn't zoomable.  This isn't an issue if you're using a laptop or tablet, or if you're young and have good vision, but if you have bad eyesight like me, and you're trying to do this on a phone, then it can be hard to read the sets and reps.  The second is that while the workouts are clear about the sets and reps, the demo videos don't always make it 100% clear what constitutes a "set" or a "rep".  It's not enough to stop you from doing a productive workout (the actual technique is clear), but for some exercises it's a little ambiguous whether some movement sequence is a set, or a rep, or multiple reps.  You can easily end up doing too little or more than you need to depending on your interpretation.

My assessment

Overall, I found this to be a very good program.  I chose to do the mobility program at the same time as a strength training program.  This is advertised as being a totally reasonable thing to do with this program.  The first three months I did alongside a second round of Athlean-X AX-2, while for the second three months I started the CaliMove at-home workout program (which will be another review).

In terms of results, measuring mobility gains can be difficult.  However, I definitely saw good results.  I fixed my shoulder mobility issues and saw noticeable improvements in my squat depth.  I also noticed increased strength and mobility in other joints.  I feel like my joints are generally stronger, more stable, and less prone to collapsing into dangerous positions.

One thing to note with the way I did the program is the time commitment.  The program starts off slow, with relatively short workouts done three times a week.  However, by the time you get to the end, you're doing the mobility program six times a week and the time has increased significantly.  And while the webpage says the workouts take between 15 and 40 minutes, by the later level 3 workouts were taking me a little over an hour.  I generally tried to schedule things so that I wasn't doing strength and mobility workouts on the same day, but by phase three this was unavoidable.  So on those days I would generally end up doing the mobility program first, as a very extended warm-up, followed immediately by my strength program.  This generally took me at least an hour and a half and left me feeling pretty wiped out.  So if you're planning to do this in conjunction with another program, you might want to be mindful of that.

In general, I was actually surprised by how physically taxing the mobility program was.  I sometimes felt more sore and fatigued on mobility days than on strength days.  I chalk this up to the fact that I wasn't used to working those particular muscles.  The recovery wasn't as long as a really hard strength workout, but it was still noteworthy.  I guess I almost expected it to be like a nice, relaxing yoga session, but it's actually much more demanding than that.

Another important thing to realize with this program is that there's a good chance you won't be able to do all of the exercises properly.  I know I couldn't.  Even after finishing the program, there are still several that I can't even get close on, like the back bridge.  However, simply going as far with them as you can still seems to work pretty well.  It can be a bit frustrating, but it's a long program and there's plenty of opportunity to improve.

Currently, even though I've finished the main six-month program, I'm still doing mobility training several days a week.  I sometimes use the advanced routine as a warm-up to my main workout if I have some extra time (the advanced routine takes me about 20 minutes).  I also do the advanced routine and possibly one of the technique-specific routines on my "rest" days.  The technique routines are good, but I find them a bit less interesting, as they tend to involve fewer exercises, but at higher rep ranges.  A lot of the exercises are also quite difficult for me (especially the split training), so while they're beneficial, they're not the most fun workouts.

At any rate, I would definitely recommend this program.  Mobility training is a beneficial and easily overlooked area and I think I'm definitely better off for getting some experience with it.  This is definitely a type of training that I'm going to continue to do while working towards other goals.  Perhaps I'll branch out and try some other mobility programs.  But even if I don't, the CaliMove program has given me some great tools to maintain and enhance the mobility gains I've already made.

Docblocks in Vim

As you may or may not know, I've become an avid Vim user.  I use it for work and home, having given up on PHPStorm a couple of years ago.

But one of the things that PHPStorm did automatically, which was quite handy, was to add PHPDoc comments to functions automatically.  This is kinda nice because, let's face it, unless you're writing a long description, most of a docblock is just typing.  You duplicate the parameters and return signature and, if the names and types are pretty obvious (which they should be), then there's not really much to say.  But having them is part of the coding standard, so you can't just skip them, even though they don't add much.

Fortunately, Vim has a plugin for that, known as PDV.  It will read the declaration of a function (or class, or a few other things) and auto-generate a docblock for you.  This is nice, but the extension was a little out of date - it hadn't been updated to support return type annotations.  There was a pending pull request to add that, but it hadn't been merged.  I'm not sure why - apparently that repo is dead.

So I decided to just create my own fork and merge the outstanding pull requests.  Now I have a version that supports modern type annotations, which is nice.  While I was at it, I also added an alternative set of templates for NaturalDocs doc comments.  I use NaturalDocs for LnBlog, so I figured it would be nice to be able to auto-generate my docblocks there too.  All I needed to do as add a line to my Sauce config to change the PDV template path.

I also got a new monitor

In addition to the new laptop, I also took advantage of Prime Day to get a new monitor.  As you can see in my last office photo, I've been using old monitors that I just had lying around for the past year or so.  But I figured that as long as I was upgrading my laptop, I might as well get a new monitor to go with it.

After going back and forth a bit, I decided to pick up this on sale for $170.  It's a 27-inch ViewSonic HD gaming monitor.  This is by far the largest monitor I've ever had and the picture quality is quite good.  It's nice to have a monitor that's legitimately big enough to put multiple windows side by side and actually have them be usable.  It also has decent built-in speakers and a very nice adjustable stand.  The height can be changed quite a lot, it rotates easily , and can flip the monitor into portrait mode.  

Of course, this also necessitated some other purchases: a new KVM and VGA to HDMI converter.  My desktop is very old, so it only has a VGA interface, whereas the new monitor only does Display Port and HDMI.  And since the desktop only has VGA, naturally that's what my old 2-port KVM had as well. So I ended up getting a 4-port HDMI KVM so that I could hook up my desktop, work laptop, and home laptop all at the same time.  I also decided on a VGA to HDMI converter with an audio out port, so I was also able to get rid of the big, clunky speakers on my desk (which I seldom used anyway).

I'm pretty happy with the new setup.  Having a good monitor is awesome - especially for playing Halo (but that's another post altogether).  The lack of external speakers compensates for the desk space taken up by the new monitor, so I don't feel at all cramped.  I also like that the new KVM has USB hub functionality, unlike my old one, so it only needs one USB port.  This makes it a simple 2-plug process to "dock" my laptop and use the big screen.  And with the extra ports, I also have the option of just leaving it hooked up and being able to switch from "work mode" to "play mode" with the press of a button.  That also means I can easily use my UHK with my laptop, which rocks.