A busy day in New York

I took a trip into New York City today to see a few things. First, an overdue trip to the Met to check out Seurat’s Circus Sideshow. As a young computer nerd, I was always fascinated by Seurat, as his method seemed particularly relevant and even prescient: putting images together pixel by pixel. The exhibit isn’t a general Seurat exhibit, rather it’s an exhibit of one particular painting, and a bunch of related material, some by Seurat and some by other artists. The Times has a good overview article on the exhibit.

I then walked up to the Guggenheim. I wanted to see Jackson Pollock’s Alchemy, and the little exhibit they have related to its restoration. The painting itself is at the very top of their main rotunda. The exhibit about the restoration is hidden away in the basement, and a bit hard to find. But it’s worth seeing, if you’re a Pollock nerd like me. The main exhibit in the rotunda is called Creating a Modern Guggenheim, and is kind of a catch-all exhibit of miscellaneous works from the Guggenheim’s collection. Aside from the Pollock, there’s a bunch of other interesting stuff, though there’s no real theme, other than “look at all this stuff we’ve got.”

Finally, I went to MoCCA Fest. I’d thought about going to MoCCA Fest before, but never quite managed it. I wasn’t really even aware of it this year, until I saw a mention of it yesterday, so I figured I’d stop by. MoCCA Fest is basically a comic con, but without all the low-brow superhero stuff. (I don’t say that judgmentally. I love the low-brow superhero stuff.) So it’s all indie comics and weird artsy stuff. They had a nice little exhibit of Drew Friedman’s art from his Heroes of the Comics books, and Friedman himself was there. I really love his work on those books, but I can never talk myself into buying them. Cliff Chiang was at the CBLDF booth while I was there. The Wonder Woman books he was signing were probably the most mainstream thing at the show. I’m honestly not that familiar with his work, but it does look interesting now that I’m poking around on the internet learning a bit about him. There were a couple of other guests I would have liked to have seen, David Lloyd and Gene Luen Yang, but neither one was around while I was there. I feel a little guilty that I left the show without having bought any books, but I didn’t see anything that I really wanted. I feel like I should be reading and supporting more indie comics, but there hasn’t really been much of interest to me lately outside the mainstream. Anyway, it was a fun little show, so maybe I’ll go back next year.

Overall, a good day, with decent spring-like weather and a fair bit of walking. Now I’m tired and need a nap.

Kensington Orbit trackball

I’ve been having trouble with my right shoulder recently. (Well, OK, by “recently,” I mean for the last twenty years or so. But it’s been getting worse lately.) I’m doing some exercises now, at the suggestion of my doctor, that might help. But I’ve also decided that maybe I’ve got a mouse problem. I currently use an ergonomic mouse, from Contour Design, and it works really well. It’s much more comfortable than any other mouse I’ve used. But I’ve been thinking that maybe I should give my right arm a rest, and try using a trackball with my left hand for a while, and see how that works.

So I bought a Kensington Orbit trackball and started using it today. I’m not having as much trouble with it as I thought I would. I’m not nearly as accurate with it as I am with my Contour mouse (and my right hand), but it’s workable. And I suppose I’ll get better at it if I keep using it. I might switch back to right-handed use at some point too. Maybe I’ll see if I can switch between left and right once a week or once a month, and see if that helps or if it just confuses things.

The Kensington Orbit is a pretty simple trackball, and cost me less than $30. It’s got just the ball, two buttons, and a scroll ring. The scroll ring works well; I think I’d be lost trying to use a pointing device of any kind that didn’t have some sort of scroll function. I miss having a third button though. I’m used to using three-button mice, and I do use the middle button (though mostly just in Firefox). I used Kensington’s software to map it so that when I press both buttons at the same time, that registers as a middle-button press. But pressing both buttons at the same time is a little awkward. Maybe if I decide that I like the trackball, but can’t live without having more than two buttons, I’ll trade it in for a fancier trackball.

 

Too Many Steps

I generally feel pretty good about myself if I manage to get in 7500 steps in a day. (I’m at about 6300 today, and that’s about average for a weekday.) I know that 10,000 is often cited as a good goal, but I rarely get that many.

Now, I’m reading that maybe 15,000 is the goal we should be shooting for. Yikes. For now, I’m going to pretend I never read this article and continue being happy when I manage to get past 7500, and ecstatic when I pass 10,000.

(In related news, I’m still wearing my Apple Watch every day and filling up the circles in my Activity app on most days. I almost always hit the “stand” goal. I usually hit the 30 minute exercise goal. And my move goal is currently set at 370 cal, which I hit maybe 5 times a week.)

Promised You a Miracle

I’m still working on the JavaScript project that I mentioned last week. I think I’ve nearly got promises figured out now. I’ve switched from using jQuery’s promises to using Q. I’m definitely doing enough weird stuff that the jQuery promise support was never going to work for me.

The documentation for Q isn’t bad. There’s a page on moving to Q from jQuery, and that was helpful, as is the API reference page.

This blog post on promise anti-patterns helped me figure out how to handle collections of promises. Q.all() and Q.allSettled() are very useful, once you figure them out. I get the feeling that, while my code works, I’ve probably still got a lot of anti-patterns in there, or at least some fairly sub-optimal constructions.

While working on this stuff, I found that the old Simple Minds song, Promised You A Miracle, started running through my head. I was really hooked on Simple Minds for a while there, back in the early eighties. I hadn’t listened to them or even really thought about them in years, so I’m enjoying a little nostalgia now, via YouTube. (Eighties music videos do look pretty cheesy now, though, huh?) Here’s a new version of the song, an acoustic version with KT Tunstall. It’s not bad.

Repealing Broadband Privacy Rules

As expected, the House voted to roll back the online privacy rules created by the FCC under the previous administration. The Senate passed the bill last week, so now it just needs to be signed.

There’s an opinion piece by former FCC chair Tom Wheeler in the Times, and a regular news article about the vote. And here’s the EFF’s blog post about it.

This happened on the same day that Trump rolled back Obama’s climate change policies, which is undoubtedly a bigger problem, but I’d like to think I can be indignant and upset about both.

My iCloud Password

After reading about the hacker group that claims to have a huge file of iCloud account credentials, I went ahead and changed my password. I realize that these guys probably don’t have my password, but you can’t be too careful. I hadn’t changed my password in a couple of years, so I was due anyway.

Apple’s password complexity requirements aren’t quite as bad as this comic indicates, but it can be hard to come up with a good iCloud password, when you remember that you’ll need to type it in with some frequency on multiple devices without physical keyboards.

In my case, after changing my password two days ago, I’ve had to enter it three times on my iPhone, three times on my iPad, twice on my Mac, and twice on my Apple TV. There really ought to be a way to cut down on that.

You need a VPN

Most of the media attention to congress right now is focused on health care, and rightly so. But the current congress is pushing through a lot of other stuff too, and one particular item recently caught my interest.

There is a bill going through the House and Senate to roll back broadband internet privacy rules enacted under Obama’s administration. It just passed the Senate, along party lines. There wasn’t much coverage of it in the mainstream media, as far as I can tell, but I did find one good NY Times article.

The House bill has not gone up for a vote yet. I was disappointed to see that my local rep, Leonard Lance, is one of the co-sponsors.

I first learned of this bill through a blog run by Private Internet Access, the company I use for my VPN. Here’s their article on the House bill, and another one on the Senate bill. Of course, it’s in their best interest to call attention to this kind of thing, and maybe exaggerate it a bit, but I don’t think they did that here.

And here’s an article from Consumerist that goes into some depth.

There is, of course, coverage of this at the EFF blog too. The EFF post includes the typical exhortation to “call your lawmakers today” to stop this from passing the House. In my case, I don’t think calling Lance would do me much good, since he’s never going to vote against legislation he co-sponsored. Oh well.

I haven’t really been using my VPN service when I’m at home, but maybe I should start doing that more often. There’s no need for my cable company to know how much time I’m spending looking at photos of corgis.

JavaScript, TypeScript, Promises, and callback hell

I’m working on a little project right now, where I’m pushing at the edges of my limited JavaScript skills. I’ve written a fair amount of JavaScript code in the past, but it’s mostly been simple DOM manipulation stuff with jQuery, and/or fairly straightforward Ajax calls. This new project requires a lot of nested calls to async functions that might succeed or might fail, and the whole thing is getting pretty confusing. Luckily, it’s not a high-priority project, so I’ve got time to mess around and try new things with it.

To start with, I’ve switched from plain JavaScript to TypeScript. There’s only a little bit of a learning curve there, since TypeScript is a superset of JavaScript. And I’m picking up TypeScript as I go. I’ve got one Packt ebook: Learning TypeScript, which was their free ebook of the day recently. It’s a bit out of date, but it’s a good start. I’ve bookmarked a couple of PluralSight videos on TypeScript too, but haven’t had time to watch them. I don’t like to add a new language into the mix for a real work project without careful consideration, but TypeScript seems to be relatively low-risk. It’s got some momentum right now, it’s got Microsoft behind it, and if it fails, I can always throw out the .ts files, work from the generated .js files, and pretend TypeScript never happened. (Not that I think that’s at all likely.)

I’ve found myself falling into “callback hell” on this project, so this video called “Redemption from Callback Hell” caught my attention. I’d already discovered promises, but I’ve been using the jQuery implementation, which apparently isn’t a great one. I guess I need to look into Q and the Promises/A+ spec. I’ve read a number of blog posts and articles about promises, but I’m still having some issues with figuring out how to handle some stuff with them.

I’m trying to avoid going down too many rabbit holes on this project, but going down a few is unavoidable. One of the reasons I was using jQuery promises is that I already had jQuery in the project and didn’t want to add another library. But I guess I’ll have to consider at least one more.

Thinking about email services

Seeing the changes to OtherInbox Organizer this past weekend got me thinking about email in general. I’ve been using Gmail for more than ten years, and I’ve been using Organizer since 2011.

Every once in a while, I consider switching from Gmail to a non-free alternative. I last looked into paid email services in 2014. Not much has changed since then, but a few things have. Generally, the trend seems to be towards offering more space and charging a little more.

FastMail is probably the best example, and the likeliest candidate, if I were to switch. Their basic account is $30/year, for a 2 GB mailbox. That’s probably not enough for me, since I currently have about 2.3 GB in my Gmail account. (Of course, if I switch, I don’t need to bring all of my old mail over, but I’d like to, if I can.) Their standard account is $50/year for a 25 GB mailbox, which would be more than enough. That also includes the ability to use your own domain. (When I last looked at FastMail, a few years ago, the standard account was $40 and included 15 GB of storage.) They’ve got pretty much all the features you’d want in an email service: a nice web interface, IMAP support, an iOS app, two-factor authentication, calendar/contact management, and support for importing old mail from Gmail (or wherever).

I signed up for a free ProtonMail account back in 2014, when the service was still in beta. At the time, I found it to be too limited to be really useful. Looking at it again now, I see that it’s improved quite a bit, and it’s seriously worth considering for use as my main email account. The main selling points for ProtonMail are security and privacy. So if those are your main concerns, definitely take a look at their service. They have a pretty good web-based interface (much better than it was during the beta), and an iOS app (that I haven’t tried yet). They don’t support IMAP, though, since that just wouldn’t work with their secure architecture, so you’re stuck with either their web interface or app. You can’t hook your account up to Apple’s mail app, or Outlook, or anything like that. Free accounts have a 500 MB limit. Paid accounts are $5/month for 5 GB. One other downside with this: they don’t support any easy way to import mail from another account. (And since they don’t have IMAP, you can’t use an IMAP-based migration approach either.)

I host this blog at 1&1, and I have access to 1&1’s mail services as part of my hosting account. Occasionally, I think about switching from Gmail and just using my 1&1 account for mail. There would be a couple of advantages there. First, I’m already paying for it, and second, I can easily use one of my own domains, which are all hosted with 1&1. The included mail service gives me an IMAP account with 2 GB of storage. They have a web interface, which is OK but nowhere near as good as Gmail’s (or ProtonMail’s or FastMail’s, from what I’ve seen of them). And they have an iOS app, though I don’t think I would ever use it. The 2 GB limit is a little low; you can up that to 50 GB by signing up for a “business” account at $7/month. They also have Exchange 2013 hosting for $10/month, including a 25 GB mailbox, which is kind of interesting.

Of those three options, FastMail is the only really good one for me, I think. The 1&1 basic mail account has that 2 GB limit, and bumping it up costs a bit too much. And their web interface isn’t great. The ProtonMail service is pretty cool, but without IMAP support, there are too many things I just wouldn’t be able to do.

Well, I guess I still haven’t talked myself into switching away from Gmail. At this point, the one thing that might push me into doing it would be if OtherInbox Organizer becomes a problem. Then, I might be able to talk myself into switching providers, as part of an effort to switch to SaneBox or some other system for organizing my mail.