Share the Fire!

Appfire's HotOnCollaboration.com Blog Feed Connect with Appfire on Twitter Connect with Appfire on Facebook Connect with Appfire on Youtube Connect with Appfire on LinkedIn




Subscribe to the HotOnCollaboration Newsletter

Because Humans Build Product - Appfire's Niko-Niko Team Mood Calendar plugin for JIRA and GreenHopper.

Contributors

Randall Ward
Randall
Mat Gauvin
Mat



Search

Hot Tweets

« Why are we so afraid of transparency? | Main | Simplifying JIRA Workflows - A strong case for LESS = MORE »
Tuesday
Sep282010

The Power of Automation

This is my first post in an ongoing series where I'll be focusing on all things automation in the world of Atlassian solutions development.

Living by the Code

My personal mantra is this: Anything you do often should be automated.

It's no secret to developers that just about everything that's repeatable should get scripted. Done correctly, scripting can save a TON of time. Not only because scripts run so much faster that humans alone, but because once tested, scripts will run a correct task over and over again, avoiding costly human errors.

Within this initial post, I wanted to share a quick list of tools that have helped me live by my own mantra:

Ant for Build Process

Every development process has release cycles. That means there's an iteration of releases coming out of the development team. In my opinion, everything should be automated from branching the code within source control, to compiling the code and creating a releasable binary. Whether you're using SVN or Perforce, Ant can help you achieve this goal pretty easily.

Shell Scripting for Install Kits

Even if an installation consists of just unzipping a jar to an appropriate folder, if you have an automated script that grabs the file from a pre-defined released location and unzips it to a specific folder, it can save you a lot of time.

Most of the time an installation also requires restarting a service or a process. Having a one-click install process that does all of these for you can go a long way. Most of the time a developer or a release engineer goes though the process of creating a kit and then installing it on a server. Instead, try automating the process of kitting and then installing by invoking a single shell script that takes a build version as an input. Watch how much time you can save on each build!

Shell Scripting for Script Functions

There are a number of small tasks we do everyday on Terminal or SSH windows. Creating aliases or functions for tasks like switching to a directory, or finding the latest file in a directory, works really great. If you tail a log file often, create a function for that. If you often SSH to a server, create a script so that you don't have to type the whole SSH and domain name every time. There's no limit to how creative you can get about creating scripts that help you with your everyday tasks.

SSHKeyChain for Password-less Connections

SSHKeyChain is a slick solution for Mac OX X (which I'll be raving about in a future post) that can help you login to an internal server without having to type your password every time. This saves me a good amount of time every day. Consider letting SSHKeyChain manage your passwords for you.

QuickSilver for Faster Actions

As far as I'm concerned, no matter how fast you are with a mouse, using keys will always be faster. This is because your hands are already on the keyboard, but to use your mouse you have to reach up and over for it and then navigate to the exact menu option. To launch an application from the dock, you have to find and click it. On the other hand, assigning a key to launch an application, or typing the first couple  letters of the application gets that same work done a little faster. Here are a few common uses for QuickSilver:

  • Launching applications
  • Copying, moving or deleting files
  • Launching a favorite URL

Efficient Keyboarding using Keyboard Maestro

This is one of my personal favorites! If you're like me and believe in maximizing your keyboard for improved overall efficiency, you're sure to become a big fan of Keyboard Maestro. Whether you're scripting a process for clicking one or more menu items, or navigating to a webpage by first logging in and then clicking on a particular link, ...KM truly has it all. I've also found that clipboard manipulation is another great feature of KM!

Textexpander & Typinator for Expanding Shortcuts

How many times a day do you type "Can you please" when you draft emails? How about just "Thanks" or "Please"?

Creating a quick 3-character shortcut with Textexpander or Typinator to automatically expand a longer text snippet can save you time ... expecially when you total up all those saved keystrokes over a week or month!

Automator for Scripting

You can create custom workflows in Automator to accomplish many of the tasks you do everyday. For example, creating a release email for a product that takes a version number as an input variable. The task list for Automator is big, so go have fun and explore it.

Contact Groups for Emailing Small Teams

This can be as simple as using the email distribution groups that your network folks have created. Most email clients will also let you create your own groups. If you find yourself often sending emails to two or more recipients, consider creating a few groups instead of typing multiple names all the time.

Auto Password for Firefox

I know many people who don't use the "remember me" option in websites or let Firefox save passwords. Come on man, this is your box (assuming it's your box of course). Just setup a good login for the machine. Once you're logged in, most people don't need to worry about someone else using your machine to check your gmail. If you are concerned though, just use a basic screensaver to lock your machine after a few minutes of idle time.

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
All HTML will be escaped. Hyperlinks will be created for URLs automatically.