old DVDs

So I have a bit of a tendency to buy DVDs (and now Blu-Rays too), and then not watch them. I’ve got quite a few piled up. I haven’t really been buying many new discs though, so the piles aren’t really getting bigger, which is good.

Today, I picked one out and watched it — MirrorMask. It was really good! After watching it, I went to Amazon and looked it up. I don’t even remember buying it from Amazon, but apparently I did, because there’s a banner across the page saying that I bought it in April 2006. Wow. I had no idea how long I’ve been letting this stuff pile up!

Coursera

I recently decided that it would be a good idea to take an online course or two, from Coursera or EdX. I noticed that Algorithms II, a Princeton course with Robert Sedgewick as lecturer, was just starting up, so I signed up for that. I then also noticed that, while the Algorithms I class had ended recently, it was still possible to sign up for it and work through it. So I decided to do that first, and see if I could then move onto Algorithms II before it ended. Well, I’m getting through the material, but it’s taking some time, so I don’t think I’ll necessarily “catch up” prior to the official end of the Algorithms II class, but that’s not really necessary, though it would be nice.

The class uses Java, which I wasn’t initially that thrilled about, but I’m not really having any trouble with it. It’s similar enough to languages I know, like C++ and C#, that it’s easy enough to pick it up as I go. And the kind of work we’re doing in the class is such that I don’t need to worry much about user interface details or anything like that. Everything we’ve done so far is pretty much command-line stuff, with a little simple graphics work. So I haven’t had to worry about learning whatever the Java equivalent of Windows Forms or WPF is. (Swing maybe?)

The course material consists primarily of lecture videos (with Robert Sedgewick), programming assignments, and quizzes. For the first class, I’m choosing to watch the videos and do the programming assignments, but I’m skipping the quizzes.

The textbook for the Course is Algorithms (4th Edition), by Sedgewick and Kevin Wayne, who was also involved in creating the class, though he hasn’t shown up as a lecturer yet. (I’m not sure if all the lectures are by Sedgewick, or if they switch over to Wayne at some point.) The textbook is fairly expensive, but it’s not required. There’s a “booksite” for it that has all the material you’d need from the textbook.

The course recommends, but doesn’t require, that you use an IDE called “DrJava.” They even have a nice little installer that will quickly set up an environment for you with the JRE, DrJava, and some libraries that are used as part of the class. Very convenient and simple. I’m using the Windows version, but they have versions for Windows, Mac, and Linux.

DrJava isn’t a great IDE, but it’s simple and easy to use. I wouldn’t want to use it for day-to-day work, but just to write and test the kind of programs you need to create for an Intro to Algorithms course, it’s fine. (I do find myself falling back on Komodo Edit sometimes, though, when I need to do some “major” editing.)

So, basically, everything you need for the course is free (Coursera stuff, the textbook web site, and the development environment), which is great.

The lectures are quite good. I’m guessing that this is basically the same material that’s actually used for the Princeton undergrad Algorithms course, with some tweaks made to accommodate the requirements and limitations of the online course environment. Good use is made of visualizations for the algorithms, which is really key in understanding this kind of stuff.

The programming assignments are well thought-out too. They need to be structured in such a way that they can be run through an “auto-grader” that can evaluate and grade them in a reasonable way, so that imposes some limitations on them, but that’s fine. Basically, the programs need to be written to a well-defined API that the auto-grader will exercise, and then report on. It tests boundary conditions, large inputs, timing, memory use, and so on. The assignments are generally written so that there are levels of correctness that can be evaluated. There may be, say, 50 tests the grader can run your code through. Maybe the first time you submit your code, you’ll pass 25 of them. Then, you can tweak it and re-submit, and maybe get 35 right, and so on. So, the process of working through an assignment can be iterative, and you can learn as you go.

I think it’s great that stuff like this is available on the internet for free. I’m not sure where all this will lead though. More access to quality higher education for more people? Or will this stuff all be monetized at some point, leading to some kind of new status quo in higher education, where things are far more centralized than they are now, and the educational experience is far less personal? I don’t know; I’m sure people smarter than me have probably spend a lot of time thinking about that. For me, right now, it means I can take something vaguely equivalent to a Princeton undergrad course for free, in my living room!

Visual Studio 2013

I haven’t been paying too much attention to the VS 2013 launch, but I did read a few blog posts about it yesterday, including this one. Honestly, I haven’t really done much with VS 2012 yet, other than using it to work on some Project Euler problems at home, and using it as a front-end to TFS 2012 at work. (My day-to-day programming work is mostly done in the AX IDE environment right now.) Some of the stuff they’re doing sounds interesting, but it doesn’t really apply to me right now. One of these days, I’d like to get back into some serious .NET work, possibly including some Azure stuff, and ASP.NET MVC, and maybe get a chance to mess around with stuff like Unity. I do have one new interesting side project going on right now, though, which I want to write up in more detail later.

Project Euler

I haven’t mentioned Project Euler on here in a while. Earlier this year, I got on a roll and solved the first 20 or so problems. Then, I got too busy with other stuff, and didn’t make any more progress. Well, I got interested in it again and finished through to problem 25. I’m hoping I can find time to get a few more done before the end of the year. I’m finding that Project Euler is a pretty good way to keep up some basic skills. The kind of programming I do at work is interesting, but it doesn’t really exercise certain “muscles”.

grab bag

OK, I haven’t written a blog post in a while, so this one is going to be a bit of a grab bag.

First, on the weight loss front, I’m down 15 pounds so far, over about eight weeks, so I’m losing almost two pounds a week. My plan was to shoot for one lb per week, so I’m doing fine on that. I’m also getting in maybe five or six hours of walking a week, which is pretty reasonable. I still haven’t figured out what I’m going to do when it gets too cold to walk outside though.

On the tech front, I picked up a new iPhone 5s a couple of weeks ago. My previous phone was an iPhone 4, so there’s a good bit of new stuff for me in the 5s, including Siri.

  • I’m finding that I’m not using Siri much, though it’s kind of fun and does seem to work well.
  • The fingerprint sensor works quite well, and I’m using that to unlock the phone most of the time now.
  • Overall, I’ve found that the speed of the phone is greatly improved over the iPhone 4, especially for certain things, like using the camera.
  • The battery life is pretty bad. I’m usually at 50% by the end of the day, and I really don’t think I do anything that crazy with it.
  • The iPhone 4, on Verizon was 3G. The 5s is LTE. I haven’t seen much of a difference in speed, in everyday use. But I haven’t really done much that would stress the network connection. In general, anything that relies on the internet connection over LTE has worked well.

I went to NYCC this year. I didn’t go to San Diego this year, nor did I go to any other conventions, so this was my one and only convention for the year. The con was very well managed, and very crowded. Getting in could take a while, but once you were in, it wasn’t that much of a hassle to move around. The exhibit hall was quite crowded, but navigable. There were a few interesting panels, but nothing quite like you get in San Diego. I bought only a handful of books, mostly discounted hardcovers and trade paperbacks. (I realized at one point that I still have stuff I bought at NYCC 2011 that I haven’t read yet.) I’m not sure if I’ll bother going next year. Maybe I’ll just go in for one day. It’s fun, but there’s not really enough interesting stuff to keep me occupied for all four days. (In fact, I wound up skipping Sunday and going to the Met and MoMA instead. The Magritte exhibit at MoMA is pretty good, by the way.)

losing it

I decided recently that I really need to lose some weight. So I started using Lose It about two weeks ago, to track my calories. I also bought (and read) their book. I’m not sure if my scale is accurate enough to say whether or not I’ve really lost any weight yet, but, if it is, then I’ve lost a couple of pounds. My goal is one pound a week, until I’ve lost 30 pounds, so, if that works, I should hit my goal in mid-March 2014. Assuming that Lose It is giving me correct numbers about my calorie budget, then I don’t think I’ll have a huge problem sticking with the program. I’ve stayed within my calorie budget every day so far, though I’ve had to make some guesses about calories recently, so I don’t know if I’ve *really* stayed within the budget.

The last several days have been a bit rough.  I went out to dinner with a friend on Wednesday, and had a meatball parm sandwich, which was definitely a bad idea. Then, we had a department lunch on Thursday at an Italian restaurant. We had three entree choices, and I ordered the one that seemed likely to have the fewest calories, but it probably still had more calories than I wanted. Then, on Friday, we had a department barbeque, which I just skipped out on. But another friend wanted to go out for dinner Friday night, so I did that, and had a small steak. Saturday was fine; I only ate good stuff that I knew the calorie count on. But today, I went downhill a bit again, since I went out to brunch with my brother (banana pancakes), then picked up a couple of empanadas at the Somerville Jazz Festival this afternoon. (They were from a restaurant here on Main St that makes *great* empanadas!) If I guessed right on calorie counts, then I’m still within my budget. But who knows, really?

I should be able to do reasonably well in this coming week. We’ve got no work events that should cause me to deviate from eating relatively low-calorie lunches. I don’t have any particular plans for going out to dinner, but I probably will once or twice. I’ll just have to be careful.

On the exercise front, I’m just trying to get in a lot of walking. The weather has been pretty good, so it hasn’t been a problem to do a fair amount of walking. I’m worried about keeping that up once it gets cold out though. I’ve been looking around at cheap treadmills that would fit in my apartment, or a local gym that’s got treadmills. (We have a gym at work, but I’m not that enthusiastic about it, for several reasons.) The treadmill thing is actually turning into a challenge. I haven’t found a local store that actually carries manual treadmills, which is what I’d need to buy if I want a reasonably-priced, compact, folding, model. I can just order one from Amazon, but I’d really like to check one out first. And, on the gym front, there’s a new fitness place opening on Main St, but they only have exercise bikes, no treadmills. I also tried the local YMCA, but I had trouble finding anyone to talk to there, so I have no idea if they have treadmills or not. I may have to try calling them during the week.

I don’t want to turn my blog into a diet and fitness blog, but I thought there would be some value in writing this up, for future reference. If I meet my goal in March, then I can look back and see where I started. And, if I don’t, maybe I can look back and figure out what I did wrong!

contact and calendar management

A few years back, I wrote up a couple of blog posts on my search for the “holy grail” of contact and calendar management. Back then, I had a BlackBerry, and I was hoping to find a good way to keep things in sync between the phone, my PC, and my Mac. I went through a few less than perfect options, which aren’t worth going into at this point.

Nowadays, I’ve got an iPhone, and I’ve found that iCloud does a fine job of keeping the iPhone, iPad, and Mac in sync. On the PC, I really don’t bother trying to keep a full set of contacts in Outlook anymore, nor do I keep my calendar there. I can always look anything up on icloud.com or on my iPhone. And, while I use Gmail for most of my mail, I don’t really feel a need to keep my Gmail contacts fully up-to-date either. There’s really only a small set of people who I e-mail regularly, and they’re all in my Google contacts, so there’s no problem there.

So, since everything’s working so well, of course I’m starting to mess around with it. I installed the vipOrbit app on my iPhone this week. It’s a program for managing contacts and calendars. Right now, the iPhone and iPad clients are free, the Mac desktop client is $30, and the sync service that I would need to subscribe to is $45/year. So I thought I’d start out by trying the iPhone app, and see if it was worth going any farther with it. The app imported my contacts from the main iPhone contact app with no problems. But, I found that it did not import all the fields. In particular, it didn’t import birthdays or the free-form notes field from contacts. The app has several user-defined fields available, so maybe there was a way to map those and import the birthdays and notes into them, but it wasn’t obvious how I could do that. I played around with the app a bit, and, while I think it might be useful for a salesperson tracking leads and/or customers, it’s not really useful enough for me to justify both the price and the inconvenience of keeping my contacts and calendar outside of the normal default iPhone apps.

Next, I may choose to try out fruux. Fruux is just a sync & backup service for contacts, calendars, and tasks. So, I’d keep using the default iOS apps, but would keep things in sync with fruux instead of iCloud. I honestly have no good reason to do this, except “just for the hell of it”. Or maybe so I can say I’m not 100% tied in to the Apple ecosystem.

silliness in the Dynamics AX compare tool

I had a small issue crop up in AX a couple of weeks ago. It wasn’t big enough to spend any time on, but it was a bit of an annoyance. Well, I had some spare time yesterday, so I decided to see if I could fix it. The end result was that I did indeed fix it, but the journey to that point was kind of ridiculous, so I thought I’d write it up.

AX has a built-in compare tool, for comparing different versions of code in different AX layers, or in source control. It’s not a terribly great tool, and I’d rather have WinMerge or Beyond Compare, but it’s good enough. The initial form shows the names of the two files being compared, with a red box next to one, and a blue box next to the other, to indicate the colors that will be used to highlight the differences between the two files.

Well, the color in those little boxes mysteriously disappeared a couple of weeks ago. The tool still works, and the text is highlighted in red & blue, but there’s no visual indication of which text is from which file. Not a really big deal, but inconvenient.

Most of the tools built into AX are written in X++, and we have full source, so I went ahead and dug up the source for the form named “SysCompareForm.” I don’t think I should post any of the source here, but what I found is that those little red and blue boxes were actually HTML controls, each one displaying a web page, constructed in the code! I’d never really noticed before, but the boxes were not actually displaying solid red & blue, but rather were displaying red-to-white and blue-to-white gradients. And, of course, this being Microsoft, they were doing so in a way that only worked in older versions of IE. And, yeah, I’d recently upgraded IE on my VM from 8 to 10. So that was the problem: each of those little squares was actually rendering a web page with IE, just to get little red & blue swatches!

The cross-browser gradient situation has been a bit of a mess for a long time now, and you generally need to add about 10 lines to your CSS file just to do one gradient that works well across all browsers. So, I tried to update the code so it would render out OK in IE 10. Well, I messed around for a while, and couldn’t quite get it right. Then, I did some searching, and found this thread from a Russian web site, from someone else who had the problem and solved it. So, I just copied his code and went on with my life.

Apparently, this problem was fixed by Microsoft in a recent CU, but I guess it’s one that we haven’t applied yet. I wonder how much other stuff in AX is being done like this, and relying on HTML/CSS that only works in IE 8. Geez.

comic-con blues

So I didn’t get to SDCC this year, nor have I really been following the news out of the con. I’ve caught a few things via Twitter, but haven’t really seen anything that’s caught my attention. Usually, there would be a handful of interesting tidbits coming out of the con that I could link to in a post like this, but there’s really nothing that seemed all that interesting to me. I’m sure there’s some really cool stuff going on, but either it’s not my kind of cool stuff, or I just haven’t stumbled across it. There’s been a good bit of coverage of the con on The Beat. (That link should show all posts tagged SDCC 2013.)

Still, I really wish I had gone to the con. This past week, the weather in NJ/NY has been brutal, while San Diego has been quite nice, apparently. Even just for that, I would have rather been in San Diego for the past week! If I don’t get a ticket next year, I may just go anyway, and enjoy the weather and some of the related events that don’t require a ticket.

Meanwhile, at home, I’ve been catching up on Fables. I’ve read volumes 6 to 9 of the trade paperback collections over the last few days, and I’m reading “1001 Nights of Snowfall” right now. Fables continues to be a really good series, and I’m glad to see that it’s still being published. I still have a ways to go before I’m all caught up on the collections, and after that, I could probably read Jack of Fables, and some of the other spin-off series. So, I can look forward to enjoying this series for some time.

Vacation

I took this week off from work, as a little summer vacation. I didn’t manage to get a ticket for Comic-Con this year, and there wasn’t really anything else going on over the summer that I was too enthusiastic about, so I just picked a week that nobody else was taking off. Of course, this wound up being a very hot week here in the NJ/NY area, so now I’m regretting not having made plans to get out of the area to someplace cooler.

I spent the earlier part of the week in NYC, mostly visiting museums. I was successful in getting to all the museums I wanted to visit, plus a couple more. I actually visited six museums over three days, which isn’t half bad, considering the difficulty of getting around in the heat. I’m going to list out all my museum visits below. I’m not sure I’ll have much that’s terribly insightful or useful to say, but I’d like to list everything out, for my own future reference, if nothing else.

Sunday
I started out on Sunday with a visit to the Guggenheim. I’d never been to the Guggenheim, but of course I’m familiar with the iconic architecture. The main exhibit running right now is a “re-imagining” of the main space in the museum by James Turrell. It’s interesting, but I wish I could have seen the main space in it’s usual configuration; maybe I’ll go back in the fall, after the Turrell thing is gone. There wasn’t much else going on that was interesting to me, though the Kandinsky exhibit was nice.

I also visited the Whitney on Sunday, another museum I’ve never been to. I actually really liked the Whitney. The Edward Hopper exhibit was really cool. I’ve always liked “Nighthawks”, in particular, and they had some of the preliminary drawings for that on display. The Whitney is scheduled to move to a new building in 2015, so I don’t know if I’ll likely get back to the old one again before they close it. But, I’m going to keep an eye on their site, and if they have any more exhibits that sound interesting, maybe I’ll go back.

And I also made a brief stop at the Met on Sunday. I’m a member there, so it doesn’t cost me anything to get in. The Sunday visit was brief. I went back Monday and Tuesday, so I’ll post more about those visits below.

Monday
On Monday, I returned to the Met, and spent a bit more time there. The Met used to be closed on Mondays, and I suspect that many people still don’t know that they’re open on Mondays now. I got to the museum just after 10, and had no problem walking right in. Many of the areas I visited were empty (or nearly empty) of other visitors. It was nice to be able to stroll through certain sections and enjoy them quietly, without anyone else there to distract me. I checked out the Punk exhibit, which really didn’t do anything for me. I understand why they do these kinds of exhibits, and I guess some people find them interesting, but I’m just not one of them.

Later in the day, I went to MoMA, which was a lot more crowded than the Met was. I avoided the rain room, which is apparently crazy hard to get in to see, though it sounds like it would be fun. (I should also mention that I did not buy a cronut while I was in NYC, or attempt to bring one into the rain room…) Oh, and to illustrate a bit of the difference between the Met and MoMA that day, I had no trouble standing in front of the Met’s big Jackson Pollock painting for a minute or two, alone, in quiet contemplation, but MoMA’s big Pollock had attracted a crowd, including one guy who was posing for a photo in front of it. There was quite a bit of photo-taking going on at MoMA, actually. The crowd in front of Starry Night was impressive, many of whom were taking photos, to the point that you really couldn’t just get in there are get a good look at the painting. I don’t see much of a point in taking photos of a painting like that, given how easy it is to find good images of it on the net.

Tuesday
On Tuesday, I hit a couple of smaller and less well-known museums. I first went to the Frick. I’d been wanting to go there for a while now. As a comic book nerd, I was curious to see the building that was used as the model for Avengers Mansion. And as an art nerd, I was interested in seeing their collection of paintings, including a Monet, Manet, Renoir, and a few Rembrandts. The building itself is quite nice, and though their collection isn’t huge, they do have some very nice paintings. And their exhibit of clocks was pretty cool too. (It would have been nice to see the bowling alley too, but alas that’s closed to the public…)

After that, I went to the Morgan. The original building, including the impressive library room, is quite a thing to see. I honestly didn’t get much out of the current exhibitions though. Maybe I was just suffering from museum overload at that point, but I’m really not keen to go back there again.

And finally, I went back for one more visit to the Met. The Met really is a big enough museum that you can make three visits there over three days, and see different stuff each day. On this last visit, I took in the “Birds in the Art of Japan” exhibit, which I’d managed to miss on the first two days.

So, overall, I managed to stay (mostly) out of the heat for a few days, and visited a few museums I’d never had the chance to visit before. I do wish I could have had some nicer weather for my vacation, as I would have liked to have done a lot more walking around this week. But, as it was, I did a good job of getting around via subway, bus, and taxi, with a fairly minimal amount of time spent outside in the sun.