From the blog
Currently displaying: All
Forced GitHub; A reflection on a new website using GitHub and Jekyll (7 min)
The first commit to our website was one year and eight months ago on May 26, 2015. We went live with the v6.0 on March 25, . Between that first commit and launch, we started an internal campaign to f
Mapping Utah’s Wireless Emergency Call Routing System (4 min)
UGRC recently assisted the Utah Communications Authority (UCA) on a project to map and analyze wireless 911 call delivery across Utah. The goal of the project was to provide local 911 communication ce
25 Years Ago: Laying the Foundation for Utah GIS Success (3 min)
For those of us not in the GIS field at the time, 1991 was a significant year in Utah and beyond...In March of 1991, Governor Norman Bangerter signed into law Senate Bill 21, sponsored by Senator Dixi
Why I Speak at Conferences and You Should Too (2 min)
Recently, I tried to gather all of the presentations that I have participated in during my career up to this point (~10 years). I was able to find for almost 20 different presentations or workshops t
Now You Know: About the gis.utah.gov v6.0 Refresh (4 min)
Four years is a long time for anything, and that certainly applies to website releases. For a number of reasons, gis.utah.gov, has been overdue for a refresh.In releasing the new, updated gis.utah.gov
The Earth is Not Round! Utah, NAD83 and Web Mercator Projections (4 min)
GIS users working on statewide projects in Utah need to know the specifics of three primary coordinate systems: Geographic (latitude/longitude), UTM NAD83, and WebMercator. coordinates use latitude an
Big Happenings with Public Land Survey System GIS (4 min)
Good things are happening in Utah regarding the Public Land Survey System (PLSS), also known as the township, range, and section grid, which forms the foundation for GIS map representations of public
Mock your Dojo AMD modules with StubModule.js (2 min)
When testing AMD modules it is sometimes necessary to verify how it interacts with it's dependencies. For example, you might be writing a module that makes XHR requests using and you want to make sur
Boost Your Productivity With Vim (3 min)
I was surprised to realize today that I have never written about one of my favorite tools that I use to write code. It's something that absolutely transformed my day-to-day coding. If it was suddenly taken away from me I would feel like I had gone back to the dark ages. That's right, I'm talk about Vim. Or more specifically Vim key bindings. Vim (Vi IMproved) [https://en.wikipedia.org/wiki/Vim_(text_editor)] is an old text editor that was first released in the 90's and is an improvement to an even older editor called Vi. The intriguing part of Vim for me was not the 20 year old piece of software but the system that it used to edit and navigate text. It's very efficient, requiring the coder to reach for his or her mouse almost never. Lest you think that I've abandoned my favorite text editor [https://atom.io/], the real power of Vim for me is not the actual software. In fact, I've only opened it up a few times out of curiosity. The power of Vim is the standard that it's set. There are Vim emulator plugins for every major text editor out there including Sublime [https://github.com/guillermooo/Vintageous], Atom [https://github.com/atom/vim-mode] and even online editors such as CodePen [https://blog.codepen.io/2014/02/21/vim-key-bindings/]. This means that if you invest the time into learning Vim commands they will be almost universally applicable across your development tools. Want to quickly go to the end or beginning of the current line? Change everything within the quotes? Delete everything from your cursor to the end of the line? Quickly go to a line number? Change the casing of the selected text? This and much, much, much [https://www.catswhocode.com/blog/130-essential-vim-commands] more can be done with just a few Vim commands. Here are a few of the commands that convinced me that I should learn Vim: * "A" Go to the end of the line and start inserting new text. * "I" Same as "A" but go to the start of the line * "ci"" Delete everything within the quotes and start inserting new text * "C" Delete everything from the cursor to the end of the line and start inserting * "545 gg" Go to line number 545 * "ct," Delete everything until the "," and start inserting new text These are just a few of the commands that I use every day. While it's significant learning curve, the time investment is worth it to me. After all... > Every year, the average Vim user saves over 4 seconds in accumulated time not > having to reach for their mouse… > > — I Am Devloper (@iamdevloper) April 3, 2014 > [https://twitter.com/iamdevloper/status/451792390865833984] There are endless tutorials available for you to learn Vim. After learning just a few of the basics I made it my practice to add one or two new commands to my personal reference [https://www.evernote.com/l/ABdguLm6UtRExY8VU_EZWbfJvRKE6rpjTCM] on a regular basis. After a few weeks you'll wonder how you ever lived without it. There are a few drawbacks that come to mind. Firstly, after a few months of using Vim, your fingers will start automatically typing commands into non-Vim interfaces. This can get annoying. Also, you've probably already realized that the learning curve is pretty steep. If you are not in a code editor on a daily basis then it's probably not worth the investment. But if you're in the mood to boost your productivity and give your poor mouse a break you may want to play some vim golf [https://www.vimgolf.com/] and see how it goes. :)