paperwork

I just spent the last couple of hours cleaning up old financial paperwork. So, if you’re not interested in that kind of thing, move along, nothing to see here, etc, etc.

I’ve blogged before about my continuing struggle to keep up with my Merrill Lynch accounts, in terms of entering the statements into Quicken. For quite a while, I’ve resisted letting Quicken download those accounts, since there tended to be some annoying little problems with that process. So, I kept manually entering them. Well, I fell off that bandwagon at the end of 2010, and had just been letting the statements pile up since. As David Allen would say, I’d gone numb to it.

I used to just have two accounts with Merrill — a catch-all account (called a CMA), and a Roth IRA. Well, now, I have the CMA, the Roth IRA, a traditional IRA (created when I rolled over the 401(k) from NMS), and an inherited IRA (from my Mom). So, that’s really too much to keep up with. Today, I decided to “clear the decks,” as it were, and get everything set up to download into Quicken. I started by shredding a bunch of old statements, from 2008-2010, that were in my filing cabinet. Then, I sorted out the big pile of 2011-2012 statements, and put them away, organized in a reasonable fashion, in the filing cabinet. Then, I set up all the accounts to download into Quicken. The result (in Quicken) is a little messy, but it all adds up correctly, and I guess that’s all I need.

My plan from this point forward is to open each statement as I get them, review it at a high level, then file it away. Meanwhile, the activity will get downloaded into Quicken any time I’m in there, balancing my checkbook, so that will be at least once a month.

I guess the main reason for this blog post is so that I can remember what I did, and when I did it, so that I can review things later in the year, and see if this system is working out. My main goal for this year is to actually look at the statements when I get them, so I can call Merrill if something is wrong, or if I need to change anything. Now that I won’t feel burdened by the need to do data entry every time I get a statement, hopefully I can avoid the temptation to just pile them up without looking at them!

Unfinished Stories

After going for a few months without reading any comics, I decided to spend a bit of time, over the last couple of weekends, trying to put a dent into the big pile of unread books sitting on the floor of my bedroom. In particular, I decided to finally read a few “orphan” books that have been sitting in the pile for, oh, five years or so. I read the first (and only) issue of Daredevil/Bullseye: The Target last week. And I read the three comics that Grant Morrison wrote for the Worldstorm relaunch of the Wildstorm universe today.

I thought that Kevin Smith’s “The Target” got off to a good start, so I’m disappointed that it never got past that first issue. I don’t really have too much to say about it past that; I think it would have been a fun story.

The Morrison Worldstorm stuff was quite interesting, though I’m not sure if it would have really gone anywhere, long-term, or if it would have wound up being a disappointing mess. It would have been fun to see where it went, regardless, but maybe its collapse was inevitable. One interesting aspect of it is that, for an “event” that only resulted in one issue of Wildcats, and two of The Authority, there’s a good bit of writing about it available on the web. I found three pretty interesting articles, one at seqart.org, another one here, and one more here. And all three are from 2011. (The comics came out in 2006.) So there seems to be something about it that has engaged people, even five years after the books were published. I guess that’s the nature of pretty much any “grand plan” stuff cooked up by Grant Morrison.

Speaking of Grant Morrison, I’ve got a couple of other random mini-series written by him in my reading pile: Sebastian O and Vimanarama. I picked them both up at the same time, out of someone’s dollar box at a convention a while ago. And both series actually ran to completion, so it’ll be a nice change of pace to read stories that actually come to an end!

CBG, RIP

I just stumbled across this article by John Jackson Miller, talking about the end of Comics Buyer’s Guide. I had a subscription to TBG (as it was called at the time) back when I was in high school. I didn’t save those issues, as it came out every week, and was mostly ads, so there didn’t seem much point. But there was some good content in there, from people like Don & Maggie Thompson and Cat Yronwode. And some nice covers by folks like Terry Beatty.

I let my subscription lapse at some point, but I picked it up again and read CBG faithfully for quite a few years, before letting the subscription lapse again a few years back. Even though I hadn’t been reading it lately, it’s sad to see it go. I actually think I learned a lot about a number of subjects unrelated to comics from CBG, mostly from Don and Maggie’s writing. CBG was always very well-edited and well-written.

I see that Maggie is now writing for the Comic-Con blog. And other former contributors have also been blogging at various sites — John Jackson Miller has The ComiChron, Mark Evanier has News From Me, Tony Isabella has his Bloggy Thing. So I still get to read stuff from some of the best writers who appeared in CBG over the years. But I’ll miss the good old hard-copy version.

inbox zero

I always feel compelled to write a meaningless blog post every time I get my inbox to zero. So, here it is: I got my e-mail inbox at work down from about 400 messages to zero today. Everything’s been tagged and filed, or deleted.

My personal email inbox is up to 600 messages though. I cull stuff out of it periodically, but I haven’t gotten around to *really* attacking it in quite a while. Maybe that’s a project for next weekend!

constraint validation and polyfills

I really like the idea of the constraint validation stuff that’s built in to HTML5. I’ve never actually used it though, since it’s not going to work in older browsers. We tend to use the standard ASP.NET validation controls on most of our projects at work, and they’re certainly usable.

The article I linked to above has a section on a couple of options for polyfills, allowing the constraint validation to work with older browsers, though, so maybe I’ll give that a shot the next time I need to do some serious web form stuff.

Bullseye

The main product of the company I currently work for is a hosted store locator and lead manager service, named Bullseye. We’ve been concentrating on both improving it and marketing it recently, so there’s some fairly interesting things going on that I thought I would write up. I’ve mentioned some of these things previously, but I thought it might be useful to have a single consolidated post with some pointers.

We have a Facebook store locator, which you can find at https://www.facebook.com/BullseyeStoreLocator. The Facebook locator was an interesting project. The first iteration was outsourced to an external developer, and was completed before I started working for the company. Due to some major changes in the way Facebook supported app development, we had to do a lot of work on the Facebook locator in mid-2011. I did a pretty major rewrite of it, using the Facebook C# SDK (which seems to have moved to Github, and gotten a nicely redesigned website since I last looked at it). Since that rewrite, one of our other developers has been working on it, mostly adding new features. The most recent new feature is one that allows you to attach ‘like’ buttons to individual locations in the returned results, linking them to individual Facebook pages for each location. It’s described in a blog post here.

We also now have a Drupal module that allows you to easily implement a store locator in any Drupal 7 site. (I’ve blogged about this previously.) It’s still a sandbox project under my drupal.org account. Cleaning it up and getting it ready to be promoted to a full project is on my rainy-day to-do list. (I’ve done a bit of work towards that goal, but I still need to do some more.)

And we now have a way to import and sync locations from Salesforce into Bullseye. This was another component that was initially outsourced. I’ve done some maintenance work on the project, and it’s pretty interesting. We’ve implemented a way to filter the results that we pull in from Salesforce, using serialized LINQ expressions. I was initially leery about this approach, and there are still some things I don’t like about it, but if you need to abstract out and save complex filter conditions to a database, I guess there isn’t a better way to do it than this. The one difficulty is that it’s fairly difficult to read and comprehend the expressions, once they’re serialized, so it’s important to keep track of the original LINQ expressions, for reference.

CoffeeScript

I wanted to take a break from my usual .Net and Drupal stuff for a weekend, and try to learn something new. So I started reading Jump Start CoffeeScript today. CoffeeScript is a language, somewhat similar to Python in terms of syntax, that compiles into JavaScript. In theory, it makes JavaScript easier to use, and easier to read. I’m not entirely sold on it yet, but it’s interesting.

The book I’m reading is supposed to be a quick start, that you can get through in a weekend. It walks you through a sample application, an HTML5 game. I’m finding the sample code less useful than I’d like. It’s mostly drawing on the HTML5 canvas. I think I’d rather see code doing more typical stuff that you’d see being done on a typical web site. It’s hard to relate the canvas stuff to anything I’ve actually done before.

That said, it’s a pretty well-written book, and kind of fun. I had hoped to finish it tomorrow, but it looks like I need to take a trip into NYC tomorrow, and I’ll have company, so I won’t be reading on the train. And I’m working on New Year’s Eve, but maybe I can finish it on New Year’s Day!

Windows 8 Blues

It’s been a while since I’ve posted about Windows 8. My intention was to upgrade both my desktop and laptop to Win 8. My laptop (a ThinkPad Edge) is now upgraded, but, after several failed attempts, my desktop is still running Windows 7. One thing I can say about the Windows 8 upgrade process: if it fails, it does a great job of restoring back to Win 7. I’ve had, I think, three failed attempts to upgrade my desktop. Each time, the Win 8 installer figured out that things weren’t working out, and got me back to Win 7.

Meanwhile, my laptop has been working fine under Win 8 for several weeks. I used Start8 to get the Start Menu back, and I haven’t used the Metro interface at all, really. I have Start8 set up to take me straight to the desktop when I log in, so I really don’t even look at it.

I did have an issue on the laptop with Windows Updates this week though. Somewhere in the process of installing the most recent batch of updates, something went wrong, and left my machine unable to completely boot up. Win 8 detected a problem, and tried to automatically fix it, but that didn’t work. I used System Restore to go back to a restore point, and that got me up and running again, though there was some residual weirdness after that. I *think* I’m back to a stable state now, with all critical updates installed, but I’m not 100% sure of that.

So, for anyone looking for an opinion on Windows 8:
(1) It’s workable, if you do something the get the start menu back, and ignore the Metro interface.
(2) Upgrades from Win 7 are kind of an iffy proposition, but probably won’t destroy your machine if they fail.
(3) Once installed, it’s no less likely to go south than Win 7 was. (The BSOD looks different now, but it’s still a BSOD.)

Oh, and if you’re looking for some useful advice on  Win 8, check out these posts from Scott Hanselman and Paul Allen.

Amazon Web Services

My boss has gotten enthusiastic about AWS recently. We’ve messed around with a bit with in on a couple of projects, and also just for testing. We used a Linux EC2 instance for the Gisgraphy project I blogged about a while back. And we would up using a dedicated Windows EC2 instance for the gas finder site that we put up after Hurricane Sandy.

In addition to that, I’ve done some experimenting with RDS (for SQL Server) and Elastic Beanstalk. I was initially enthusiastic about both, but, once I got to working with them, I saw enough limitations that I decided to back off. RDS is a nice way to have a low-maintenance SQL Server in the cloud, but the main limitation I found was the inability to easily get a local backup of a large database loaded onto it, and vice versa. While there are ways to get data in and out of RDS, of course, there’s no support for standard SQL backups and restores, to (and from) .bak files. The recommended approach is to script the db out to T-SQL, using the standard export capability, but given the size and complexity of some of our databases, that’s just not workable.

And, as for Elastic Beanstalk, it’s a nice way to get a single ASP.NET application up and running on EC2, with a pre-configured load balancer, but we really don’t have any single site that would benefit from that, and easily fit into that model.

For now, we’ve tentatively decided to move some of our stuff up to AWS, using a few EC2 instances, but really that won’t be much different than what we’re doing now (external hosting on a managed server at PEER1). The main difference will be that we’re planning on breaking some stuff up so that we’ll have a few smaller instances, so we can scale them as needed, and we’ll have the option of spinning up a second copy of the instance running our web service, if needed. I’m not really sure how all this will work out, but I’ll blog more as we go forward, if I learn anything that seems like it would be worth sharing.

Meanwhile, I’ve been watching this screencast series on AWS. Unfortunately, I’ve found that it’s mostly covering ground that I’ve already figured out on my own. But, if you’re new to AWS, and want a guided tour, included a (somewhat leisurely) look at some cloud basics, this might be for you.