I used to go to a lot of schools to talk about maps – be it High School or College several times a year. Some have learned “Hey we don’t want Randy to talk to the impressionable kids”. I still do it if requested but I don’t make it well known that I will just show up and talk about maps and data. This year for GIS Day I went to the University of Tennessee at Knoxville to hassle the kids about all things open source. There were a large percentage that went “I’m learning python so I can do GIS – do you know python?” and I would go “I know some python but you don’t have to know python to do this”. Which started me thinking about young Randy back 27 <gasp> years ago and what skills I had learned then (1992) that were still relevant now.
When I started my geo career we were running Unix workstations. I had a system administrator that worked with my department that started teaching me small tricks to make my life (and his life) a little easier. It all started out with a terminal. From there I started learning how to run commands or build small scripts to rename files and move data from point A to point B on the network. Eventually the Unix machines gave way to Windows Machines and the problems remained: small repeatable problems I can fix from a command line. Today, the Windows machines have given way to MAC/Linux machines which is even better (but Windows 10 isn’t all that bad (yeah I said it)).
What does this have to do with GIS? Not much. What does this have to do with a life long skill set? Everything. Geo software, operating systems, computing power have changed immensely but the small things I learned on the command line grew a better understanding of programming, networking, and “system administration” in general.
I need to move some files on my machine – the files are spread over multiple directories. From my linux box I do: find . -type f -print0 | xargs -0 mv -t /home/rjhale/biketrails . I think that command moved about 30 or 40 shapefiles into one common area for me to eventually merge into one file.
What has been the longest running single program I’ve used over 27 years that’s still a thing? It’s VI (currently VIM). It’s all command line.
VI is a text editor. It’s simple and it’s standard with a Unix operating system and was released in 1978. VIM is a clone of VI and was released in 1991. It’s simple and powerful and you don’t have to leave the keyboard to use it. There is a version for every operating system so you aren’t left out. What do I use it for?
- Make notes while working on a project.
- Write scripts.
- Automate changes to text files.
I’ve been using that since 1992.
Like I mentioned above – the scripting led to an exploration of networking. I’m not a sysadmin by any stretch but if something goes wrong on a server I can at least craft a half competent explanation for someone who knows what their doing as a start. The simpler the better as in “I can’t ping this box” OR “Can you give me access to the network through <fill in the blank>”.
So where does that leave us for the firs it day of XYMas? Learn some command line tricks and tools. It doesn’t have to be something complicated and it doesn’t have to be something grand. It has served me well over 27 years. Think Small and Simple. Do something fun for your first outing.
Take a look at some tutorials out in the internet (as always these may or may not be active at some point in the future)