Speed Up Boot Time on your Mac

Great day in the morning!

I’m a happy camper today. I don’t reboot my Hackintosh often but when I do, I’m treated to a 4+ minute process while all of my startup applications load.

Around two years ago, I had an epiphany of sorts. It went something like this – “I don’t need everyone of these Startup and Login items immediately when I begin using my Mac. It’d be really great if there was an application that would take all of those startup programs and stagger them out so they don’t all load at once.”

I looked around and couldn’t find any. I used to write code but family and life doesn’t really afford me the extra time to write stuff.

So, I continued to suffer in silence knowing that I would endure long boot times on my Mac until a solution comes along.

Today, I’ve found the solution.
It’s in an application called Delay Start. It does exactly what I described above. It takes your startup items and allows you to place a delay on each one of them. The benefit is that they aren’t all trying to hog I/O resources when your Mac is still in the process of booting up.

If you want to speed up your boot time and get your app startup under control check out Delay Start

Get control over your Mac Windows for Free!

I run a two monitor setup at my day job. One thing that I really want to be able to do is quickly throw a window from one display to the next.

I’ve looked into window managers like Divvy but couldn’t find one that would do that one specific thing for me. That is, until recently.

I came across an open source window manager for OS X called “Slate.” It does a number of really cool things which I’ll explore in upcoming posts. For now though all I can say is Slate can easily take a window and with a hot key press throw it onto another window.

If you want to get better control over your window manager, check out Slate.

As I said, I’ll be sharing more about Slate as I learn about it. In the meantime, here is my slate config file, cobbled together from a couple places around the internet. I don’t recall every source but here’s one.

# put up a Divvy style grid
bind pad* grid padding:5 0:6,2 1:8,3

# Let's check out Slate's switcher
#bind tab:cmd switch

alias hyper ctrl;alt;cmd

# Setup Abstract positions to stick things in big quadrants on my screen
alias lefthalf move screenOriginX;screenOriginY screenSizeX/2;screenSizeY

# Abstract positions
#alias full move screenOriginX;screenOriginY screenSizeX;screenSizeY
#alias lefthalf move screenOriginX;screenOriginY screenSizeX/2;screenSizeY
#alias righthalf move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeYø
#alias topleft corner top-left resize:screenSizeX/2;screenSizeY/2
#alias topright corner top-right resize:screenSizeX/2;screenSizeY/2
#alias bottomleft corner bottom-left resize:screenSizeX/2;screenSizeY/2
#alias bottomright corner bottom-right resize:screenSizeX/2;screenSizeY/2

# Abstract positions
alias full move screenOriginX;screenOriginY screenSizeX;screenSizeY
alias lefthalf move screenOriginX;screenOriginY screenSizeX/2;screenSizeY
alias righthalf move screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY
alias topleft corner top-left resize:screenSizeX/2;screenSizeY/2
alias topright corner top-right resize:screenSizeX/2;screenSizeY/2
alias bottomleft corner bottom-left resize:screenSizeX/2;screenSizeY/2
alias bottomright corner bottom-right resize:screenSizeX/2;screenSizeY/2

#Bind those positions to the nd pad1 ${bottomleft}
bind pad1:${hyper} ${bottomleft}
bind pad2:${hyper} push bottom bar-resize:screenSizeY/2
bind pad3:${hyper} ${bottomright}
bind pad4:${hyper} ${lefthalf}
bind pad5:${hyper} ${full}
bind pad6:${hyper} ${righthalf}
bind pad7:${hyper} ${topleft}
bind pad8:${hyper} push top bar-resize:screenSizeY/2
bind pad9:${hyper} ${topright}

bind 1:${hyper} ${lefthalf}
bind 2:${hyper} ${righthalf}
bind 3:${hyper} ${full}

# Throws
bind n:${hyper} throw next
bind right:${hyper} throw right resize
bind left:${hyper}  throw left  resize

bind f:${hyper} throw 1 resize
bind g:${hyper} throw 0 resize

bind space:${hyper} hint ASDFGHJKLQWERTYUIOPCVBN

Win a copy of an awesome Mac productivity tool

textexpander logo

I type a lot every day. Over time, I began to notice that I type a lot of the same things over and over again. I discovered Smile’s utility TextExpander about two years ago and it has changed the way that I write text. TextExpander has eliminated much of the repetitive typing that I do each day. I’ll explain further with an example.

In general, I always use the same signature when I am typing an email. I don’t always use a standard signature so I don’t have Mail.app insert it automatically. With TextExpander, I can set it up so that ever time I type


TextExpander would replace it with


Joe C


Intrigued? Read on …

The Basics

TextExpander is built around snippets and abbreviations Snippets are the chunks of text that TextExpander expands when you type an abbreviation. You can create your own snippets like the example above or you can use some of the built-in snippets provided by TextExpander.

Out of the box, TextExpander includes snippets that will

  • expand accented words
  • auto-correct common spelling typos
  • expand HTML and CSS markup
  • shorten URLs
  • inserts common symbols saving you the trouble of opening the Special Characters palette.

but these snippets only scratch the surface of what TextExpander can do. I’ve created snippets to

  • expand common OS X directories – I type ~lib and it expands to ~/Library/
  • expand common email replies to frequently asked questions
  • convert text messaging snippets – I type brb and it expands to “be right back”
  • add lorem ipsum boiler plate text to files

There are loads of ways you can use just simple text expansion. It gets even more powerful with advanced snippets.

Advanced Snippets

TextExpander can do more than just expand simple text. TextExpander supports prompts, runs scripts and can insert rich snippets that include images.


I have embraced the paperless office. Part of the system I use involves me naming my files in a consistent fashion. For example, if I scan a medical bill I want to be sure that certain information is included in the file name. With TextExpander prompts, I can type in an abbreviation, get prompted for extra information and a filename is generated that conforms to my naming conventions.

Cross platform

If you use an iOS device you can reap the benefits of TextExpander there too. TextExpander snippets can sync across all of your OS X and iOS devices using Dropbox.

Due to limitations in iOS TextExpander isn’t as tightly integrated into the system but there are loads of awesome productivity apps with built-in support.

Jump right in

Try TextExpander out, you’ll be blown away at how simple it is to use. With each passing day you’ll find more and more ways to cut down on the amount of typing you do.

Win a Free Copy

For the next 30 days I’ll be taking entries to win a free copy of TextExpander courtesy of the awesome folks at Smile Software. To enter, leave a comment below telling me how you think you can use TextExpander to make your life easier. The best entry will be receive a coupon code good for a free download of the application.

Be sure to include your email address when you fill in the comment form so I know how to reach you if you win.

Colorize LS and Terminal

I spent many years working on Linux. When I made the move to OS X I felt nearly at home.

One thing I missed when I made the switch was the bash shell didn’t print text in color. Also, OS X didn’t colorize the output of ls which made me sad.

For whatever reason, it bothered me in a particular way today and decided to finally get my terminal to print in color.

I poked around on the internet on some Linux websites and found that all I needed to do was add the following lines to my .bash_profile file.

PS1='\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\    [\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '
alias ls = "ls-G"


Yeah, that looks pretty crazy. Here it is broken down. You can go deeper by typing man bash

PS1 is the primary variable used to customize the prompt. Customization works by adding special backslash-escaped characters to the variables. In this example:

  • we are setting the colors with ‘\e[0;34m]’
  • we are displaying the username with ‘\u’
  • we are displaying an @ symbol with ‘\@’
  • we are displaying the hostname with ‘\h’
  • display the working directory with ‘\w’
  • end the prompt with $

The alias command will substitute the ls command with ls -G which gives you nice colorized output.

Enter this information into your .bash_profile and then test it by running the command
source ~/.bash_profile
which will update your current terminal to use the new settings.

Your turn.

I have a nicely formatted bash prompt now using the $PS1 variable. Have you made any of your own bash customizations? Share them in the comments.

Killer trick to improve your writing courtesy of OS X

If you’re writing a document or an email it’s always a good idea to have someone proofread the document for you. Sometimes, just hearing your written words out loud helps to uncover awkward phrases.

You might not have another person on hand to read your work for you. Luckily, with OS X you can have proof reading built right in!.

Apple has included text to speech in OS X for a long time. Using it to proofread is easy.

Open up your favorite text editor and write some text. Then, highlight all of the text and choose “Edit->Speech->Start Speaking” from the menu. Your Mac will start reading your text back to you. I think you’ll be pleasantly surprised at the quality of the speech synthesis.

It’s your turn

Do you have any tips on how you use the built-in speech synthesis? Share them in the comments.