Location, Navigation, Identity, and Destiny

My uncle greatly favored the saying “You are who you are because you were where you were, when.”

Location drives both identity and destiny.  If you were located in certain places in North America at the time of your birth, then you can claim identity as a US, Canadian, or Mexican citizen.  If you were located in lower Manhattan on the morning of 9/11/2001 or coastal Tohoku on the morning of 3/11/2011, then parts of your identity and destiny were shaped by your location..

My new career starts where I am, and will be taking me new places.  I am learning wonderful things about the art, science, engineering, history, and philosophy of geo-positioning and navigation.  Allow me to share some interesting details of what I am learning.  I will be posting my discoveries in this blog in the “Navigation and GPS” category.  If you want to contact me directly, I would welcome your thoughts and insight.


(Image courtesy of langll at Pixabay.)

Advertisements

Report Card: Git Essential Training on Lynda

When leading teams of architects and sellers in preparing complex proposals, one of my frequent headaches was version control.  The Architects understand version control, but typically bring different personal techniques.  God bless the Sellers, but they frequently just couldn’t see why we all couldn’t just keep revising the same file and naming it the same thing.  I’m excited to finally get to learn about this popular important tool for version control for small to medium-sized projects.  (The threshold for “large” in project size is always a subjective matter until you are working with one of the giants.)

I just completed the Git Essential Training class on Lynda.com and I recommend this on-line class.

Kevin Scoglund has done a good job here.  The lectures are flawlessly delivered.  His diction is so clear that it is possible to accelerate the delivery rate to 1.5x and still clearly understand what is being presented.  The on-screen time is 100% focused on the Git tool, with excellent use of pointers, highlighting, and other visual cues.  (I believe too many on-line classes waste screen time showing the presenter blather away in a poorly prepared “studio” space.)

This course focuses on using Git from the command line, and using only Git (not GitHub.) It makes sense to me to thoroughly understand Git before moving forward on understanding the deeper parts of GitHub.  The course uses an example web development project as the training material.  The course provides the files and directories for the project.

The course uses what I would call the “Tell, Show, and Follow” method.  For each topic, there is a video lecture telling the importance of a specific scenario or technique, including a demonstration of the technique.  The student can then re-enact the same technique (with variations) on their own computer using the project files provided.

The course incorporated 6 and a half hours of video in 88 lectures to thoroughly cover the material.

This course has no final exams, grades, or certifications.


(Image courtesy of jarmoluk at Pixabay)

I love Visio! I hate Visio!

I love Visio.  It produces so many great diagrams with great detail and clarity.  You can’t build, manage, operate, or support a data center without Visio.

There are a few things I really hate about using Visio with MIS organizations (especially MIS management.)

The main thing my clients hate about Visio is the same thing my previous employer hated:  the licensing cost combined with the closed file format.  The more good VSDX files you have circulating in an MIS organization, the more people are clamoring for a licensed software copy so that they can even see the danged diagrams.  Microsoft has shrewdly used some of their traditional product packaging techniques to make it so that your typical end-user can’t see the contents without thinking he or she needs the full Visio software package.  (Yes, there are a couple of solutions for your more experienced user.)  Circulate an updated diagram of the data center floor plan and suddenly everybody in the MIS organization and in the data center building will be clamoring for Visio on their laptop or desktop (or both.)

The most amusingly annoying thing I hate about using Visio is “architect elitism.”  Due to the licensing cost, many organizations choose to distribute Visio licenses only to the few people actually expected to be producing VSDX diagrams.  The assumption is that the producers will distribute PDF copies to the diagram viewers.  At IBM, licenses were only distributed to a short list of IT architects.  This quickly established a concept of elitism connected to who had or did not have the software.  I attended many design meetings where the “peons” would complain about not being able to see the design and the favored few responded “You must not be an architect.  Only architects use Visio, and architects only use Visio.”  I truly believe that if software was still distributed in boxes, some of these guys and gals would have carried around the empty Visio product box so that everybody could tell they were one of The Chosen™.

One quick way to embarrass yourself in front of clients is to distribute VSDX files at an Executive-level design review.  Executives don’t tolerate the attitude that they would be able to appreciate the brilliance of your design if only they had the foresight to load Visio on their laptop.  Executives have long loved Powerpoint.  Naturally, this leads to large populations of Partners, Managers, and IT Sellers wanting to see everything in Powerpoint.

After spending enough tedious hours stuffing Visio diagrams into Powerpoint presentations, I concluded that most diagrams should start out as, and remain Powerpoint diagrams.  Visio is really indispensible when you need “everything on one chart,” such as a data center floor plan, a rack elevation diagram, or some network diagrams.  However, many presentations and discussions either take a semi-abstract view of the big picture, or only need to show the details about one small aspect of the big picture.  For drawing IT diagrams, Powerpoint has the features that Visio designers use 80% of the time, and about 60% of Visio drawing tasks are essentially the same as in Powerpoint.  Frankly, the best rack elevation diagrams that I’ve seen were built in spreadsheets.  (Which would you rather revise 5 times per day during a deployment project: a cabling spreadsheet or a cabling diagram?)

I believe that there are really only a few situations when you really need Viso:

  • If the diagram will be physically plotted on giant paper and posted on the wall for everybody to review,
  • If the client demands detailed network, cabling, or elevation diagrams that must be simultaneously complete at the large scale and the small scale.
  • If the client demands detailed diagrams that much be dimensionally accurate (such as floor plans and some rack elevations.)
  • If you are preparing high resolution detailed diagrams for publication.

In my dad’s day, quality detailed diagrams were the work of skilled draftsmen and graphics artists, but that is a topic for another day.  May all your diagrams be true and clear, and may your graphic arts skills ever increase!


(Historical image courtesy of NASA.)

 

Ten Simple Rules for Better Data Visualization

Nicolas Rougier and friends have prepared an excellent outline of how to prepare superior data graphics.  Their focus is on preparing effective data charts, and their article dwells on how to prepare individual charts for academic publication.  However, their points are valid in a wider sense (and overlap with some of Edward Tufte’s guidelines.)

I am synopsizing and expanding for my own benefit.

Rule 1:  Know Your Audience

Rule 2:  Identify Your Message

Rule 3:  Adapt The Figure To The Support Medium

Rule 4:  Captions Are Not Optional

Rule 5:  Do Not Trust The Defaults

Rule 6:  Use Color Effectively

Rule 7:  Do Not Mislead The Reader

Rule 8:  Avoid “Chartjunk”

Rule 9:  Message Trumps Beauty

Rule 10:  Get The Right Tool

In that last rule, they inventory a number of open source tools useful to preparing data graphics for presentation and publication.  I want to capture these for my own skills planning purposes.

MatPlotLib is a python plotting library that comes with a huge gallery of examples that cover virtually all scientific domains.

R provides a wide variety of statistical and graphical techniques, and is highly extensible.

Inkscape is a professional vector graphics editor. It cab also read a PDF file in order to extract figures and transform them.

TikZ and PGF are TeX packages for creating graphics programmatically.

GIMP is a photo compositing application that can quickly retouch an image or add some legends or labels.

ImageMagick is a software suite to create, edit, compose, or convert bitmap images. It can be used to quickly convert an image into another format.

D3.js offers an easy way to create and control interactive data-based graphical forms which run in web browsers.

Cytoscape is for visualizing complex networks and integrating these with any type of attribute data.

Circos was originally designed for visualizing genomic data but can create figures from data in any field.


(Image courtesy of cocoparisenne at Pixabay)

My Favorite MatPlotLib and Seaborn References

Here are some references I’ve found particularly useful when developing or debugging Python code with MatPlotLib and Seaborn.

User’s Guides

These focus on techniques for using specific methods.  They are generally stronger than beginner’s introductions.

https://matplotlib.org/users/beginner.html

http://matplotlib.org/users/index.html

Reference Guides

These provide encyclopedic reference on the details of function and syntax.

API Reference:

https://matplotlib.org/api/pyplot_api.html

Quick Reference:

This one starts out as a tutorial, but the bottom quarter is a great Quick Reference:

https://github.com/rougier/matplotlib-tutorial

Glossary

http://matplotlib.org/glossary/

Cookbooks

http://scipy.github.io/old-wiki/pages/Cookbook/Matplotlib.html

https://matplotlib.org/users/recipes.html

http://scipy-cookbook.readthedocs.io/

Tutorials

The better organized on-line tutorials easily serve as user’s guides.

https://matplotlib.org/users/tutorials.html

https://matplotlib.org/users/pyplot_tutorial.html

https://www.labri.fr/perso/nrougier/teaching/matplotlib/

https://pythonprogramming.net/matplotlib-python-3-basics-tutorial/

http://www.scipy-lectures.org/intro/matplotlib/matplotlib.html

https://github.com/rougier/matplotlib-tutorial


(Python logo provided courtesy of Python Software Foundation, used here under the “nominative use rules” of their policy.)

My Favorite NumPy and SciPy References

Here are some references I’ve found particularly useful when developing or debugging Python code with NumPy and SciPy.  (I can’t avoid the temptation to use the Australian pronunciation:  “Skippy.”

User’s Guides

These focus on techniques for using specific methods.  They are generally stronger than beginner’s introductions.

https://docs.scipy.org/doc/numpy/user/index.html

https://docs.scipy.org/doc/numpy-1.11.0/user/

http://www.scipy-lectures.org/intro/numpy/index.html

http://csc.ucdavis.edu/~chaos/courses/nlp/Software/NumPyBook.pdf

 

 

Reference Guides

These provide encyclopedic reference on the details of function and syntax.

Language Reference:

https://docs.scipy.org/doc/numpy/

https://docs.scipy.org/doc/numpy/numpy-ref-1.12.0.pdf

https://docs.scipy.org/doc/numpy/reference/index.html

 

Style Guides

These provide some best practices on structuring the code.

http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_numpy.html

https://github.com/numpy/numpy/blob/master/doc/example.py

https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt

 

Glossary

https://docs.scipy.org/doc/numpy/glossary.html

Cookbooks

http://scipy-cookbook.readthedocs.io/

Tutorials

The better organized on-line tutorials easily serve as user’s guides.

https://docs.scipy.org/doc/numpy/user/quickstart.html

http://www.tutorialspoint.com/numpy/

http://cs231n.github.io/python-numpy-tutorial/

https://github.com/rougier/numpy-tutorial

http://www.scipy-lectures.org/intro/index.html

https://www.labri.fr/perso/nrougier/teaching/numpy/numpy.html

https://www.dataquest.io/blog/numpy-tutorial-python/

 

 


(Python logo provided courtesy of Python Software Foundation, used here under the “nominative use rules” of their policy.)

Tell Me I’m an Idiot!

I am eagerly studying new math and science, learning new methods, and tinkering with new tools.  I’m showing my work in public (here and on GitHub.)  I welcome coaching, constructive criticism, and insight into more efficient and  effective ways of accomplishing results!

I would especially welcome mentoring in data science, and guidance on more important or effective data sets to work upon.

So, call or write and tell me I’m an idiot.  But please show me where I’m being an idiot and how to work smarter!

Sincerely,

Carl Gusler

Austin, Texas

carl.gusler@gmail.com


(Image courtesy of stevepb at Pixabay)