Monty Python

I went into New York today, and saw a couple of Monty Python films, as part of the Tribeca Film Festival. I saw Life of Brian (which I hadn’t seen in many years) and The Meaning of Live, which is a new documentary, mostly about the final Python live shows from last year.

Life of Brian had a Q&A afterward with John Cleese and Terry Jones, and Meaning of Live had a Q&A with Cleese, Eric Idle, and Michael Palin. So, now I’ve seen all of the (surviving) Pythons, except for Terry Gilliam.

It would have been fun to go to the Holy Grail screening last night too, but that one was pretty expensive. The Q&A for that one had all the Pythons, though, plus John Oliver, so that would have been awesome!

Seeing these films has made me think about the value of humor, and realize that I’m really not getting enough of it lately. On my way home, I picked up the Weird Al guest-edited issue of Mad Magazine, so that should help restore some balance. (It’s been many years since I picked up an issue of Mad.)

lots of WordPress updates

My site updated to WordPress 4.1.3 automatically this morning, only a few days after updating to 4.1.2. And now, WordPress 4.2 is out. I just went ahead and manually updated to 4.2, and applied a handful of theme and plugin updates.

It’s good to see that everyone is keeping WordPress up to date, patching security issues and adding features. Honestly, though, there have been a lot of updates in the last few weeks. Let’s all take a break for a few days, ok? 🙂

Not at RailsConf

I’m spending a little bit of my spare time right now trying to learn Ruby, and Ruby on Rails. I recently finished a course in Web Application Architecture on Coursera, which used Rails as part of a general overview of modern web apps.

And now I’m working on Michael Hartl’s Rails Tutorial book. The book is free to read online. I’m enjoying it so far, and getting a lot out of it.

Meanwhile, RailsConf 2015 is going on right now, in Atlanta. I should keep an eye on that on Twitter, and see if anything interesting comes up that might be useful for a guy who’s new to Rails.

Not at East Coast Comicon or MoCCA Fest

I’ve somehow managed to skip both East Coast Comicon and MoCCA Fest this weekend. I was more interested in MoCCA Fest, really, but I likely would have enjoyed either one. Instead, I was a responsible adult and went out clothes shopping yesterday, picking up some new shorts that aren’t two sizes too big, like all the old shorts in my dresser. (All of those old shorts are now in plastic bags ready for the Goodwill donation bin.) I also picked up some size L shirts, to replace some size XXL shirts that are a bit too big now. And I’m still working on my Coursera class, and watching Daredevil on Netflix.

Not at WonderCon

I had thought about going to WonderCon this year, but decided against it. I’m not going to say that I regret the decision, but this weekend wouldn’t be a bad time for a little vacation, and it looks like the weather in Anaheim will be quite nice for the next few days. (Meanwhile, it’s a bit bleak and rainy here in NJ.)

Bleeding Cool and The Beat have some photos up already, and a few articles from today’s programming. I’ll probably follow the news from the con over the weekend, while working on some homework for the course I’m currently taking on Coursera.

AX 2012, the Wizard Wizard, and Origin GUIDs

I had a weird issue in AX recently, and, since I didn’t find much mention of it on the web, I thought I’d write it up for my blog.

A while back, I had used the “Wizard Wizard” to create a wizard form in AX. The name of this tool is kind of silly, but it’s basically correct — it’s a wizard that helps you create the form and class objects necessary to create a standard wizard control in AX. It worked fine, and the resulting wizard was deployed to production a few months ago.

I needed to make a change to it recently, though, and when I tried to import it to our testing environment, I got the following error: “Unable to save Form MyWizard. Origin value: {GUID value here} conflicts with element from model store.”

This led me down quite a path, as I haven’t really ever had a reason to dig into origin GUIDs before.
There’s a little bit of history on the origin GUID here and the best explanation I could find on origin GUIDs is here.

So, once I knew a bit about origin GUIDs, I did a little digging, and discovered that the origin GUID for my form was different in each of our environments (dev/TFS, staging, and prod). This should never happen; as the article above states, “this origin will be the same for this element in all installations, environments, versions and variations.” So… huh. How did that happen?

I looked into the TFS history, and discovered that the initial check-in for the form had no origin GUID at all. That line was simply missing from the XPO. So, if I understand things correctly, the lack of an origin GUID field in TFS is likely what caused it to be assigned new and different GUIDs in staging and production. (And, at some point, the field got filled in on my VM and made it into TFS with a completely different GUID.)

I looked into a number of other forms I’d created in the past, and couldn’t find a single instance of this ever happening before. I quickly realized that the one thing that was different about this particular form was that it had been created with the Wizard Wizard. I couldn’t initially find any evidence of an issue with this wizard, but eventually I found this question on Stack Overflow, from someone else who seems to have had the same issue.

So the end result is that I now know that, if I’m going to use the Wizard Wizard, I need to make sure I do something to force the generation of an origin GUID before I check anything in to TFS. (And that Stack Overflow question indicates that the “best practices” checker would likely have flagged this, so I should probably use that more often.)

I couldn’t come up with a particularly good solution to clean up this issue, other than duplicating the form to a new object, and deleting the old form. I briefly considered taking the GUID from prod, and trying to shoehorn it into the other environments, but that seemed like a bad idea, since I’d need to mess with TFS and with the ModelElement table in the database in each environment.

Text Editors

Possibly the most time-honored and effective way for a programmer to procrastinate on his or her work is to spend time messing around with text editors and/or IDEs. There’s a good case to be made that spending time selecting the right editor/IDE, and tweaking it appropriately, pays off in spades, due to increased productivity over time. But honestly, I can’t say that I haven’t sometimes spent time messing around with my text editor or IDE just as a procrastination tactic.

Yesterday, a new beta of Sublime Text 3 was released, along with the new version of Komodo Edit/IDE, so it makes sense to think about editors a bit.

I bought a personal copy of Komodo IDE about a year ago, and I’ve been using it on the Mac and on Windows, mostly for PHP programming. And now I’m using it for Ruby too. It’s a little heavy to use it as a general text editor. For quick text file editing, I’m using Notepad++ on Windows and TextMate on the Mac. But Komodo is pretty good for PHP and Ruby.

I messed around with Sublime Text a few years ago, but didn’t really like it enough to stick with it. (And, at the time, I didn’t really have a good use case for it anyway, given the kind of work I was doing then.) Occasionally, I think about giving it another try.

At work, I don’t really need to worry about text editors much, since nearly all of the work I do is being done in either MorphX (the Dynamics AX IDE) or Visual Studio. Both of those environments work fine, for their intended use, and (in both cases) it wouldn’t be realistic to consider using a different tool for text editing.

But, for my recreational programming, whether that be PHP, Ruby, or whatever else, it’s nice to have a good programmer’s editor handy. I’ve already shelled out the $59 to upgrade my personal license for Komodo IDE to version 9. (If I thought I was going to need to do any serious Ruby development, I’d probably give Sublime Text another shot and see if it was significantly better than Komodo.)

I keep thinking I should be a real programmer, and learn more about VIM and/or Emacs, but I never quite get around to it. VIM Adventures looks like it might be a fun way to learn VIM. (Of course, I’ve been saying that I should learn more about VIM and Emacs for years; I just found blog posts from 2008 and 2005 saying basically the same thing I just wrote here.)

My Ongoing Parking Woes

I try not to complain too much about first world problems on this blog. But I feel like venting about the parking situation for my apartment building, so I’m going to go ahead and whine about it. (If not here, then where?)

I pay my landlord for a reserved spot behind the building. There’s a municipal parking lot right behind our building, and a portion of that lot is ours. I’m not sure if it’s technically owned by the town, or if our part belongs to our landlord, or how that works. But our area is basically our own mini-lot, with numbered spots that are all clearly marked as “reserved.” The rest of the lot is metered parking, with some other reserved spots for other buildings.

It used to be that the only time I had trouble parking in my own spot was on Friday nights during the summer, when Somerville hosts a classic car show. So, between the classic cars and all the people who come to see them, the lot fills up and people decide to poach the reserved spots. That was a pain, but there wasn’t much I could do about it, and it was only one day a week, for part of the year.

But it’s been getting worse over the years, for a variety of reasons, and, to make a long story short, it’s now pretty much guaranteed that I’ll lose my spot if I go out on Friday or Saturday night, any time of the year, and come back any time before 10pm. And if I’m back before 9pm, I might not find any available spot in the lot. Which means I have to park on the street. But it’s illegal to leave the car on the street overnight, so then I have to go back out again and move it back into the lot once spots open up.

And I’ll often lose my spot on a weeknight, if I go out, or if I get home from work late. It’s getting kind of ridiculous.

So the landlord came up with the idea of issuing everyone a traffic cone with the word “reserved” printed on it. The idea would be that we’d put out the cone any time we left our spot, then toss it in our car when we got home. Well, that lasted about a week before the rotten kids around here started swiping the cones. God knows why. (What are they gonna do with traffic cones?)

I think I need to hire someone to sit in a lawn chair in the middle of my parking spot all day and chase away anyone trying to poach it. And I’ll give the guy a Taser or a can of pepper spray to ward off the rotten kids. (Otherwise, I assume they’d beat up the guy and steal the lawn chair.)

So that’s my “first world problem” rant for the day. I feel a little better now.

more fun with Ruby

I’ve been making good progress through The Book of Ruby this week. I’ve continued to use the simple Ruby install on my ThinkPad, since it’s working fine, and I don’t yet need any of the fancy stuff; I’m still just working my way through language basics.

But I stumbled across an interesting class on Coursera that was just starting up, called Web Application Architectures, which covers Ruby on Rails. Initially, I resisted the urge to sign up for it, since I don’t think I’m really ready to start messing with Rails yet, but my curiosity got the best of me, and I went ahead and registered for it.

So now I’m messing with the somewhat arcane process of setting up Rails. Initially, I looked at trying to get Rails to work with my existing Ruby install on the ThinkPad, but (to make a long story short) that didn’t work out. So I looked at a couple of other options for installing a Rails dev environment on Windows, including RailsInstaller and RailsFTW, but I had some problems with both of them and decided to go a different way, rather than try to resolve the issues. (Finding pages like this and this on Reddit pretty much convinced me that setting up Rails on a Windows machine was a bad idea.)

So I went ahead and installed Ubuntu 14.04 under VirtualBox and followed the instructions found here to set up Rails. That seems to have gone smoothly, but I won’t really know for sure until I’ve done some meaningful work. I’m still not entirely sure if I’m going to stick with it, or punt on the course for now and avoid the messy complications of Rails until I have a better grounding in basic Ruby, but I’m going to spend some more time on it this weekend and see how it goes.

Oh, and as a side note, it’s fun to be messing with Linux again. I haven’t really touched Linux in a while. Ubuntu was fairly easy to set up under VirtualBox, and it seems to be running fine. The desktop UI is attractive and reasonably fast, even in a VM with only 1.5 GB of RAM allocated to it. (I’ll probably have to bump that up to 2 GB if I get serious about the Rails stuff.)