Obligatory birthday post

It's that time of year again.  I always take the day off for my birthday (unless it's on a weekend, of course).  This year we did sort of a rerun of last year's birthday.  Except this year we went to Sonnenberg Gardens the day before and had a nice picnic at the beach for my actual birthday.

It was a nice, cool day for walking around the gardens.  (My wife always complains that I want to go there on the hottest day of the year.)  Sadly we're far past peak rose season, but the other flowers were looking pretty good thanks to all the rain we've had recently.


Likewise, we had a very nice day for the picnic at Hamlin Beach.  It was in the upper 70's and sunny.  It was a little windy at the lake, but not unpleasantly so.  Zane and I played ball a little and went for a nice walk, but mostly we just laid on the sand and relaxed.  I brought my tablet and did some reading - I started Frank Herbert's Dune last week, and I've been blowing through it.


And after the beach, we got some nice fancy cake slices from Phillips European.  I got the peanut butter torte.  Their stuff is always delicious and just buying it requires no work.  Also, I don't have to have an entire cake sitting around for the rest of the week.

So nothing fancy this year.  Just a nice, restful weekend with the family.  Which is all I really wanted anyway.

CoC for Vim

A few weeks ago, I was looking into Typescript a bit.  I've heard lots of good things about it, but never had a chance to play with it.  However, I got tasked with some updates to my company's portal site.  (While not technically my team's responsibility, the portal team was swamped, so I agreed to make the required updates to support a  back-end feature my team added.)  And, of course, the portal team uses Typescript.

Naturally, most of the editing recommendations for Typescript are focused on Visual Studio Code.  But I like Vim, so I did a quick search and found this article, which led me to CoC (which I choose to pronounce "coke", like the soda), which stands for the slightly ungrammatical "Conquer of Completion".  It's a plugin for NeoVim and Vim that essentially does Intellisense (code completion, context popups, etc.) using language servers.

If you're not familiar, the Language Server Protocol (abbreviated LSP, though that always makes me think of the Liskov Substitution Principle) was developed by Microsoft for VS Code.  It's essentially a way to make Intellisense work without the editor having to implement support for each language.  It does this by defining a protocol that "clients" like an editor can use to communicate with a "language server".  The language server is a stand-alone program that can provide code intelligence for a particular language, but is not directly tied to any particular editor.  The server can then be called by any client that implements the protocol, which means that the editor itself doesn't actually have to know anything about the language to implement advanced editing features - which is huge.

Anyway, CoC is an LSP client for Vim.  And I have to say, it's awesome!  I've messed with a few code completion and LSP plugins in the past, but I never really got them to work right.  They were either difficult to configure, or required Vim to be built with particular non-standard options.  But CoC was dead-simple to set up.  The only catch is that you have to install the language servers separately, but it turns out that's super-simple as well.  (The ones I've used so far can all be installed through NPM.)

I'm still getting used to it, but having CoC is a game changer for Vim.  I'd given up on having this level of intelligence in my editor.  I mean, for something that supports as many languages as Vim, building it the old-fashioned way just isn't feasible.  But when you can use the same language servers as more modern editors to do the heavy lifting, suddenly it's no longer crazy.

The next step is to look into the available commands and customizations for CoC and see what I can come up with to optimize my experience.  So far it's a pretty cool tool and it definitely makes the development experience nicer.  I want to see what else I can do with it.


Maniac Mansion on NES

Unlike most episodes of "From the Archives", this one is just going to be current-day commentary. This was supposed to be a "linkblogging" post from way back on February 22, 2006. (That was probably not long after I added draft support to LnBlog!) However, it only had three links and I no longer care about two of them.

The one that is still good is Douglas Crockford's account of The Expurgation of Maniac Mansion for the Nintendo Entertainment System. (The URL has changed since 2006, but but luckily Doug was considerate enough to keep a redirect. However, this publication date is a little misleading.) It's about the back-and-forth they had with Nintendo when trying to port Maniac Mansion to the NES.

I remember playing Maniac Mansion on the NES. I rented it from Video Entertainment, the video rental store in the next town over, several times. I never finished the game, but I remember liking it. I never played the PC version, but even the NES version was more than a little weird.

This article is Crockford's account of some of the odd things that Nintendo insisted they remove from the NES version. They range from silly to head-scratching. But if you've ever heard anything about Nintendo's approval process for NES games, you know that they were very strict about maintaining a certain image and so were very particular about what kind of content they'd allow. Either way, it's an entertaining read.

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.


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.