Kindle EPUB support

This is a follow-up to yesterday’s post about file formats. I saw an article on The Verge today about Amazon’s support for EPUB on Kindle. The article is really just restating this other article from Good E-Reader. Both articles, I think, are slightly wrong. The documentation from Amazon lists EPUB as currently being supported by the Send To Kindle email service, with support for EPUB coming to the Send To Kindle applications in late 2022. A minor point, but I’m pretty sure that sending EPUBs to the Kindle works now, as long as you do it via email.

And it’s worth noting that this isn’t native EPUB support on the actual Kindle. It’s just support for automatic conversion from EPUB as part of the Send To Kindle service.

fun with file formats

I’ve been reading some random old stuff from an old Neil Gaiman Humble bundle recently, and I’ve hit a couple of snags with files. I thought writing up some notes on that might be useful.

First, I was trying to read two old comics from the bundle. I’d loaded both, in CBZ format, to my iPad in the Panels app. Both were black & white comics, originally published by Knockabout Comics. I think they were probably published in a larger format than typical American comics. And it seems that they didn’t do a good job of scanning them in and digitizing them. So they were a little too blurry for me to read. I first tried copying the PDF versions into Panels, to see if they were better. They were, but not by much, and zooming them didn’t work well. Then I got the idea to try the same PDFs in GoodReader. I bought GoodReader a long time ago, and don’t really use it that often. But it turns out that it’s a much better PDF reader than Panels is. So the lesson here is: stick with GoodReader for PDFs.

Second, I decided to copy a couple of the ebooks from the bundle to my Kindle Paperwhite. The easiest way to do that is to email them to the Kindle Personal Documents Service. This service has changed a bit over the years, but, in general, it allows you to email DRM-free ebooks to a special address, and they’ll get converted to Kindle format and pushed down to your Kindle. I had some problems with it this time.

The service is supposed to support both EPUB and MOBI files right now. I’m fairly sure that it didn’t support EPUB until fairly recently. And the support page for it right now says that it’ll stop supporting MOBI files later this year. I’ve always thought of MOBI as the Amazon/Kindle format, and EPUB as the “everybody else” ebook format. The MOBI format was created by Mobipocket in 2000. The company was bought by Amazon in 2005. The original AZW format used for DRM’d Kindle books is a variant on MOBI.

Anyway, I tried sending both MOBI and EPUB versions of the books to my Kindle and they all failed. That led me down a bunch of paths that didn’t lead anywhere interesting. Finally, I got the bright idea to email the files from my PC instead of my Mac. These days, I don’t think there’s any reason the files would be different on the Mac vs the PC, but it seemed like it was worth a try. And indeed it worked when I emailed the files from my PC. On both platforms, I used the web-based Fastmail interface, running in Firefox, so it can’t be a browser thing or an email client thing. So I’m pretty confused about that. I guess the lesson from this one is to always email docs from my PC instead of my Mac when using the Send to Kindle service.

Overall, I think I’ve now spent more time today screwing around with files than I have actually reading anything. But that happens sometimes. And that’s OK. I’m one of those weirdos who can have fun with this kind of troubleshooting.

Scrum and tech learning follow-up

This post is a follow-up to my previous post on scrum and tech learning. Since then, I’ve finished reading The Elements of Scrum, via my (work) Percipio account. I’ve also downloaded the audiobook version of Scrum: The Art of Doing Twice the Work in Half the Time, from my (ACM) Skillsoft account. I normally wouldn’t think about consuming tech books in audio format, and most of them wouldn’t work that way. But maybe a scrum book would be comprehensible as audio, so I’ll give it a try.

There’s another scrum book I was considering, Scrum: A Pocket Guide, which I’ve found is also available in audio format, via the author’s YouTube channel. So, in this case, you can actually watch the author sitting at his desk, reading his own book. I don’t think I actually want to do that, in this case, but it was nice of him to do that and put it out there for free.

Meanwhile, I logged in to my ACM O’Reilly account today, to see if there was anything I really wanted to watch or read before the account gets shut down. I decided to take a look at Bob Martin’s Clean Code video series. I watched the first hour-long video. There’s about fifty hours of video in the series, all told. In O’Reilly, it’s organized as a “Learning Path” with the videos interspersed with chapters from his Clean Code book. I’ve been meaning to read that book for a while. It was published in 2008, so it’s probably a bit out of date at this point, at least in terms of some of the specifics. For the videos, you can also find them for sale at the Clean Coders web site. (They’re not cheap.) You can find a few on YouTube. Here’s a link to the first one, which is the one I watched today. (I think the one I watched on O’Reilly is actually a revised version of that.) He definitely tries to keep it interesting, with a bunch of different costumes and backdrops, including several Star Trek ones. It comes off as pretty corny, but I guess it’s better than just watching him read through the material at his desk.

With the changes we’re going through at work, I’ve decided that now is a good time to back up a bit and think about what new stuff I need to learn, or old stuff I need to reinforce and/or brush up on. I’ve probably read enough on scrum by now, though I may branch out and read up on some related topics. And the Clean Code stuff is the kind of thing I like to check out occasionally, to remind myself of some of the fundamentals of good coding, and maybe learn a few new things that I hadn’t stumbled across before.

I’ve also been listening to some of the recent podcast episodes from .NET Rocks around the twentieth anniversary of .NET, which happened back in February. (I stopped subscribing to .NET Rocks a while back, so I don’t listen to it every week, but I go in and cherry pick interesting or relevant episodes once in a while.) Listening to folks like Anders Hejlsberg, Scott Guthrie, and Miguel de Icaza reminisce about .NET was fun. And it got me thinking about what new stuff is going on with .NET that I should learn. Maybe Blazor? Or I should figure out what’s new and interesting with .NET 6? Or I should try to get back into F# again? I don’t know. Maybe I should pick up this Apress Microsoft book bundle from Humble. That would keep me out of trouble for a while, right?

Scrum at work, and tech learning subscriptions

My team at work is going through some changes right now. We’re getting shuffled to a different spot in the IT department hierarchy and getting a new boss. And we’re supposed to start doing scrum.

Actually, we were supposed to start doing scrum almost a year ago, and we kinda started doing it, but we didn’t really go all the way with it. So now, I guess, we’re supposed to go all-in. Or almost all-in. Or something like that.

Anyway, I watched some training videos for scrum last year when we were supposed to start using it, so I already have some understanding of it. But now that we’re going to be going further with it, I decided to do some more reading on it and try to learn more about it.

I wanted to read a book on scrum, and since we’re using Azure DevOps, I decided to try this one: Professional Scrum Development with Azure DevOps, from Microsoft Press. I started reading it in March, and finished it a couple of weeks ago. It wasn’t a bad book, and it does cover the Azure DevOps scrum process pretty well, but it was also pretty dry, and I’m not sure that a lot of it is really going to be relevant to me.

I’ve also considered reading Zombie Scrum Survival Guide. It might be a little cynical to assume that our implementation of scrum is going to fit the definition of “zombie scrum,” but I suspect it might, and I’m not sure what the best way would be to engage with that.

And A Scrum Book: The Spirit of the Game might also be a good general scrum book to read. Honestly, it looks a bit daunting though.

On the related general subject of tech books, I’ve recently learned that ACM is going to lose access to O’Reilly Learning (previously known as Safari) in July. That’s quite a disappointment, but not entirely surprising. ACM got access to the full Safari library in 2017. That always seemed a bit weird to me, since an ACM membership costs about $100/year, and a regular individual O’Reilly membership costs $500/year, raising the question of why anybody would buy one through O’Reilly rather than just signing up for ACM. I guess that logic finally caught up with them, so now they’re cutting it off.

O’Reilly has offered ACM members a $100 discount, so that would bring it down to $400/year, but that’s still a lot of money, and the discount is only good for the first year. I generally only read a few tech books each year, and I can generally buy them for $40 or $50 each, so I guess it’s not going to be worth it to sign up for a paid O’Reilly account.

ACM still has SkillSoft, and I think I still have access to Percipio through work, but neither of those has the broad selection of tech books and videos that O’Reilly has. (And I think SkillSoft and Percipio are actually the same thing, under different names, possibly with slightly different libraries?) I also have access to LinkedIn Learning, both through work, and (last time I checked) through the local public library. LinkedIn Learning really just has videos though, no books. And their video courses generally aren’t as in-depth as the stuff I could get through O’Reilly. I discontinued my Pluralsight subscription this year, so I don’t have that anymore, either.

For now, I guess I’ll take a look at Skillsoft/Percipio when I’m looking to read up on a new tech subject, and see what they’ve got. When I really want a specific book that they don’t have, I’ll probably just buy it from Amazon or directly from the publisher. I’ve been trying not to buy physical tech books anymore, and O’Reilly has certainly helped with that. A lot of the tech publishers still offer direct sales of DRM-free ebooks, so I’ll probably go that route when I can, rather than getting the DRM’d versions from Amazon.

fourth shot

On Monday of this week, I got my second COVID vaccine booster shot. So my vaccine card is full now. The first shot was in April 2021, the second in May 2021, and the first booster was in December 2021. I should be used to the vaccine side-effects by now, but I was a little surprised about how bad it was this time. I was fine Monday and Tuesday, but then it hit me on Wednesday, and I had to take a half-day Wednesday and a full sick day Thursday. I’m pretty much back to normal today (Friday).

I assume this was the vaccine side-effects, but it could have just been a cold that I got, coincidentally, right after the vaccine shot. I did go out to dinner on Tuesday, so maybe I picked up some germs there. It was a small restaurant, and it wasn’t crowded, so I figured I was relatively safe.

We’re going through a lot of changes at work right now, and I’m pretty busy, so this wasn’t a great week to lose a day and a half, but hopefully I can catch up next week.

I have a bunch of other stuff that I want to blog about, but I don’t really have my thoughts organized. For now, I just wanted to post something about the vaccine booster, for possible future reference. I’m assuming that I’ll probably need one or two more boosters this year, given the way things are going. Maybe in August and December? It’ll be interesting to come back to this at the end of the year and see how things are going with COVID. Will things get better? Worse? Both? Neither?

Not At WonderCon

I was a little surprised to see a mention of WonderCon in my Twitter feed this morning. I knew they were doing an in-person show this year, after skipping 2020 and 2021, but I didn’t realize it was this weekend. I went to the show in 2019, and that was the next to last time I did any air travel. (The very last time was the Microsoft workshop I went to in Redmond in May 2019.)

It doesn’t look they’re doing anything virtual for WonderCon this year. At least, I haven’t seen anything posted. That’s a little disappointing, since I’ve enjoying watching some of the virtual panels they’ve done over the last couple of years for WonderCon and Comic-Con.

After my relatively short trip to Albany recently, and how sick I got after that, I’m definitely not ready to hop on a plane and fly out to California. Maybe next year!

new MacBook Air

I finally gave in and bought a new MacBook Air today, so this is my obligatory “I bought a new computer” post. The old MacBook Air was crashing a lot, and nothing I tried helped. I could have sent it in to Apple for service, but my AppleCare had expired and it seemed like maybe it would be better to just get a new one. So I got the current MacBook Air with a 512 GB drive and 8 GB of RAM. My old one only had a 256 GB drive, and that was always a problem, so it’s nice to get back to a reasonably sized drive. As for the RAM, that’s the same as the old one. The big difference between old and new is the M1 chip, I guess. The old one was an Intel i5. So far, I haven’t noticed any speed improvement, but I don’t do anything really CPU-intensive, so it probably won’t make much of a difference.

The old MacBook lasted for almost four years. I bought it in May 2018. I guess that’s a good run for a modern laptop, but I wish I could have kept it going for another year. The new one cost me $1250, bought directly from Apple. With AppleCare, a USB to USB-C adapter, a USB-C to Lightning cable, and sales tax, the total was a bit over $1500. And I arranged to trade in the old one for $270, assuming they accept it and decide it’s in good enough shape.

Migration from old to new was pretty easy, using the Migration Assistant. At first, it looked like it was going to take a long time, but then I moved the laptops closer to each other, and it sped up considerably. I think it might have switched from using my wifi network to a peer-to-peer connection, maybe using Bluetooth, when I did that. I’m not really sure how that works. Migration was much simpler than the nuke & pave that I did on the old one a while back. (Though I think that doing that clean install probably helped this migration run more smoothly.)

One thing I figured out after the migration is that I had a few Intel-only apps, so they required Rosetta 2 to run. Evernote was one of them, which I thought was a little weird. It turns out that there is a Universal version of it, though, and I just had to delete it and reinstall it from the App Store to get the Universal version. I tried doing the same with OneDrive, but apparently the Universal version of that still isn’t in the App Store.

I guess the next Apple item up for replacement is going to be my iPhone XR, which I bought in January 2019, and is starting to show its age. Then maybe my iPad Air, which I bought in April 2019. I think the iPhone is going to need to be replaced relatively soon, but maybe I can hold off on the iPad until next year. I wish these things would last longer, but I’m resigned to having to replace them all every few years now, I guess.

Back home and sick

My trip up to Albany earlier this week was a success, in that I got there and back in one piece, went to my friend’s wife’s funeral service, and generally had a pleasant time, catching up with old friends. I have gotten sick now, though, as I expected/feared.

I took a COVID self-test yesterday, and it came back negative, so it’s probably just a cold. I might take another test today or tomorrow, just to be sure. (The tests come in two-packs, so I might as well use both, now that I’ve opened the pack.)

I tried to be careful about things on this trip, of course. I wore my mask most of the time, while out in public. Mask compliance was pretty good on both NJ Transit and Amtrak. Once in Albany, I used Uber to get around, and mask compliance wasn’t 100%, but most drivers were still wearing masks. In Troy & Albany, most people in public weren’t wearing masks. At my hotel in Albany, most workers and guests weren’t bothering with masks. At the funeral service, everyone was wearing masks. Afterwards, though, they had a get-together at a local bakery, and most folks (including me) dropped the masks. It’s hard to drink coffee and eat muffins with a mask on. That get-together was quite nice, but it’s probably where I picked up whatever germs are making me miserable right now. Or maybe it was in the train station in Newark or New York. I guess it doesn’t matter. The end result is that I haven’t been real productive at work the last few days, and had to take a half-day yesterday. Hopefully, I can get better over the weekend and have a good week next week.

I think the lesson I’m taking away from this is that I’m still not ready to get back out into the world in a big way. I need to stick close to home, for the most part, and carefully consider any trips that bring me into crowded public spaces, or on public transportation.

Scary Travel

I’m getting ready to go on my first trip outside of NJ or NYC since 2019. And I’m spending maybe too much time this morning obsessing and worrying about it. It’ll be a trip up to Troy NY, where I went to college, for a friend’s wife’s funeral service. I’ll be taking Amtrak from NYC to Albany tomorrow, staying overnight in Albany Sunday and Monday, and coming back on Tuesday morning.

This trip will definitely involve much more human contact than I’ve had since before the pandemic began. (I guess my NYCC trip last year got me close to a bunch of people, but that was a one-day in and out trip.) I’ll be taking NJ Transit into NYC, then changing to Amtrak. I’ll be staying in a hotel for two nights. And of course I’ll be at the service. I don’t really know how many people will be there, whether or not they’ll be masked, or how many are coming in from out of state. So lots of opportunity for virus transmission. And also for weird and/or awkward interpersonal encounters.

NJ Transit and Amtrak both still require masks, so that’s good. But I know that mask compliance has probably gone down over time. I know from experience that NJ Transit won’t make a big deal of it if somebody isn’t wearing a mask. I’m not sure about Amtrak.

This is also the first time I’ve ridden Amtrak in many years. As far as I can tell, it should be pretty straightforward. I have coach tickets both way. Coach on Amtrak looks like it should be reasonably comfortable. And it looks like boarding an Amtrak train is still much more straightforward than getting on an airplane. I won’t need to check any bags, and I don’t think they have any kind of security around carry-on bags, so I don’t need to worry about whether or not I have a plastic fork in there or more than three ounces of shampoo or whatever else is forbidden by the TSA these days.

I’ve built enough slack into my schedule to allow for NJT or Amtrak delays. The service is Monday, and I’m going up on Sunday. I think that Amtrak generally has enough flexibility that, if my NJT train to NYC is late and I miss the Amtrak train, I can get on a later one. And I’m going to take a NJT train that should get me into NYC about an hour before the Amtrak one leaves.

And the two nights in the hotel give me some flexibility and allow me to go to the service on Monday without having to drag my luggage with me and worry about getting from there directly back to the train station.

Still, I’m kind of freaking out about the trip. Worried about getting sick before it and having to cancel. Worried about travel issues. Worried about forgetting something. Worried about getting sick after the trip. Oh well.

Whenever I go on trips like this, I spend a lot of time thinking about what devices I’m bringing and what I’m leaving home. For this trip, I plan on bringing my iPhone (of course), AirPod Pros, iPad, and Kindle. I sometimes bring a Bluetooth keyboard for the iPad on a short trip, but I think I’ll skip that this time. Both my iPhone and iPad are old enough that their batteries don’t hold as much of a charge as they used to. I’m pretty sure Amtrak has power outlets at every seat, so I should be able to charge them up on the train. Another thing I’ve gotten paranoid about in recent years is the possibility of completely draining my iPhone battery, then not being able to use it for an Uber, or to show my ticket on the train. I do have an Anker battery back that I can use in a pinch, but that’s also a few years old and I’m not sure how much of a charge it holds these days.

And my last bit of uncertainty and slight paranoia comes from not having a real set schedule for what I’m doing while I’m in the area, outside of obviously the service itself. I know that some old friends will be around, but I’m not 100% sure who’s coming in or when they’re arriving or departing. So there might be people around on Sunday night who I can go to dinner with, or there might not. And there might be people looking to go to lunch on Monday, or there might not.

I’m just looking back at some notes, and I’m pretty sure that my last major trip was to Redmond in May 2019 for a Microsoft workshop. Looking back at my post-trip blog post on that, apparently that trip took a lot out of me. This will be shorter trip and doesn’t involve any cross-country airplane flights, or time zone changes, so this one shouldn’t be too hard on me.

Anyway, this overly-long post is just a dumb way for me to work out some anxiety and fill a little time between getting my laundry done and grabbing lunch today. I don’t think I’ve managed to say anything witty or useful, so my apologies if you’ve read this far, thinking there would be something good or funny in here.

Weird Story

This is a completely trivial story, but it’s one of those things where something a little weird happened, and I can’t figure out a reasonable sequence of events that could result in the outcome, so it’s bothering me. Anyway, here’s the story:

I ordered some random stuff from Amazon a few weeks ago. Perfectly normal stuff. Granola bars and some other stuff. I order a lot of stuff from Amazon, and I haven’t had a problem with a delivery in ages. But this package just disappears. I get the notification that it was delivered, via USPS. I’m working from home that day, so I go downstairs and look for it. It’s not there.

Now, sometimes a package gets marked as delivered and it’s not actually there yet. I assume that’s the delivery guy trying to tweak his metrics or something, so it looks like he’s on schedule when he’s actually behind. But the package doesn’t show up by the end of the day.

And sometimes there’s a little mix up, where maybe a neighbor picks up the wrong package, realizes it, and then brings it back down to the foyer. So that could delay it a day. Or the mailman thinks he dropped it off, but it’s still in the back of his truck, so he drops it off next day. But a few days go by and the package doesn’t show up, so it’s nothing like that.

So I do the online customer service thing with Amazon and they cheerfully agree to send me a replacement shipment, which I get the next day. So all is well, and I go on with my life.

Then today, almost three weeks after the original package was meant to be delivered, the package appears, right outside my door. It’s been torn open, but there’s nothing missing or tampered with. And there’s no note.

So the likely reason for this is that one of my neighbors picked up the package accidentally, has realized that, and is now giving me the package. But I can’t figure out several things:

  1. The label on the package is perfectly clear and correct, with my name and apartment number. So it’s not a case where the label was damaged or something. So why did they pick it up in the first place?
  2. Even if someone picked it up accidentally, why did they open it? Once they had it in their apartment, it would have been hard not the notice the name and address.
  3. Why did it take them three weeks to get it back to me? It’s got to be someone from here in the building, so it’s not like they would have had to go very far with it.
  4. Given that they opened the box and sat on it for three weeks, why didn’t they write a little apology note? If they’re embarrassed about it, they wouldn’t have to sign it.

I know it can’t be a “porch pirate” kind of thing. If it was somebody taking it with the intent of stealing the contents, I don’t think they would have bothered returning it to me when they realized that it wasn’t anything good. They would have just tossed it.

The only sequence of events I can come up with is something like this:

  1. Neighbor picks up package, thinking it’s theirs. Doesn’t look at it too closely, and doesn’t open it when they get back to their apartment.
  2. Neighbor goes away on business for a couple of weeks. Or maybe they just toss the package in a corner and forgot it about it for a couple of weeks.
  3. Neighbor gets back home (or notices package that’s been sitting unopened for weeks) and opens the package. (Again, without actually looking at the label.)
  4. Neighbor realizes the contents aren’t theirs, finally looks at the label, and then walks the package over to my apartment. Maybe they knock on my door, intending to apologize in person, but I’m out. (I was out when it was dropped off.)

So that’s semi-plausible, but still pretty weird. And yes, it’s completely trivial. But now I feel guilty for paying for all this stuff once and getting two of everything. I guess I shouldn’t feel bad about that though. Amazon has plenty of money, and sending me two boxes of granola bars for the price of one isn’t going to bankrupt Jeff Bezos.