Matthew Lang avatar

Matthew Lang

Family guy and web developer

Hello Atom!

About a year ago I made the jump to Vim. Having finally mastered enough of the keystrokes to muster through a single coding session, I made it my default text editor for programming. In the last couple of months though I've been using Atom for most of my programming. The reason for the move? Just for a change. Atom does have a number of niceties that encouraged the switch.

Good Looking

Vim is simple and productive but let's be honest, it's not exactly an eye-opener as development tools go. Sure you can cut and splice code like a keyboard armed ninja, but its look begins to get a little dull when you're using the same development environment for most days of the week.

Atom, like Sublime Text is it's own application and doesn't run within your terminal. The plus side to this is that it isn't restricted in the way the user-interface can give feedback to me through elements like auto-complete suggestions and notifications.

Atom is easier on the eye and maybe that's a cop-out reason for making a change in your development tools, but my eyes start to strain staring at a two-pane terminal session for most of the day. Maybe it's an age thing, but coding with Atom is much easier on the eyes than writing code within my terminal app.

Keyboard Friendly

Atom, just like every other development tool on the planet has a list of keyboard shortcuts that eliminate the need for a mouse. Not only that but there are some keyboard shortcuts from Vim that I can take with me to Atom. Also, like Sublime Text it includes a command palette to allow you to lookup and select the right command for the job.

Atom is keyboard friendly but more importantly for me, it's familiar in that most of the keyboard shortcuts I use are either from Vim or similar to shortcuts that I previously used in Sublime Text.

Switching to Atom wasn't prompted by it being a more productive editor, its growing community of packages or the fact that it's made by Github. The reason for the switch was just for a change. Sure I'm just as productive with Atom as I was with Vim or Sublime Text but sometimes you just need a change of tools to keep things interesting. A simple change like this can stir things up for the next few months or even years. At least until they perfect a text editor in the browser.

Given the choice between using Twitter’s embed snippet or just using a block quote for the tweet, I would use the block quote every time.

First time I’ve had to contact Apple support for a purchase in the iTunes store. Prompt reply within 48 hours and full refund issued.

Jennifer read this over the weekend and suggested I read it too. With two young kids, a Pixar movie is usually on the television at some point during the week.

The theory is that all of Pixar's movies exist within the same universe.

We also learn that this witch inexplicably disappears every time she passes through doors, leading us to believe that she may not even exist. Don’t get ahead of me, but we’ll come back to Brave. Let’s just say, for now, the witch is someone we know from a different movie in the timeline.

The Pixar Theory by Jon Negroni

Read on for the full explanation. Great fun for the adults being able to piece the movies together.

Repeating the Basics

A tweet by Brian P. Hogan sums up brilliantly what I've been doing in the last two weeks to stay sharp.

Whether you’re playing scales, shooting free-throws, or writing a web page, repeating the basics keeps you ready to perform.

Twitter by Brian P. Hogan
I've started using this practice in the last two weeks to help me stay sharp both mentally and physcially.

Mental Practice

In the last couple of weeks I've started learning Python. To do this effectively I needed a list of problems and solutions in Ruby that I could compare with Python. I didn't have anything so I started building Ruby implementations of basic data structures like lists, queues and stacks.

The solutions themselves are not complicated but that practice of writing simple classes and tests is something I've been doing almost every day for the last two weeks. What I'm hoping to do is to have a repository of code examples that are easy enough to do in thirty minutes, but can be used a starting point for other programming languages.

So far, I've been implementing similar data structures in Python and so far I've found the learning process to be much easier than if I had simply just started reading a book in Python.

Physical Practice

They say you never forget how to ride a bike, what they do forget to tell you though is that your body usually forgets rather quickly how much effort is needed to ride a bike.

Over the last twenty years I've had gaps in my riding that has sometimes amounted to months. Technically, I'm good on the bike. Shifting weight between the wheels, getting the right gear in place for tricky climbs and maintaining balance on the bike for when things almost grind to a complete halt. These little tips and tricks have been amassed over years of riding bikes. They never leave you. What does leave you though is the rest time that your body needs in between intervals of high intensity cycling.

To combat this physical forgetfulness, I've started doing intervals at my local trails to help get my recovery time down. The basics of bike riding are often seen as having the technical chops to guide the bike fast through obstacles on the trail, but you need more than this to keep the momentum of the ride going. The intervals help by reducing the rest time your body needs through periods of high and low intensity riding. After a couple of interval sessions I'm already starting to see improvements.

Repeating the basics can be applied to any profession or activity. Taking the basics of the activity and practicing them regularly help ensure you never go rusty or get out of shape. It's a small investment in time and effort to stay sharp but it's an investment I'm willing to make for the benefits in the long term.

When it comes to building communities, there's one essential ingredient that can make or break the community. It's trust. Sure there are other things needed to build a community like people and participation, but trust is essential if that community wants to meet its own aim and grow to include to new members.

Without entrusting others to act on the best interests of the community, it becomes nothing more than an organisation that uses bureaucracy to funnel contributions through to 'those in charge'. A community that needs approval on everything from a couple of people who act as the 'heads of the community' is going to find itself difficult to grow and may eventually end up turning people away. No one wants to join a community where all contributions to the community need approval from one or two individuals.

Trusting people to act within the best interests of the community is essential for the community to grow. It's through this trust we can allow people to act in the best interests of the community and make it a better community for all involved.