SharePoint development

My boss told me this week that I may need to do some SharePoint development work for my next project. I don’t have any details on what exactly I might need to do, but I think it’s likely to be creating a Web Part that will interface with Dynamics AX in some way, probably through a web service. I’m well-versed at this point on the Dynamics AX side of things, but I know almost nothing about SharePoint development. So, being the proactive kind of guy that I am, I’m starting to flounder around, trying to figure out what I can about SharePoint development.

It’s not easy to get started. At work, I asked one of the other developers for some pointers, since she’s done some SharePoint work before, but since I don’t really have any details about what I’m supposed to be doing, she wasn’t much help. I don’t want to waste her time, so I’m going to hold off on asking her any more questions until I have a better idea of what I need. And, on the IT end, I had one of the SharePoint admins set up a site that I can apparently use for testing, once I’m at the point where I actually have something to deploy. But there’s not much I can do with it right now.

I have Visual Studio 2012 installed on my AX VM, so I went ahead and installed the SharePoint tools on that VM. That worked, and I now have the templates needed to create a new SharePoint web part project in VS. But, it seems that you can’t actually create a SharePoint web part project on a machine that doesn’t have SharePoint itself installed on it. Looking into it a bit further, it seems like it might be possible to do so, but it’s not obvious or simple. And that’s about as far as I got in work on Friday.

Today, I decided to see how far I could get in setting up a full SharePoint 2013 VM on my ThinkPad. I’m using VirtualBox on the ThinkPad, and I have plenty of hard drive space, so I decided to give it a go. I loosely followed the instructions in this blog post by Bill Baer, though I simplified things as much as I could. I downloaded the 180-day trial of Windows Server 2012 as a VHD. Then, I got that up and running in VirtualBox. I had to mess around with the settings a bit to get it to work, but it seems to work fine under VirtualBox, once you get the settings right. Then, I downloaded the 180-day trial of SharePoint 2013 and installed that. I hit a few snags, but nothing that I couldn’t get past with a little Google-fu. All of that downloading and installing killed most of the day. Now, the sun is about ready to go down, and I’ve got a VM that probably has a working SharePoint 2013 install on it. I say “probably” because I haven’t been about to bring it up in a browser yet. I think that’s just because the VM is running slow, and it’s taking a while to get past all the background stuff that needs to happen on a new Windows Server 2012 and SharePoint 2013 install. So, for now, I’m patiently letting it chop away at 100% CPU, hoping that eventually, it’ll settle down and become usable. There may be a few more things to straighten out though. If so, I guess I’ll be spelunking through some log files and doing some more Google-fu.

Once I’m sure I’ve got a working SharePoint 2013 install, then I’m going to have to install Visual Studio 2013. I’m hoping I can just use the free version of VS 2013, but I’m not sure. If I can’t, then I guess I have to check and see if there’s an eval version of VS 2013 Pro, or whichever version I need for SharePoint dev.

I’m not sure if the end result of all this is going to be a usable VM. The ThinkPad is a few years old. Though I did replace the hard drive with an SSD recently, it’s still only got 4 GB of RAM, and a mediocre CPU. That’s all fine for doing normal work, but it’s a little thin for powering a VM that’s got a full SharePoint install on it. So I may have to give up on this thing entirely.

I found a good blog post on how to set up an “awesome VM” for SharePoint development, but it looks like I’d need a much more powerful laptop to follow those instructions, and probably a lot more free time too. So, if the fairly basic VM that I’m trying to set up now doesn’t work out, I’ll probably give up on it for now.

Meanwhile, I’ve started reading Beginning SharePoint 2013 Development, via my company’s Books24x7 subscription. (And I ordered a used copy of the physical book from Amazon.) I haven’t gotten much useful information out of the book yet, but I haven’t gotten very far into it yet.

I went into this process knowing that I might hit some dead-ends, and knowing that I might not be able to get very far on my own. But I’m hoping that I’ll at least get far enough that I can ask the right questions when I start getting project details from my boss. I’m not sure if I’ll need to set up a new VM on my work PC with the full SharePoint install, or if I’ll be able to hook up my existing AX VM to the test SharePoint site that the admin guy set up for me. Or if I’m even going to need to do any of that at all. But, either way, I’m hoping to learn some new skills, and add “SharePoint developer” to the old resume!

taxes and reminders and things

I’m proud to say that my taxes are done, and February isn’t even over yet. (OK, I’m using an accountant now, and not doing them myself, but I’m still proud. I had to get all my paperwork together, make an appointment, show up for the appointment, etc. Yes, it was more work when I did the taxes myself, but it’s still work.)

I’m going to need to pay (federal and state) estimated taxes for 2015, though, and I’m worried that I’m going to forget one or more payments. I’d like to just set up scheduled payments through my bank or something like that, but I’m not sure that would work out. I’m sure the bank would send the money to the IRS (and State of NJ), but I’m not sure it would get credited right without the proper form attached. The IRS has something called EFTPS for electronic payments, but I don’t think I can just schedule all four payments at once and forget about it. (And I’m not sure I trust an IRS-run web site…)

So I think I’m going to have to use some kind of fancy electronic reminder system for this. A while back I mentioned that I’d been messing with Gneo and Things. Well, I pretty much gave up on both of them, and I’m just sticking with Evernote reminders for my “fancy reminder” needs. I’m sure I can create reminders for the estimated tax payments in Evernote, but I still kind of feel like I should be doing something fancier.

I’ve been listening to the Mac Power Users podcast a lot lately, but they still haven’t quite talked me into trying out OmniFocus, the fanciest of GTD / task management / reminder systems. I’m probably over-thinking this. I should just write down “pay estimated taxes” on the appropriate days on my Doctor Who wall calendar, and I’ll be fine.

no San Diego for me this year

Once again, I’ve failed to secure a badge for SDCC. Badges sold out in record time this year, so that’s not unexpected. I can probably still get a badge for WonderCon, and I may do that. I’ve been to WonderCon several times, back when it was in San Francisco. I’m not nearly as excited about Anaheim in April as I would have been for San Francisco in February (which is when they usually had the con before it moved). But it might be worth doing, just for the sake of getting out of the NY/NJ area for a few days.

I’m really not following any new comics right now, and I have pretty much no idea what’s going on in the Marvel and DC universes. And I’ve just given away most of my collection, so I’m not at all motivated to pick up any new back issues. So I’m not sure what stuff at the con would even be of interest to me, though I suspect I’d manage to enjoy myself regardless.

Of course, if the con wasn’t interesting, I could always go to Disneyland and get measles. That would be exciting!

The Humble Programmer

I ran across a reference to E. W. Dijkstra’s 1972 essay “The Humble Programmer” recently. I’d never read it before, but I like to think I already understood the concept. Any sort of serious programming job is going to reinforce a programmer’s humility on a fairly regular basis, unless the programmer in question is incredibly good, or incredibly deluded.

The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.

At my current job, for the ERP system I work on, we do production deployments once a week, usually. We may do a post-deployment fix or supplemental deployment occasionally, but usually only if a really show-stopping bug made it in. (The deployment process is apparently time-consuming and arcane. I don’t really know how it’s done, exactly, but I think it involves ritual animal sacrifice and long incantations from the Necronomicon.)

I managed to introduce two exciting bugs into the system in last week’s deployment. So this week’s deployments include:

  1. A fix to a problem that I knew would occur, under a certain set of circumstances, but which I thought would probably only occur once in a blue moon, if ever. Instead, it happens about 20 times a day. One user referred to it as “really really really frustrating” and “a horrible inconvenience” in a support ticket she opened.

  2. A fix to a problem that had never even once occurred in testing, and which I have still never been able to recreate in testing. In production, of course, it happens about 10 times a day. And since I still haven’t been able to recreate the issue in the test environment, I can’t really be sure if the “fix” actually fixes the problem.

So, basically, my errors have been annoying the heck out of our users for the last week, and I have once again been reminded that I am fallible, sometimes spectacularly so!

Art Museum Web Sites

The New York Times ran an article recently on art museum web sites. There are, indeed, some really good ones out there. The Met and MoMA both have really good sites.

I’ve occasionally tried to find work in the IT department of an art museum, or at a company that did contract work on a museum web site or mobile app. It’s the kind of thing I think I would really enjoy working on. Alas, I’ve never gotten a response to any of the resumes I’ve sent out. I did get a callback about a volunteer opportunity at a museum once, but they only wanted people available on weekdays, during normal business hours. And I once knew a guy who was responsible for servicing the phone system at the Museum of Natural History, but I don’t think that’s going to help me.

On This Day

One of the many potential projects that I’ve been thinking about, ever since I moved to WordPress, was to write a plug-in that would show past blog posts in a widget, just stuff that was posted on the current day, in past years. It seemed like it would be a good little project that I could use to learn more about programming for WordPress. Well, I never got around to writing it, and now I’ve found an existing plugin that does just what I wanted: On This Day. So I’ve added it to this blog. Since I’ve been blogging for more than ten years now, there’s almost always a few interesting things showing up in it.

The comics have left the building

The last of my massive comic book donation has just been picked up! I gave away a total of 31 long boxes of comics, and 2 long boxes of trade paperbacks and hardcovers. I should have an actual count of the books soon, from the guy I gave them to. Since a long box fits about 300 books, I’m guessing I had around 9000 comics. (Which seems like way too many.)

My next project should probably be cleaning up and organizing some of the other books I have stacked up — novels, computer books, and the like. Some of the old computer books are probably going to have to go right in the recycle bin. And maybe it’s time to throw out most of old college textbooks too. I’m going to take some inspiration from this article about the New Yorker’s recent move to 1 WTC:

The thing that’s worth keeping is the thing you do next.

Coherent

Coherent was a Unix clone operating system for PCs that was somewhat popular in the late 80s and early 90s. I have fond memories of buying a copy via mail-order, probably from an ad in the back of Dr. Dobb’s, and probably for $99, and using it on my PC at home. In the days before Linux, Coherent was a great way for an individual with a modestly-powered PC and a few bucks to spare to learn all about Unix. Coherent came with a huge manual. (An actual book, printed on paper. Not just a PDF or a bunch of text files.) And it was fairly well-written and well-organized. You could really learn a lot about Unix by reading through the introductory material in that book, then messing around with things on your PC, then going back to the book for reference.

Just recently, the sources and documentation for Coherent were published on the web, including that gigantic manual. I had held onto my copy of the manual for years after I’d stopped using Coherent, just because it was such a good general reference, but I finally threw it out some time ago. Well, now I have a nice PDF copy if I ever need to refer back to it again! I’m tempted to try and get Coherent running in a VM on my current PC, but it’s probably not worth the bother. It would be kind of fun though.

Relaxing at home

I took today off from work. The original idea was that maybe I’d go into NYC  and do a few things, but the weather has not been good, so I stayed home instead. I’ve been browsing the news from the Angoulême International Comics Festival. There’s an article from The Washington Post, and another at The Beat with some interesting information and links. One of these years, I should go, though I imagine it would be a pretty expensive trip, and the language barrier would be an issue.

I have a whole list of things that I could probably be taking care of around the apartment, but instead I’ve just been reading and watching TV. I did a little bit of reorganizing, trying to figure out how to best use the space I’ve cleared up by donating so many comics and books. But I haven’t done anything major.

The last of the comic books

I’ve spent most of the day today organizing the remaining comic books that I’m donating to Superheroes for Hospice. I’d previously given them 25 long boxes, constituting all of my collection up to about 2003, which is when I stopped cross-filing them into my alphabetized long boxes. Since then, I’ve just been stashing them in whatever cardboard boxes I had handy. Well, I’ve now emptied out all of those random boxes and filled six new long boxes!

I’ve kept enough comics to fill four short boxes, maybe around 500 books total, so that’s a much more manageable collection. I’ve kept stuff by P. Craig Russell, Michael T. Gilbert, Stan Sakai, Matt Howarth, and Los Bros Hernandez, mostly. Those guys are among my favorite artists/writers, and some of their stuff isn’t as readily available in trade paperback collections and/or digitally as some other folks work. (For instance, I love Neil Gaiman, but I have most of his stuff in trade paperback or hardcover already.)

I also managed to fill two long boxes with old trade paperbacks and hardcovers that I don’t want to keep. That leaves me, again, with a much more manageable collection of trades and hardcovers.

Once I get these eight boxes out of the apartment, I need to start thinking about reorganizing things, and getting rid of yet more junk. I read a good article this week called The Power of Positive Purging. Sometimes it’s hard to let go of stuff, but I’m really trying to clear things out. And, yesterday, I listened to a good episode of Judge John Hodgman called “Do You Want to Hoard Some Snowglobes?” On the surface, the episode was just about a guy who wants to fill a whole room in his house with stuff from the movie Frozen. But, in discussing this case, Hodgman addressed the more general themes of art vs crap, and hoarding vs collecting. So it was a good thing to listen to on my long drive down the Turnpike to the cemetery yesterday; it was both funny and insightful.