Showing posts with label python. Show all posts
Showing posts with label python. Show all posts

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.

Monday, May 21, 2012

Fostering Education Through Student Incubators

Technology is challenging to stay on top of. Seems like every day a new tablet, a new smartphone, or a new version of Android is released. The changing legal environment of social networks adds another dimension to technologies complexity. The number of programming languages required for technology development only Zaphod Beeblebrox would be able to count on all hands.

Colleges and universities struggle against rapidly changing technological needs, cuts to financing, and striving to educate students with necessary skills to be productive in a rapidly globalizing workforce. With online educational opportunities such as those offered by OpenCourseware and Coursera growing in popularity colleges and universities could find themselves fighting for relevancy in a few short years.

How, then, to educate, train, and remain relevant?

One opportunity gaining some legs is the idea of "student incubators."

What is a "student incubator?" A few years ago the buzzword zipping among campuses   across the country was "business incubator." The idea of colleges and universities hosting business incubators was to attract businesses and industries to higher education facilities in order to foster a greater level of involvement between public and private entities. The private sector has the knowledge of the business world and money, while colleges have access to research dollars, students needing to gain experience, and faculty interested in research. The Federal Government encouraged cooperation by tying grant funding to proposals which detailed private and public interactions.

At Ivory Tower State University, a "business incubator" was built 1/2-mile from the main campus. With funds from the Department of Commerce, the Commonwealth, and Ivory Tower State University, an attractive, two-story brick building was constructed on nice property on a busy two-lane state highway. The Innovation and Commercialization Center (ICC) opened in 2002 and has enjoyed pretty much zero  tenants. The building was essentially a shell, with the inside to be completed by whoever decided the lease the place. With millions of dollars of construction yet to be done, few startups wanted to dump their investment capital into architecture and design of office space. My point being, the "business incubator" idea was sort of a flash-in-the-pan.

Over the weekend, I ran across a piece in the Chronicle of Higher Education which referred to "developing student entrepreneurship." Student entrepreneurship was to be fostered through "student incubators." Rather than try to work with mature business and industry partners, colleges and universities are recruiting high school students, community college transfers, and current students. These students are then given the opportunity, supplies, some financial resources, as well as faculty guidance in assisting them with a startup.

University of Wisconsin - Madison

Oklahoma State University

Florida State University

For more on student incubators: 

Bloomberg Business Week, Sept 23, 2010

Bloomberg News, May 17, 2012

Statesman.com, Austin, TX, May 3, 2012

MichiganRadio, Ann Arbor, MI, April 26, 2012

UCDavis News & Information, University of California - Davis, CA, May 8, 2012

Of immediate concern to many universities is drastic cuts in state funding. In recent memory, universities were able to farm out work to application developers, consultants, and independent contractors. Honestly, many colleges and universities were living high on the hog, and were not doing much to restrain costs. Times are now different, and will remain so for years to come.

Ivory Tower State University is no different. Looking at how ITSU funds projects, I wonder if some of ITSU's efforts might be better directed to using on-campus expertise. For example, ITSU contracted with an outside developer for a new web site. The only users who enjoy the new web site are those who contracted out the work. The rest of the user community, i.e. the world, believes the new web site is an atrocity. Adding insult to injury the cost of the new design was the equivalent to a new Harley-Davidson Softtail. Personally, I'd rather have the old web site and the new HD.

Why could a new web site not have been created in-house? Could a new web site not be developed by the in-house web team? Or, could the faculty, staff, and students of the Computer Science department have been invited to submit a number of web site prototypes? Or, perhaps even better, why could not a campus-wide contest be offered for the design of a new ITSU web site? Instead, ITSU is suffering under a crappy web site which no one wants to update.

An ecosystem of education, training, development along with the cost-benefit savings of conducting activities in-house could go a long way towards providing real-world experience for students and teaching moments for faculty. A college web site administered by faculty-student teams could provide opportunities for considerable involvement for all parties; the college gets a fresh, up-to-date, low-cost web site, faculty are able to research, explore, develop, and mentor, and students gain exposure to a variety of Internet technologies. Everyone wins.

Colleges and universities need to avail themselves to local talent and encourage, mentor, and nurture students wanting to expand their horizons. Colleges and universities have missions to serve their communities, provide opportunities, and public higher education institutions should be committed to ensuring responsible use of state money. "Incubating" students knowledge and skills seems like a no-brainer to me.