Commits, Pathways and Cogs

Of Commits and Cogs

The Cloud: For A Rainy Day Reason

So, when I came to an abode hit by a ‘forced entry’, my heart sank. Not only was my trusty HP 450 - i3 15.6 Notebook missing but the pending ‘commits’ to my github file and blog repository. Oh, the GeoHipster sticker, and only one, on the lappy was gone too. A week later I got a 1GB RAM Machine donation from a friend. Without giving it a thought, my way back up was via Portable QGIS for spatial data work. With fingers crossed, I should be able to set up my blogging environment again (Aha! I had documented the procedure as a blog post).

From this unfortunate encounter i learnt that

  • The cloud is there for a reason. Stay in the cloud to avoid a rainy day.
  • Commit often. It’s a great backup.

The loss of my machine was a major drawback to the blogging commitment I had made. In it all though, It dawned on me from a friend’s loss that

You can steal a man’s resource or equipment but they’ll always have the idea and dream with them.

So I continued to blog, albeit offline.

The takeaway from this post is: Commit Often, Backup Often, Avoid the umbrella.

Drive The Cogs

Recently, well 2015-2016, I got to sit in on a number of meetings at my day job. I enjoyed the conversations, dialogue rather but, it all got me thinking. My greatest contribution was to do with spatial, after the fact, at the back of my mind I would be thinking how can all this we are discussing about be made into some cool system?

People around the table were mostly planners, higher management decision makers. Technical details is not on their lips but, technical gets my endorphins going. Technical, systems, database …

I’m forced to take out the magnifying glass and inspect the path I am treading. The short of it: I enjoy pushing and seeing the cogs turn! Cogwheels

Anything for a Map - Part 1

On The Heels of The Pioneer Corps

Mapping the footprints of the men who faced the thicket, built drifts across rivers, played the debut soccer and rugby matches in a country.

Background

So, as I was working on some project and the corresponding write-up for a blog post, I got a ‘technology’ interruption. The key data for the project was ready now and the other processing was still ongoing TileMill, GDAL, ASTER.. what not.

CartoDB was the interruption and particularly Odyssey.js. My (initial) intention was to make a pannable map with an ‘old’ theme. Since this was going to be a spatio-temporal kind of a map I decided to give Odyssey.js a go.

Tire-kicking

So in one afternoon I had a reasonable visualisation going! Having a CartoDB account was one of the requirements for this exercise and I had long back signed up for a free account when CartoDB came on to the scene. I went with the Torque Template on Odyssey.js. The point data I uploaded to my CartoDB account, simply added a ‘integer’ field to represent time. It wasn’t difficult to figure out how the story could be put together using Markdown. And after two hours or so….voila!

The Map Story

#postscript

  • The experience I had with Markdown helped me to quickly compile my story.
  • I used a great tool by Ben Balter to upload a document of the narrative I used to plot the points in the visualisation to my GitHub account via the browser!
  • Apart from the expediency with which one can make a animated visualisation of one ’s data, there’s somewhat a restriction on the cartography front. Thus I will still continue with my initial intention on creating an old map.
  • Take away from all this is that there are great tools out there to help one do great things with minimal effort.

Cartoportation

Map-Teleportation

In a matter of minutes I was ‘cartoported’ from 2015 to circa 1980. It all started when I turned the Google Maps Navigator on. In a matter of 10 minutes I was totally disoriented as to where I was going. This was exacerbated by the season of the year. Sunset quickly turned to night. I only wished it was summer time where sunset can be experienced at 20:15 and not 17:58. The sacrifice I had made for some costly mobile data was about to count for nothing.

Location Settings The first mistake was over-reliance on the battery life of a Samsung Galaxy S4 Mini. At 35% you’d think you still have some hours of ‘play-time’ with the gadget. Two hours maybe, but that’s before you turn on GPS with ‘Locating method’ set to highest. Add to the mix a bumper-to-bumper traffic jam, and the ETA starts to increase, the distance falling at a snail’s pace.

I am one for no fiddling with a gadget while driving (#itcanwait), so I ignored the thing and enjoyed the diversity of cars passing left and right. The battery low warming was drowned by the engine sounds all around. Even if I had heard it, it didn’t matter because I had no in-car charger.

Stop and Look

5km or less after off-ramping from the busy national road into an arterial road, the phone went dead. Disorientation quickly set in. The comfort of just listening to “in 500 m take the left exit” was gone. I tried to remember; What was that road again that I was supposed to branch to? Was I to turn right or left after the third street? I quickly realised I didn’t remember and the information boards were only confirming what I already knew and not the finer detail I sought - when am I supposed to make that left?GMaps
Screenshot

As it turned dark, I stopped at a Caltex fuel/ service station. After strolling the place a bit, I found the favour of a petrol attendant whom a later entrusted with my trusty Galaxy. Ten minutes was the most I was gonna allow myself to remain ‘deaf’. I had already accumulated considerable time since my battery had died.

Cartography By Hand 101

The 10 minutes recharge (with the wrong charger) got me 15% of charge. I had pen and paper ready as I switched the phone on. I wrote down key contacts, turned on Location, ran the Maps app, searched my address and did my sketching. I think I did well. You be the judge… Hand Drawn
Map

I got my confidence back. Drove slower to as to glance at the sketch now and then.

In all this I learnt that one with a variety of tools in their toolbox is at an advantage.

#postscript

  • You probably have looked at the ‘survival’, must-haves for your car but the pen and paper do come in handy. So does some Cartography skills.

The Thin Data Pipe

Diskettes I recollect a time, seven or so years back, I was at a place where I celebrated the successful download of a 10MB installation file. I would compress it (WinRar), chop it up and then save it to several 1.44MB diskettes!

We have progressed well since that time but I still find myself using a thin pipe to tape to the internet!

A Tinkeror’s Necessity

For any ‘Tinkeror’ internet access is an indespensable assay but, the average Joe has to tinker more to get ahead. With the boom and proliferation of FOSS tools, ability to download at will is largely a given, the means, quite the contrary - for my part of the world. The connections to the interweb are there and the speeds are reasonable. The challenge is what you trade for to get your data chunk. Some great geo-toys even assume you’re always connected to the internet. Well, thanks to initiatives like the Smart Cape, I can budget the 500MB data allocation per month to download only critical programs to my ‘workbench’ or trusty S4 Mini mobile phone. But wait, I need to

$ rake deploy

to have my latest blog post published, and that requires some data currency. Thanks to git, I don’t need to push a file horde, just a simple markdown text file and a few pics. The 150MB/ month I get from my Service Provider atomises within four days of receiving it - provided I decide to be conservative about visiting Facebook. Trouble starts when I need that 729MB Landsat 8 file to check out what is happening this rainy season with the once disastarous Tokwe-Mukorsi Dam.

Landsat Data Download

I could download just the bands I need but, even that would deplete my monthly quota by (~59MB x 3) 35% for a true colour band combination. This is too much to sacrifice just for one project. Work arounds have to be fathomed, working with a D-Link 3G 21Mbps, USB Modem and Mobile phone (Mobile hotspot functionality).

# Wait For Night

I’m sure am not the only tinkeror who sacrifices sleep now and then.

Work all night, Sleep all day, Wake up at 8pm really confused

@lyzidiamond

MTN Night ExpressAt night, one can get a bit of reasonably prized data. I ran a USSD request on my service provider (07 May 2015) and got ‘Night Express’, 1GB for R10. Remember this will be chowed by a single landsat scene multiband image and would cost me a few hours of snooze.

An alternative service provider has a similar data deal:

But there is a catch, I get to sleep a bit later. Yay! Cell C Night
Data

# Sip or Chow & Work

There are 101 restaurants and Cafes with ‘Free-Wifi’ access. But having to trade 50MB/ day for your phone number and email address is a bit too much. Don’t even start on the idea of moving from Cafe to Cafe until a project is done. Sipping on a cup of coffe for two hours! Really?

Google Search is like a pencil and scrap pad. I transfer mental notes to there. More often than not I have typed Define:{Mind drift idea here} in that nifty search box. The thought that my browser is connected to the interweb never occurs in all of this.

# A Mesh Of All

Well, a 40Mbit/s ADSL line in the house, enabling one to read ‘Done!’ after a repository clone command simultaneously with the lifting of the finger off the ‘Enter’ key would be ideal. Until then, patience and data budgets remain the order of the day for the average Joe.

Installing Octopress on Windows 7 for Blogging on GitHub

Having a working Octopress install on Windows 7 was not straightforward for me. This post outlines the steps I would recommend to have a working environment.

Important: There are upcoming changes to the whole of the Octopress ‘platform’ so please readup, but while we wait …

Step 0: Pre-Requisite:

To have the environment going, you’ll need to have git up and running. But to save yourself the tears setting up SSH and permission stuff, I recommend you download and install Github for Windows. This will provide you with a ‘reliable’ command line interface. The correct paths for applications readily setup for you.

Step 1: Install Ruby

My working environment used the installer, Ruby 1.9.3-p194 (This might be an outdated version but it works well). Download and install the package, be sure to tick the check-boxes as shown in the image below (This will save you “command not found” errors later on) Ruby Install

Step 2: Install The Development Kit

Download DevKit-tdm-32-4.5.2-20111229-1559-sfx and extract this to C:/RubyDevKit.

Step 3: Create/ Choose Your Repositories Folder.

Create a folder, something like c:/github. In here we’ll store the files and folders which make up our blog, configuration files, posts, images, etc.

Step 4: Setting Up The Environment At The Command Line

Git Shell Now, using the Git Shell that was co-installed when you installed GitHub for Windows, run the following command:

$ cd c:/RubyDevKit
$ ruby dk.rb init
$ ruby dk.rb install

Thats should have the Ruby environment setup for you. Now continue with:

$ cd ..
$ cd c:/github          
$ git clone git://github.com/imathis/octopress.git yourusername.github.io

This clones the octopress repository. Now open the folder you cloned Octopress to, viz yourusername.github.io. Locate the Gemfile and using a text editor (I use Notepad++), open the file, replacing https with http. This is important!

Now do:

$ cd c:/github/yourusername.github.io
$ gem install bundler
$ bundle install

If, after everything is done the word error does not appear on the command line, you’re good to go. Still on the command line, continue with:

$ rake install

This installs the default Octopress theme. I wanted a different theme, Justin-Kelly-Theme in particular, so had to run:

$ git clone https://github.com/wallace/justin-kelly-theme.git ./themes/justin-kelly-theme
$ rake install['justin-kelly-theme']

Step 5: Setting Up A Repository on GitHub

You probably already have a GitHub account. Logon to GitHub and create a repository yourusername.github.io. Never mind the must have README suggestion by GitHub. Copy your SSH clone URL to a text editor or clipboard. It is similar to git@github.com:yourusername/youruserame.github.io.git and you can see it when you visit your newly created repository. So you should now be having https://github.com/yourusername/yourusername.github.io

Go back to the command line and run:

$ rake setup_github_pages

You will be prompted for a url: type git@github.com:yourusername/youruserame.github.io.git

You can then continue on the command line with:

$ rake generate
$ rake deploy

Opening http://youruserame.github.io in your browser should land you at your sparkling new blog, albeit, without content.

Now it’s time for some content creation.

The Octopress Website has excellent documentation to get you started. So head over there and get blogging.

Extras

After several tweaks to my blogging environment, I added a sidebar twitter widget, Comments via Disqus and Search(Currently in the works), to have a more appealing blog. Tutorials to do this are ubiquitous on the web and since i didn’t struggle setting them up I saw no need to include the howto with this post. I Include references below for quick access.

“ Parting Quote ”

@erickndava, March 2015

If the problem is IT related in whatever manner, and you can’t seem to find the solution, it’s probably on the internet - you just have to google harder for it.

#postscript

> Murky waters. (tl;dr)

After I had initially setup my environment according to the procedure outlined above, at somepoint evrything just broke. (could have been some Windows update)I lost my debut post. Tried to setup again using, Jekyll on Windows. That too had me in circles of troubleshoot. So I did the whole thing over, following the procedure here and Voila! I’m back in business.

Why another guide?

  • In the event my current environment goes awry, I will have a reference should I need to start over.
  • This is a deliberate move to force myself to document stuff - the usual thing for me is once I have it working successfully, I continue, ‘storing’ the procedure/ methodology.

  • Git vs GitHub for Windows - Initially I installed git and attempted through command line to set up SSH keys and all. That had me in circles troubleshooting. I must say there is great documentation out there so a novice can start with git. Since my current objective was to BLOG! I decided to quit the git-command line route and installed GitHub for Windows. What a breeze! (I am planning to deepen my knowledge of git so planning on even using GitEye for its graphic cues to git commands)

Wordpress, Medium, Tumblr…Anyone?

I chose Octopress and blogging on GitHub over other ‘easier’ methods for a few reasons:

  • This becomes my gentle introduction to git and GitHub
  • I like to be in ‘control’, viz I enjoy seeing cogs of a technology/ implementation moving.