My Little Corner of the Net

Say Goodnight Gracie

A pretty major event occurred at RIT on Monday, but hardly anyone probably noticed. It wasn’t marked by any sort of fanfare or celebration, just a simple email that popped up on my screen saying “Mike Young has completed a PCR.” And with that the “Grace” web server was retired.

Anyone who’s spent any time on the RIT campus knows Grace. Over the years the venerable Digital Unix cluster has served many purposes. For many years it was one of two main email servers for the campus. It also handled file sharing. But most people know it as the web server.

In actuality, grace.rit.edu is nothing more than a shell server. All it handles—and all it ever handled—are shell connections (telnet and later SSH) and file transfers (FTP, SCP, SFTP, etc.). It is but one small piece of the whole OSF environment but, as the most people’s primary gateway to the other OSF services, it is the best known.

The OSF environment was a powerhouse in its day, but with the acquisition of DEC by Compaq and the discontinuation of Digital Unix it eventually became a dinosaur. Like so many enterprise systems, though, moving on was difficult to do, so “Grace” kept chugging even though she couldn’t support anything newer than Apache 1.x and PHP 3.

Grace was the server through which I published my first website. I still remember going to the ISC (now ITS) HelpDesk, then in building 10, to request a Grace account. Once I got it, I had to sit down with the Unix tutorial the HelpDesk provided and Harley Hahn’s Student Guide To Unix before I could figure out how to use it because I had no clue about Unix and vi had me stumpped, but I persevered and, thanks to Grace, became pretty proficient with Unix in the process.

About two years ago, after a wait of what seemed like forever, a new web environment was brought online. The new environment, running on Solaris, is much more modern and can scale to the institutes needs much better. The new environment also replaces the illogical department-number-based URL structure of “Grace” with a more meaningful hierarchical structure that makes URLs easier to share and remember. During the transition, sites not yet migrated to the new environment were proxied through it to ase-web, the “Grace” web server. Last Friday I had the honor of disabling the last remaining proxy and making way for the event that happened on Monday.

On Friday the Grace shell server gets switched off and we officially close another chapter on computing history at RIT. Then we party!

I’m a Terrible Bloggger

I’m looking at my blog and realizing that I haven’t posted anything since August. I am terrible about this whole blogging thing—every time I get going and I think I’m going to start blogging semi-religiously I stop after one or two posts.

A lot has changed since my last post. The most significant thing probably being that I have a new job–and it’s kind of funny how it happened.

As many of my loyal readers know (OK, nobody reads this, but what the hell, it sounds good) I was having a really rough year last year at work. With a never-ending project that changed every other minute, a horrible performance review because I could not keep up with said project, and the inability to take vacation time until the project was complete, I decided that it was time to get out. I posted my resume on Monster and a couple of other sites and, of course, got tons of recruiters offering me temporary positions in cities I’ve never seen doing jobs I’ve never done. A couple of decent prospects did emerge, though—one job with a small software company in Rochester and another at the U of R. At the same time, my department was looking for, and hired, a new manager because my old boss decided that she wanted to step out of the managerial role she was in and took over an open instructional developer position.

Unfortunately the U of R position never went anywhere. The recruiter said they were having trouble securing funding for it, and I guess it kind of fizzled. Too bad, because that one sounded really good. While I was burning up vacation time at the beginning of July (after being unceremoniously removed from the never-ending project, which a little bird (i.e. my former no-longer-a-manger boss) told me last week still isn’t finished) I got a phone interview with the small software company. It went well, but I wasn’t sure it was the right fit for me. Nonetheless they asked me for an in-person interview and I agreed. In the meantime my new boss started. I had a “get to know each other” meeting with her the day before that interview and my whole outlook on my then-current job changed.

I was never really confident that I’d like the job for which I was about to interview, so I went into the interview with my mind pretty much already made up that I wouldn’t accept an offer if they made one. I left even more convinced of that. As luck would have it, they made an offer a few days later. Although they offered me more than I was making at NTID, it wasn’t that much more and it came with a lot less benefits, so I naturally declined.

Things were going pretty well at NTID when I got a call out of the blue from a contact in RIT’s Information Technology Services department. He had just posted a job and he wanted me to take a look. I had already seen the posting but decided not to apply because my other attempts at applying for jobs in ITS went nowhere. After talking with Chris I reconsidered. After a few rounds of interviews I received an offer, which I accepted (more money, bigger responsibilities that are more in-line with my interests, plus I get to keep all the benefits I’d accumulated at NTID—why wouldn’t I).

So I am now a Senior Programmer/Analyst with ITS’s Enterprise Web Services group. I am essentially responsible for all of the software that powers our web environment—from Apache and the PHP interpreter down to the individual PHP apps that people use to maintain their sites. I also support the users by managing accounts and responding to help tickets and I will soon assume some administrative duties for RIT’s Red Dot content management system implementation. I also occasionally get to climb up to the roof of campus buildings to find ideal locations for new webcam installations. So far its going well—every day I am extremely busy and I am constantly juggling a ton of small jobs at once, but at the end of the day most of those jobs are done and I start fresh the next day.

My new workgroup is cool too—everyone is friendly and the dynamic is much different than at NTID. People joke around and prank each other all the time and people actually go out to lunch together and socialize outside of the office. It definitely lifts the stress that comes with the amount of work that there is to be done. That kind of rapport was largely missing from NTID.

So, I think I’ll stick around. Of course, Chris told me that I can leave at anytime—so long as it is after he does—so I guess I don’t get a choice in the matter!

Improving Eclipse Performance in OS X

I use various flavors of the Eclipse IDE for almost all of my programming these days, so when I got my new MacBook Pro laptop it was one of the first things that I installed.

And what a disappointment that was. While I’m used to Java apps being slow, since getting Core 2 Duo Windows machines at work and home I’ve come to expect Eclipse to be fairly snappy. Since the Mac has twice the RAM of the other machines I expected the same, or better, performance from it. The first time I started Eclipse on the Mac it took nearly two minutes to load! Once it loaded it was fine, but the two minute load was something that I though I gave up when I moved off of my old Gateway P4/512Mb laptop.

I did a couple of Google searches and found others complaining about the slowness of Eclipse on their Mac, but no solutions. Then I remembered having to tweak some settings to improve performance on that old Gateway. I figured the same might be in order for the Mac, and I was right.

If you’re frustrated with the slowness of Eclipse on the Mac, try this:

  1. Find your Eclipse.app file (probably just labeled “Eclipse” and showing the familiar purple globe icon), Control-Click on it, and choose “Show Package Contents” from the context menu.
  2. Open up the Contents/MacOS/eclipse.ini file in a text Editor such as TextEdit
  3. Find the line “-Xmx256m” and change it to “-Xmx512m.” This increases the maximum memory that the Java VM will allow Eclipse to consume.
  4. Save and close the ini file and close the Eclipse finder window
  5. Double click on the Eclipse.app icon and watch Eclipse load much faster!

Upping the memory to 512Mb is now giving me comparable results to those of my Windows PCs. If you have the memory available, upping it even higher may give you even better performance, but I haven’t tried yet.

I Can Has Macintosh

MacBook Pro 17"After more than eight years of wanting a Mac for my office I finally got one last week. And what a nice one it is…a 17″ MacBook Pro laptop with a 2.5Ghz Intel Core 2 Duo processor, 4Gb of RAM, and a 250Gb hard drive. This thing flies, and the display quality is absolutely amazing.

Apple seems to have thought of everything, too. The keyboard lights and the screen dims to adjust to the ambient lighting around you. The touch pad lets you easily scroll when you touch with two fingers, and rotate and resize images with a pinching action. The only thing that I miss are my Page Up, Page Down, Home, and End keys which are absent from the MacBook keyboard. Command-Arrow does about the same thing, but it is less convenient, especially when I’m used to hitting Home and End all the time as I write code.

Since my job often requires me to make things that are cross-platform or at least to test things on both platforms, having access to a Mac is rather important. Until now, any time I needed to use a Mac I had to go upstairs to our lab and work there. Since working this way is incredibly inconvenient and distracting, I tended to work on the Windows side of things and only test on Mac when I absolutely needed to, which sometimes led me to find problems that could have been fixed much more easily if I had tested on the Mac side a lot sooner. Now I’ll be much better able to develop both platforms in parallel and hopefully improve my quality at the same time.

I was originally going to order the 15.4″ display, but my boss suggested going for the 17″ for the extra screen real estate. I wasn’t about to argue with that, though I worried that a 17″ laptop was bordering on not being portable. Boy was I wrong, though–the thing is so slim and light that it is hardly a chore to take it home with me.

So far I like the Mac. As my buddy Jason says, it’s “usable Unix.” I’ve never particularly cared for the Windows environment but used it because a) it was better than the old pre-X Mac OS versions and b) that’s where the software for developers was. Now most of the software I use is available on both platforms and the OS is a huge improvement. I hesitate to say it, but I could quite possibly become a convert. And since I can can virtualize Windows so easily on the Mac, I can have the best of both worlds on a single laptop.

I haven’t done too much yet with the Mac. I’ve been busy with a few things at work lately and, since I am trying to roll out the new Tay House site by the beginning of the scouting year, I’ve had little free time I home, either. So mostly I’ve been editing the site using our CMS’s browser-based tools and looking for tools to replace my most oft-used web development tools (such as Cyberduck in place of WinSCP). Of course, I’ve played with some of the cool software that comes with the Mac, too, like the DVD player and Front Row (full screen video is awesome on this thing).

I’ve also installed Virtual Box, an open source virtual machine container from Sun, and a virtual install of Windows Vista. While it works, VirtualBox doesn’t always hide the Mac mouse pointer when I’m “locked” into windows, so I end up with with two pointers–in different places–which is extremely confusing. I’m planning to ask for a license of VMWare, so that I can virtualize without confusion, sometime soon.

My only other complaint so far is with Office. Office 2008 is nothing like Office 2007 and things that I can do easily with office on Windows aren’t quite as fluid on the Mac. I guess that’s what you get when you let Microsoft design software for the Mac, though.

Overall, I love the Mac and can’t wait to be able to get more use out of it.

Chainable YUI?

Yahoo! released a preview of the Yahoo User Interface library version 3.0 yesterday. While I haven’t yet delved into the new package myself, it looks as though the new YUI will follow on the footsteps on other JavaScript packages like jQuery instead of following its own namespaced model. The preview code in the announcement on the YUI blog shows heavy use of YUI() and Y objects instead of the bulky YAHOO.whatever.whatever naming convention in use now and jQuery-esque selectors. It also says that the YUI team has “paid attention throughout the new architecture to the return values of methods and constructors” to allow developers to use chaining syntax in their code.

I have always preferred the maturity, robustness, and consistency of the YUI library, but the long naming conventions and poor selector support has often lead me to other packages for simple jobs. While the new YUI will be backwards incompatible with current code it looks as though the YUI team is taking a step in the right direction. I’ll definitely be watching as this new version develops.

<