Friday, August 10, 2012

Geography is a Nerd's Paradise

The last few days I have spent working on an older model Dell PowerEdge 2950 rack-mounted server. Last week, I got the wild hair I wanted to upgrade my level of support for GIS on campus. To improve my support and promote GIS on campus, I decided implementing an intranet web site would satisfy both me and my end-users.

I remember setting up and running Apache back in the mid-90s. In order to provide some rudimentary map services, Tomcat was added to the Apache server to handle map requests. Looking back on those days I feel some kinship to the early days of surgery when the patient was given shots of whiskey and something to bite on in order to set a broken bone. Neither Windows nor Unix were completely happy running web sites, though Unix-hosted web servers seemed more amenable to the task.

My friends and I found early versions of Linux easier to deal with than Windows equivalent. But, my statement also comes from a member of a small group who found installing multiple simultaneous operating systems on a single computer a fun way to spend a Friday night. Using utilities such as "Boot Commander" we could run Windows, Linux, Sun Solaris all from a single computer. My memory also seems to recall my friend, Roger, managed to build a computer that booted no fewer than 4 operating systems.

Yes, those were the days :)

I set about figuring out how I wanted to serve my clientele. Not that any of them would care about my web server, my back-end database (MySql), or programming environment (PHP), or my choice of content management systems (CMS). As with any experience, I also wanted to learn something from putting these pieces together. Time is also an issue. Classes begin soon and our academic factory and machinery will soon begin injecting young impressionable minds with thoughts, ideas, facts, and knowledge.

Microsoft has an interesting utility, Web Platform Installer. "WPI" is a small utility which takes a snapshot of your server and responds with a smorgasbord of server tools, software platforms, databases recommendations, and content management software. Not only does WPI toss out recommendations but WPI will go ahead and install all prerequisite software needed to run any given software package or CMS.

For example, when I initially set out to setup my GIS Repository support site, I wanted to use WordPress. I selected WordPress from the choices presented and WPI began installing all necessary prerequisite software, MySQL, PHP, and IIS7. Very slick.

Very slick, except all did not go exactly as the directions promised. After examining logs of install details, re-reading directions, back to install logs, I finally had a working WordPress site.

[caption id="attachment_1226" align="alignleft" width="150"]Niklaus Wirth Niklaus Wirth, father of Pascal[/caption]

And, like a lot of things I tend to invest time in, I decided "Why use a platform I'm already familiar with? If I'm going to learn something, I need to use a CMS which is popular and not WordPress." I also have a constant recurring thought I need to keep learning as I might need a new job one day and I want to be able to tell a potential employer I have nothing against being exposed to new and different technology. I just don't want to program. I realize programming comes with all of the above details I simply do not want to code and be hired to code. There are people who enjoy coding and are good at coding and I am neither. I would rather change a light bulb on a cell phone tower, actually. Or, clean an alligator's pen. I've done neither of those tasks but I've done enough programming, Pascal, Fortran, Basic, C/C++, and ASP to know I can't see myself programming.

I dumped my entire WordPress installation. Not only did I dump my entire WordPress site but in doing so I managed to uninstall some prerequisites out of order and I botched my server. No worries; I simply rebuilt the server from DVDs, service packed and patched, and BOOM, I've got a clean machine again.

What to choose? I googled about a bit, running across a ComputerWorld article describing a CMS shoot-out. The article describes one man's challenges with WordPress, Joomal!, and Drupal. Initially, I had thought I would use Joomla! for no particular reason other than the exclamation point demanding my attention. After reading the article, the author seemed somewhat miffed and stymied by Joomla!. His miffedness carried over to me (sorry Joomla! users) and I opted for Drupal.

[caption id="attachment_1227" align="alignleft" width="142"]Drupal Am I allowed to use a Drupal logo on WordPress?[/caption]

Again, I returned to Microsoft's WPI to help expedite my installs. Ok, so why did I not bother installing all of these disparate elements individually? Why did I cheat, in other words? I leaned on WPI to help speed my time-to-live so I could better leverage my time. I am a one-person GIS support shop and have little time to invest in the bothersome details and nuances of some of the more complicated issues of config file editing and customization. I have a site to configure, develop, and launch very soon.

With WPI, I merely selected Drupal from the very long list of content management system I could have installed, selected "Add," and then I pretty much went home. When I return to my office later, I had a pending server re-start, which I did.

OK - not quite. I had to create a some database items, account names and passwords, provide a web site name and install locations, and then I went home, to return later and restart my server. WPI handled the details of installing IIS7, installing MySQL, installing PHP, and installing Drupal.

Part of yesterday, I reviewed some free Drupal themes, and opted for one called "Professional Business." I downloaded and installed, and soon had a new, fresh, customizable Drupal-powered intranet web site ready for me to play with.

Which is exactly what I did for most of today. My, how times have changed, the days of building pages from scratch HTML code, while not really history, seem quaint. All of my initial web sites I built from scratch, using mostly HTML with some Javascript to handle mouse-overs and other behaviors. Today, CMSs provide users an interface which removes some of the coding burden. I can tell already I'm going to need to dig out some HTML to arrive at the look I want.

The Discipline of Geography, and geography is a discipline, make no mistake. I ran across a geography forum where a student had posed the question "is geography a discipline or a tool? My friends say geography is a tool." My reply, tell your friends they're tools.

I have a Bachelor's degree and a Master's degree in Geography. I'd have a Ph.D in Geography if only to have more opportunities open to me but I allowed myself to be distracted and I fell off-course. To be a Professional Geographer today, and moving forward into the future, knowledge of technology is paramount.

In the early 20th century, geography involved exploring, getting your hands dirty - literally, drawing and mapping, learning languages and cultures, and numbers and statistics. But, you didn't have to learn technology; there wasn't any. The most complicated technology a geographer might have to use was a level and transit and maybe a sextant. Generally, though, the pen and paper and slide rule matched the technological limits for a professional geographer.

In the 21st century, all of the above still hold true. All the above, even the part about the level and transit; maybe not the sextant, though.

But, in addition to all of those details, to be a professional geographer one must also be able to swim with the technology sharks and learn the language of technology. No, I do not simply mean "megabytes" or "gigabytes" or "bits per second" (these are part of a geographers lingo, though), a professional geographer needs to know terms associated with bandwidth, processor speeds, color depth, mobile technology, graphics, network infrastructure, databases ... all sorts of technology.

Not only can traveling abroad make life interesting and the addition of a foreign language to one's skill set prove valuable, but professional geographers also add programming languages, like Python, or some flavor of .NET.

Professional geographer also need to have some knowledge of mobile technology and mapping. Hand-in-hand goes knowledge of iOS, Android, Java and/or Objective-C, the programming language of iOS. There are also numerous software development kits (SDKs) which can help geographers design and develop apps.

One aspect I enjoy as a professional geographer is the graphics arts and design of cartography, web design and layout, and general use of images and imagery. Millions of people are now using Google Earth, Bing Maps, Google Maps, and even now Apple and Amazon are leveraging their individual purchases of small mapping companies to build geography content into upcoming tablet devices.

Geography has something for everyone, but not everyone will be able to earn a living from being a geographer without also having a plan in place. By plan, I mean having put thought into utilizing the knowledge of all of geography's tools, methods, and techniques for fun and profit. My comment is true for nearly every discipline, though.

So, yeah, Geography is a Nerd's Paradise.

No comments: