You Have To Walk The Streets

Last weekend I got early, grabbed my camera and headed down to a local canal-front trail to take some photographs. I was only planning on being gone for about forty-five minutes. However, when I got back to my car, I discovered I had somehow lost my keys. After searching around my car and peering in through the windows, I determined that I must have lost them along the trail.
I walked back along the trail. This time, instead of looking for wildlife and interesting geometries, I was scanning the dirt along the trail.


A few images from my walk:

By this time I had already walked two miles. I looked at my phone and realized it would be another three miles to walk home and get a spare key. I’ve never been one to sit around and bemoan my situation. So I started walking.

Now the route I took to get home was one I had driven hundreds of times. It’s made up of several major roads and a parkway. As I walked, I was amazed at what I was noticing. For one thing, I wasn’t sure if the entire route was walkable. When you take driving for granted you don’t notice how accessible your route is for other modes of transportation. It turns out, it was very walkable. There was even an interchange that had a small footbridge over it that I had never noticed.

When you walk, everything is slowed down. Instead of looking straight ahead while driving 45 mph, I had time to look down side streets and notice the businesses I never knew existed. I saw entrances to trails that couldn’t be seen from a car. There were new vantage points for taking interesting photographs. I even found a dirt lot with hand-cast concrete planters shaped around found items like wheelbarrows and grocery shopping carts.

I learned two lessons from my one hour, one mile turned three hour, five mile journey. First, don’t lose your keys. Second, to really notice your surroundings you have to slow down and engage those surroundings. Park the car and walk places you normally wouldn’t. You’ll be able to see things in a way a car just won’t allow.

Simple Design is Usually Best

You can design things for a variety of reasons. You might want to create something to be the tallest or the widest or the most efficient of its kind.   But unless you’re specifically trying to design complexity, the simplest and most straightforward design is often the best. My son demonstrated this recently in his design of a Pinewood Derby car for his AWANA group.

He started by determining the purpose of his car. Awards are given for the fastest car as well as the most creative. Because we were a little short on time this year he decided that he wouldn’t be able to put the level of commitment in to win thecreativity award. Speed became the only consideration in the build at that point.

The classic Pinewood Derby car shape is the wedge. There are endless variations of the wedge shape but basically you’re just cutting off half of your pine block at an angle from the bottom front to the top rear. We made a further weight reduction by removing a portion of the block on the bottom rear. At this point we added lead fishing weights to the bottom of the car by drilling holes and gluing them inside about an inch in front of the rear axles. The weels were installed with a slight cant so only the outside edges would be in contact with the track to reduce friction. Finally, one of the front wheels was installed high so it wouldn’t contact the track at all.

Our purpose was speed and our design reflected that by taking the most direct route.  The simplicity of the design allowed for a fast prototype and build and at the end of the night, resulted in a first place win.


The Power of Story

This pencil sketch was hand drawn by my 10 year old son yesterday. He’s been reading a lot from the Warriors book series by the multiplicitous and pseudonomous Erin Hunter. After each book he tends to get inspired to create fan art like this. Now, he’s a great artist but it’s still hard to get a 10 year old boy to sit long enough to put in that amount of detail. It goes to show how a powerful story can be the genesis of further creation.

Passion Not Profession

This isn’t one of those posts where the author says “sorry I haven’t been posting much lately but now I’m back and plan to start writing more”, although I haven’t and I do. Those posts are usually written in a burst of inspiration or guilt followed by never posting again. This post I’m writing now is happening during a semi-ketogenic stupor so it must be genuine and long lasting.

Over the last seven years I’ve been blogging, I’ve waffled about what and why I was posting in the first place. I originally named the site RyanRandom because I had so many interests and wanted to share them with others without being tied to a single topic. However, I later felt compelled to write primarily about geographic information systems (GIS) because that was my profession. All the blogs about blogging tell you to be consistent with your subject. Pick one “niche”  and stick to it so your readers won’t get confused. This way you’ll establish yourself as an expert in your field.

The problem is I don’t want to only write about GIS or programming. Those things are still important to me and I’ll still write about them. But what about art, poetry, fiction, photography, gardening and design? I certainly don’t have the time and energy to create separate sites around every interest (although I might change my mind tomorrow). For now, this site will be the central place for all my work. I’m just not that interested in followers, shares or Google rank.  So for now my philosophy is that SEO is for posers. When I change my mind I’ll come back and redact that statement.

Basically what I’m tring to say is that going forward I’m making a concerted effort to blog my passions rather than just my profession. And instead of a consistent subject, I just want to be a consistent writer. I probably could have just said that in the first place and made this post a lot shorter. But then it wouldn’t have been at least 300 words which the SEO gurus say it should be to establish subject authority.

How Observation Influences Art

For my birthday yesterday I went to a lecture by mixed media artist Mary Robinson called Shifting Perspective. She talked about the role  our environment and experiences play in making art.
I sat next to this enormous print during the talk. It was either inspired by the swamps in the authors home state of South Carolina or a crime scene in CSI New Orleans.

The writeup in the paper for the lecture used the word observation to describe this. However, I found it interesting that Mary never used the word observation in her talk (unless I was hearing but not really listening). We so often go through our days seeing things without really observing them. It takes a concious shift in thinking to truly observe our surroundings and understand what we’re seeing.

This is the same concept Maria Konnikova writes about in her book Mastermind: How to Think Like Sherlock Holmes. I wrote a post about this book a few years ago and just started re-reading it earlier this week. It surprised me to spot the apt description of this lecture in the paper on the morning of the talk.

We see things every day but we rarely observe. Yet true mindfulness and observation of our surroundings and interactions are so important for everyone from photographers to programmers and everyone in between. It allows you to discover new ideas, methods of implementation and more efficient strategies to accomplish goals. At the very least you’ll get better at Trivial Pursuit.

A New Way to Take a Shower

My kids kept complaining about having to take a shower every night. They were always saying things like “but we didn’t go anywhere to get dirty” or “we don’t stink!” or “it takes too long”. So I told them I would build this contraption for them to use so they wouldn’t have to expend any energy in the future. Their complaints have been strangely muted lately.


Objective Reasoning – The Basic Javascript Object

What is an Object?

In Javascript an object is simply a container or store of properties that are related to what the object is modeling. These properties can be primitive data types, other objects or functions. Here’s an example of an empty object with no properties:

const furBearingTrout = {};

I’ve used object literal notation which is doing just what it sounds like – literally writing out the notation of an object. We do this using curly braces {}.

How to create properties

When we want to set a property on our object we can do it one of two ways:
1. Use bracket notation where we state the object name along with a property name in brackets and then assign a value using the equal sign:

furBearingTrout[“name”] = ‘Alpino-Pelted’;
furBearingTrout[“url”] = '';

2. Use dot notation where we state the object name followed by a dot followed by the property name we want to use and then assign a value using the equal sign: = ‘Alpino-Pelted’;
furBearingTrout.url= '';

I could have created our object with properties already assigned. Note that properties are written as name:value pairs separated by commas.

const furBearingTrout = { 
  name: ‘Alpino-Pelted’, 
  url: ''

How to access properties

Once we have properties we can access them using the same two methods we used to set them just without the equal signs that assign values.

console.log(; //outputs ‘Alpino-Pelted’
console.log(furBearingTrout[‘url’]); //outputs ''

We can also create objects using the constructor method (new Object) or the Object.create() method but for this article we’ll stick to the literal notation for its simplicity and visual aid.

Functions in objects are methods

When the property is a function we call it a method. Methods do something with the data stored in the object. Imagine we had the following properties:

const furBearingTrout = {
  name: ‘Alpino-Pelted’,
  url: '',
  view: function () {
    console.log(`View the ${} trout at ${this.url`;)

You call a method by accessing the property name it’s associated with followed by parentheses.

furBearingTrout.view(); //ouputs ‘View the Alpino-Pelted trout at

Why do I use ‘this’ ?

The ‘this’ keyword simply references the very object it’s inside of. So is the same as saying Outside of the object we would refer to but inside the object we refer to

There’s a lot more to objects than what I’ve written here. But if you understand these basics you’ll already be able to model some fairly complex real world data and be able to manipulate it.

A Little Background on Map Elements

The problem

If you’ve ever had to place map elements like north arrows, text or scalebars on an ArcGIS made map, you know how they can get lost in the background of imagery or some other basemap. You can always try to change the items color or size to make it stand out. But the easier and more effective method is to change its background color to a solid color like white.

Map elements can get lost in the noise.

The problem with doing that is the background extent only stretches to the edges of its element. There is no padding between the element edge and the background edge.  Thankfully, ArcMap provides us with the ability to set a gap between the two edges.

Default backgrounds on map elements have no padding.

How to fix it

In ArcMap, right-click or double-click on the element to open its properties. Open the Borders and Background tab and select your backround color from the dropdown. Next, change the X and Y values next to “Gap”. The higher the number, the more padding you’ll get between element and background edge. You can also apply a “Rounding” percentage value to give your background panel rounded corners. That’s all it takes to make your ArcGIS map easier to read and more professional looking.

map elements
Adjusting backgound gap gives elements room to breathe.


Categories GIS

The Integrated Developer’s Environment

I was home sick from work the other day and had plenty of time to think. It occured to me that whenever I go in to the office I am very productive almost immediately. When I’m home, I tend to have little enthusiasm for programming. When I attempt to program at home I’m usually nowhere near as productive as at the office.

It hasn’t always been that way. When I lived in Las Vegas I wrote code at home on a regular basis. My immediate thought was that I don’t currently have the right hardware to be productive at home. In Las Vegas I had a decent desktop PC with two monitors and a hardwired internet connection. I currently have an old, slow laptop that shares a wireless connection among several people and lots of devices.

But is it really the hardware that holds me back? Most of my work is done in JavaScript which can be written with lightweight text editors/IDEs (I use Atom these days). I don’t need a lot of computing power for that. Honestly, my high-end rig at work is mostly for large imagery datasets and working with GIS.

I started realizing that it’s less the hardware and software that impacts my productivity and more the intended use of those things. When I go to the office, I use that computer for work. My home computer is used for surfing the web, writing emails and watching Netflix. When I sit down at it, my brain switches to mindless mode. I find myself wandering, checking email or googling things that pop into my mind.

So it’s less the development environment and more the developer’s environment that inluences his productivity. In my Las Vegas home I had set up my computer in a separate room and only really used it for programming. We had a separate laptop (the same one I have now) for web surfing and intertainment. For me, I have to have a psychological, if not physical, separation between work (anything that takes concentration and thought) and play. I would like to spend some time working on some open source projects on the weekends so it looks like I’m going to have to carve out some space in the house or a dedicated office.