more music organization

Since ordering a Sonos One yesterday, I got to thinking about the state of my music collection. I’ve had a long-running project to rip old CDs and copy MP3s over to my Volumio box, starting back in 2015. I’ve been working my way through stuff, roughly in alphabetical order, with occasional side-trips. The last time I did any major work on that was in September 2017, when I got through to U2. Today, I picked up on that and got the rest of the way through U, then on to V, W, X, Y, and Z. So I’m done with the alphabet at least, though I have a handful of artists I still need to look at separately. (For instance, I have thirteen Chris Whitley CDs and most of them haven’t been ripped yet.) But I felt like I should write a short post to mark the date.

When I get the Sonos, the plan is going to be to use the Volumio as a NAS that the Sonos can access. Hopefully, the Sonos can do that with no problems. If not, there’s other stuff I can try, to make my MP3s accessible to it, though I’m hoping the Volumio works out.

Sonos One

I had, up until today, resisted the urge to spend any money on a “smart speaker” device. The tech is interesting, of course. Ever since ST:TNG, all good nerds have wanted to be able to just yell “tea, Earl Grey, hot” and have a piping hot mug of tea materialize in front of them. So Amazon Echo and other smart speakers are kind of cool. But, in practice, there’s really not that much you can do with them. You can yell “play AC/DC” and, on a good day, “Back in Black” will start playing from the speaker. If you have some home automation stuff set up, you can yell at it to turn your lights on and off, but that never really seemed too compelling to me. I can just as easily flip a light switch.

And, on the speaker side of things, I don’t think an Echo would compete that well with my big old-fashioned speakers, connected to my old-fashioned tuner. I still have my Raspberry Pi Volumio box hooked up to my tuner, and it works reasonably well, for most stuff. There are a few issues though. When I use it as an AirPlay receiver, it stutters occasionally. (I’m not sure if that’s Volumio’s fault or network problems.) And, for some MP3 files, the sound quality is a little off. Also, while it can play streaming radio, it only supports a limited set of stations. (You need to find a specific kind of streaming URL to use, and not all stations support it.)

So when I think about my current setup, there are definitely limitations. I like listening to old-fashioned FM radio, but the particular area I live in is a bit too far from both New York and Philly to pick up stations from either area reliably. I used to be able to pick up WXPN (Philly) and WNYC (New York) reasonably well, but reception has actually gotten worse over the last few years for some reason, so now I can’t pick up much of anything anymore, except for a few local stations. And I have a good CD collection, but no longer have a working CD player. Volumio was supposed to solve that problem, but I’m not entirely satisfied with it.

Anyway, this all leads me into looking into smart speakers. Apple’s HomePod is interesting. All the reviews I’ve seen indicate that it has great sound quality. But it’s $350 for a single speaker, and it doesn’t work with much other than Apple Music. It’s supposed to support AirPlay 2 at some point, and apparently supports the current version of AirPlay now, so I could always stream to it from my iPhone. But I can already do that with Volumio. It might sound better than Volumio, but it’s still $350.

The Amazon Echo is only $100, and the speaker is probably reasonably good, but most reviews I’ve read would lead me to believe that it’s probably not better than my current speakers. It does support a variety of music services and streaming radio stations, but of course it’s likely happiest with Amazon Music.

The Sonos One seems to fit well into a niche that’s somewhere in between the Echo and the HomePod. It’s $200 for one (or $350 for two, right now). The sound quality should be better than the Echo, but not as good as HomePod. (I haven’t actually heard one yet, but it’s possible that it could actually be better than my current setup, though I’m not convinced about that.) And it supports a wide range of sources, so I should be able to listen to WXPN, WNYC, NTS, and a bunch of other radio stations, if I want to. And it supports playing MP3s from a file share, so I should be able to access all of the MP3s that I already have on my Volumio box. It also has Alexa support, so if I want to yell at it, I can, but I don’t have to. (It’s also got an app I can use instead.)

There are some vexing limitations to the Sonos One though. It’s got no analog input, so I can’t pipe my TV sound output through it. And it doesn’t work as a Bluetooth receiver or (current) AirPlay receiver, so I don’t think I can pipe anything through it that isn’t explicitly supported by Sonos. (That’ll change when they add AirPlay 2 support, assuming they actually do that.)

So, anyway, I ordered one this morning. Sigh. I based my decision in part on this comparison at iMore, which definitely favors the HomePod, in terms of sound quality, but which points out some of its limitations. And on this article at recode, which talks about how Sonos intends to compete against the HomePod. I like Sonos’ approach of trying to support as many services as they can. And I read this review of Sonos One from Sound and Vision, which was very positive about the sound quality of the Sonos One. So I’m getting one, and we’ll see how it works. If it’s no good, I guess I can return it. But I’m hoping I’ll like it.

First museum trip of 2018

I haven’t been to the Met or MoMA in some time. Between bad weather and bad health, I just haven’t been able to get into New York. I finally talked myself into it today, despite today being a fairly grey and rainy day. I had a bunch of stuff I wanted to check off my wish list.

First, I wanted to see at least one of Ai Weiwei’s Good Fences Make Good Neighbors things. So I saw the “Gilded Cage” at the south end of Central Park. (That was kind of accidental. I had some transportation difficulties that left me at Columbus Circle, so I walked over from there.) I’m glad I saw it, but there’s really not much to it. I understand the point of it, but it didn’t really do anything for me.

Then, from there, I decided to walk up to the Met Breuer. They only have two exhibitions running right now, but one of them is the Edvard Munch exhibit, which I really wanted to see. I really liked that one. I’d never really seen much of his work before, so a lot of it was new to me, and unexpected.

After that, I walked up to the Met (5th Ave), wandered around, and saw a few exhibits, including the David Hockney exhibit, which I’ve been wanting to see since Thanksgiving. That was really good, but very crowded. (They had members early hours on that yesterday and Friday, but I didn’t want to take the day off Friday, and I didn’t want to go in so early yesterday.)

From there, I took a cab down to MoMA. There wasn’t much going on there that I was interested in, but it was fun to wander around a bit. And I had an idea that I’d get lunch near there, at Xi’an Famous Foods. But it was way too crowded in there, so I gave up on that. (Getting some cumin lamb noodles was definitely on my wish list for today. Maybe next time.)

I put a few random photos from the trip up on Flickr. Nothing impressive; I just snapped a few things for the hell of it.

Oh, and I didn’t realize until I got home, but today is Jackson Pollock’s birthday. I did manage to see my favorite Pollock paintings at both the Met and MoMA during this trip, so that’s cool.

I really needed to get out of my apartment and spend the day looking at art. This coming week is going to be rough. The State of the Union speech is on Tuesday. I’ve told myself that I’m not going to watch it, but I know I’m going to read about it, and it’s probably going to anger, depress, and/or annoy me. Then, I have the anniversary of my Mom’s death on Thursday and the anniversary of my brother’s death on Friday. So it’s going to be one of those weeks. I think I’m going to need art, and comics, and music, and maybe a little booze, to get through this week!

Five year work anniversary

I hit my five-year anniversary at SHI this week. I don’t really have much to say about that, but I thought I should mark it with a quick blog post. I mentioned SHI in my New Year’s Day post, so that covered my current status pretty well. I first mentioned the job on my blog in March 2013, after I’d been there for a couple of months. My current projects are a mix of straight Dynamics AX work in X++, some .NET stuff, using C#, and some research into Power BI. So it’s a pretty good mix. I think I might see some opportunities to do stuff with Power BI in the cloud and maybe some Azure stuff this year. So that could be fun.

We recently (finally) got current Visual Studio subscriptions at work, so I now have access to VS 2017 Pro and the other random fun stuff that comes with a VS subscription. (Previously, we had some kind of standalone licenses to VS 2012 and 2013.)

I’m always a little worried about stagnating and turning into “that guy” who has been doing COBOL programming for years and hasn’t learned anything new since the Nixon administration. But SHI seems to be giving me enough opportunities to work on new and interesting stuff, and I’m still trying to keep current independently, via services like Pluralsight and Safari, and podcasts like .NET Rocks and Hanselminutes. So I guess I’m still on the right career track.

Learning Power BI

I’ve recently started trying to learn about Power BI, since it looks like we’ll be using it at my job soon. We first started talking about Power BI in 2016; at that time, I looked into it a bit, decided it probably wasn’t something that was going to work out for us, and didn’t really follow up on it. And my boss didn’t follow up with me on it, so I figured it was dead or on the back-burner. I guess it was the latter, since it’s come up again. This time, it sounds like maybe we’re a bit more serious about it than last time, so I’ve been spending a lot more time trying to figure it out than I did back in 2016.

I’ve never really done much BI work, though I’ve done plenty of work around the edges of BI, and have dipped my toes into more serious BI from time to time. I’ve done a lot of ETL work, and that seems to be a big aspect of BI.

To get myself up to speed, I first took a look at what was available on Pluralsight. I started with a course called Getting Started with Power BI, which was a pretty good intro course that just zoomed through a lot of stuff quickly. Then, I watched a course called Introduction to Data Warehousing and Business Intelligence, which helped me get some background info on the current state of BI and data warehousing. (I was already somewhat familiar with the general idea of cubes, but didn’t really know much about them.)

After that, I decided to dig more deeply into the Power BI Desktop tool. This is a free tool from Microsoft that’s actually pretty good, and could be useful as a standalone tool, even if you’re not plugged into the whole Power BI cloud thing. I’m currently reading a book titled Pro Power BI Desktop. It’s covering the product in a lot of detail. (Maybe too much detail. It feels a little like this book doesn’t really need to be 761 pages long. But it’s a pretty good book, overall.)

There’s also a free course on EdX about Power BI. I might give that a try, if I feel like I need to. The course is part of a Microsoft Professional Program in Data Science that’s all available on EdX, and which looks pretty interesting. I’d love to do it all, if I had a lot more spare time than I currently have, and if I wouldn’t miss the $990 it would cost to officially enroll in it and get the certificate from it. The path I’m on now is more about simple BI rather than fancy data science, but I’m really curious about that stuff. I was listening to an episode of Hanselminutes this morning on machine learning and data science, and it was really interesting. I wish I had the time to figure it all out.

Back on the subject of Power BI itself, I was leery about it back in 2016. Microsoft sometimes introduces products like this that don’t last long, or that are overly complicated or expensive, given what they do. Power BI looks like it might actually be a winner though. The Desktop tool is quite versatile and useful even without the cloud service. I’m still trying to figure out whether or not it’s worth buying into the whole ecosystem though. You can do a lot with it for free, but the cost could get pretty high if we start using it for a lot of enterprise-level stuff.

Catching up on some manga

Over the last couple of months, I’ve been working my way through a few old manga series that I started reading about ten years ago, but abandoned at some point. This all started with Rurouni Kenshin, back in November. I finished that series right around Christmas, with volume 28. (I’d previously read 1-19.) After that, I picked up on Ai Yori Aoshi. I’d read the first 13 volumes of that more than ten years ago, and finished the last few (14-17) in the week between Christmas and New Year’s. Then, I picked up a short 10-volume series called Remote. I’d previously read the first six volumes. Right around New Year, I reread all of those, and then continued through the last four.

So that knocks a few things off my list. I had a lot of fun reading these. I have a few other series sitting around that I’ve either started and abandoned or bought but never started. So I’m thinking about continuing (or starting) those too.

One of the oldest and longest-running series on my list is Oh My Goddess. There are 48 volumes for that one, published in the US by Dark Horse, from 2002 through 2015. I have about half of the volumes between 1 and 20. I picked them up out of discount bins at a couple of conventions, a long time ago, so I was picking up what was available, figuring that maybe I’d fill in the holes at some point. I’ve read three of them. I guess I could just start reading what I have and see if I want to pick up the rest. Forty-eight volumes is a lot though. From what I can remember, it was the kind of series where it’s OK to dip in and out. I don’t think it was one long story. And I remember it being pretty funny.

I also have a fairly random sampling of Battle Royale volumes. That’s a 15 volume series; I have six of them. Again, they all came out of a discount bin at a con long ago. This one, I think, really is one long story, so I’m not sure if just reading six random volumes out of 15 is going to be any good. The series was originally published by Tokyopop before their shutdown, and is currently out of print in the US (as far as I can tell), though it’s not hard to find used copies on Amazon for less than their original cover price. Tokyopop made the interesting choice to bring in Keith Giffen to do an English “adaptation” of this series, so it’s not just a straight translation. I’ve seen mixed opinions on this, but it seems like most fans would have preferred a more direct translation.

There’s one more short series I have part of: Planetes. This was originally published as a five-volume series. I have the first three. (Technically, it was a four-volume series, but the fourth volume was split into two in the US.) The original publisher was Tokyopop; it was re-released by Dark Horse not too long ago, in two large omnibus volumes. I could probably get what I’m missing by picking up the second Dark Horse omnibus. I’ve been really curious about this series, since it’s generally gotten very good reviews. It’s supposed to be a hard SF series, which would be unusual for manga. (Most manga SF falls into the over-the-top space opera sub-genre.)

This has all got me thinking about the long and checkered history of manga publishing in America. I found a good article about this history on Anime News Network. Most of the manga I mentioned above was bought during the big manga boom of the early 2000’s, around 2000-2005. But I remember buying some of earlier stuff that came out of Eclipse/Viz in the late 80s, along with Lone Wolf and Cub from First, and Akira from Marvel.

Speaking of Lone Wolf and Cub, I should really pick up the Dark Horse collections of that, published from 2000-2003. They printed the whole series, whereas First only got through about a third of it. And the Dark Horse volumes are available digitally, so I don’t have to worry about even more manga paperbacks cluttering up my apartment. But maybe I should wait to buy those until after I’ve gotten through the rest of the stuff I already own.

 

FastMail migration follow-up

I started switching from Gmail to FastMail back in May of last year. I’ve been using FastMail as my main personal email account now for about six months, and it’s been working fine. I’ve got no regrets about switching. I was actively working on switching my many online accounts over to using my FastMail address through most of May and June. I hit a few snags, but I’d say that I got about 90% of them switched over by the end of June. After that, I’d switch over a straggler here and there, as they came up, but I was about 90% on FastMail.

To start this year off, I thought I’d go the next step and finally migrate all of my old Gmail messages over into my FastMail account. I did that on New Year’s day, using FastMail’s import tool. It took about 4.5 hours. I had a little over 40,000 emails in my Gmail account. That’s a little over 2 GB. My FastMail account now has about 2.5 GB used, so about 10% of my 25 GB limit. The migration went smoothly, and everything (as far as I can tell) got pulled over cleanly, with no obvious issues. I definitely have some duplicate emails in there, since I had messages with multiple Gmail tags on them, and FastMail sees tags as folders. But I have enough room that I don’t really need to worry about that.

I have also, finally, set Gmail to forward new email to FastMail, so I don’t really need to check my Gmail account at all anymore. At some point, I’m going to go into Gmail and delete all the old mail out of the account, but I’m not in a big hurry to do that. I also haven’t set Gmail to delete new mail after forwarding it, though I might do that eventually.

As long as I was going along this path, I decided to also look into consolidating my other accounts into FastMail. I have way too many email accounts, honestly. I have a POP3 account from my cable internet provider. That used to be my primary email account, years ago, before Gmail even existed. They have no built-in way to forward it to another account, so I have FastMail set up to collect mail from it via POP3, periodically. That works fine. I get very little mail in that account these days.

Then there’s my outlook.com account. I briefly considered switching to Outlook.com Premium rather than FastMail, but decided against it. Premium was a half-baked product when I first evaluated it. It appears to have gotten a little better, but I still wouldn’t recommend it. I went as far as actually setting it up with my own domain (the same one I’m using with FastMail now). That was a mistake, since there was no way to unhook it once it was set up. So, ever since then, outlook.com has assumed it was handling that domain, and that I simply had it misconfigured (rather than having purposely pointed it to FastMail). They have, finally, added the ability to unlink a custom domain, so I did that last week. And I set the account to forward to FastMail and delete forwarded messages. So I can stop worrying about that account now, I think. (I don’t actually want to delete the account, since I’m not sure if I can do that without messing up my Microsoft ID, which I do actually need, for my Office 365 subscription and other stuff.)

I also have an iCloud account. I’ve had that one since back when it was “.Mac”. (2002 maybe?) I’ve never really used it for anything other than Apple-related email. This is another one I probably can’t rid of, since it’s tied to my Apple ID and all that stuff. But I’ve now set that one to forward to FastMail, and migrated what little mail I had in there to FastMail. (i’d have a lot more mail in there if I hadn’t lost a bunch of it a few years ago, but that’s another story.)

I have a Yahoo mail address too, which is the address I give out when I need to give my address to someone I really don’t want to get email from. (For instance, most retail stores.) So that one just sits there piling up with spam from Foot Locker and other random stores I bought a pair of socks from once. I don’t really want to forward that one to FastMail, so I’ll just leave it as it is.

So now I’m largely in control of my email, with my own domain, under a paid account from a stable provider whose main business is email. (Which was the main idea of this whole thing, though I kind of lost track of that at some point.)

I’ve also added my FastMail account to Outlook 2016 on my PC and the Apple Mail client on my MacBook. I’ve been primarily interacting with FastMail through their web interface (and through their iOS app), but I thought it would be useful to link it to a couple of desktop email programs, as a bit of a backup. Since it’s an IMAP account, though, a desktop email program really doesn’t count as much of a backup. The program is just reflecting what’s on the server, so if a bunch of mail was accidentally deleted, the program would just mirror that when it synced. I’m thinking about various email archive and backup solutions, both for PC and Mac. On the PC side, MailStore Home seems to be the obvious candidate. Or I could just create a .PST archive file in Outlook and copy my old mail to it. I have a few .PST archive files already, from old POP3 accounts (from back in the good old dial-up internet days). On the Mac side, EagleFiler looks interesting, though not exactly what I want. Email Archiver Pro is also a possibility, and maybe a little closer to what I need.

 

Twelve Days of .NET: Day 13: LINQPad

This post is part of my 12 Days of .NET series. This is a (not terribly ambitious) series of posts on .NET topics that came up while I was working on a recent C# Web API project.

I decided to add one more post to this series, so now it’s a baker’s dozen, I guess.

I went through a little exercise about a year ago, looking at various C# REPL options. I played around with a few options, but never really settled on one as being really useful and, for me, any better than just writing a quick console app.

Somehow, in all of that, I’d completely forgotten about LINQPad. I’d first looked at it all the way back in 2007, and was using it pretty regularly for a while. I stopped using it at some point and forgot about it. I probably stopped using it because I’d switched to Snippet Compiler. Snippet Compiler is pretty much dead now, I think. If I’d been paying attention, I would have switched back to LINQPad years ago, like this guy did.

I saw a reference to LINQPad recently, in a reddit post, and took a look at the current web site. It seems to have matured into a really great, full-featured, product. There are both free and paid versions. The free version is probably good enough for me, but the pro version is only $45 and adds some nice features.

Twelve Days of .NET: Day 12: Getting Started

This post is part of my 12 Days of .NET series. This is a (not terribly ambitious) series of posts on .NET topics that came up while I was working on a recent C# Web API project.

OK, so the last day is a weird place for a “getting started” post, but I’m just about out of other stuff, and I remembered a good article on this. The .NET ecosystem is getting pretty complicated, with Visual Studio Pro vs Visual Studio Code and .NET Framework vs .NET Core and a bunch of other decision points along the way. Here’s a good blog post with a flowchart for figuring out which direction you should go in, if you’re starting a new project and you’re kind of clueless.

Twelve Days of .NET: Day 11: HttpClient

This post is part of my 12 Days of .NET series. This is a (not terribly ambitious) series of posts on .NET topics that came up while I was working on a recent C# Web API project.

The standard way to call a REST API in .NET is to use HttpClient. I don’t think HttpClient existed yet when I first needed to interact with REST web services, several years ago. I remember using something called RestSharp, which, I now see, still exists and appears to still be actively maintained, with some fairly recent commits. (Including several on Christmas Eve!)

Here’s a good overview article on how to use HttpClient. And here’s an important blog post on how NOT to use it.

And here’s another interesting blog post, that goes a lot deeper into disposal and finalization with regard to HttpClient. (I have to admin that I’ve only skimmed this post. But I should really read it.)

One surprising thing I discovered while working on my current project is that HttpClient doesn’t have a PatchAsync method. The workaround is pretty easy, and can be found in that linked GitHub issue, and in a number of StackOverflow answers.