Markup-enabled Notational Velocity

Christian Tietze has done great job forking Notational Velocity to support previewing markup using Textile, Markdown or MultiMarkdown. You can also export text as html, in case your blog engine doesn’t support these markup formats. It’s now my favorite tool for editing blog posts. Good job!

Programmer's keyboard layout

True hacker makes his own keyboard!

Well, maybe not. But many international keyboard layouts suck for programming. For example with Finnish keyboard you have to type Alt + Shift + 8 to get }. Now that’s a pain to type gazillion times a day.

To increase my productivity, I decided to create my own keyboard layout using Ukelele OSX app. First I was considering using Dvorak or its programmer’s variant, but then I realized it would have its issues with VIM key mappings and having to relearn everything would require a lot of practicing. So instead I based mine on the Finnish layout.

ml-keyboard

As you can see I’ve replaced all dead keys with something useful, and also I’m using å for {, since I hardly ever write Swedish. If I really need it, I can get it with Alt+å. I’ve also mapped my caps lock to esc using PCKeyboardHack, which makes VIM much more pleasurable to use.

With shift pressed it’s much like Finnish keyboard without shift with some additional Django and ZSH helpers.

See the result in GitHub or clone the layout git clone git@github.com:mikkolehtinen/ml-keyboard.git and copy ml-keyboard.keylayout to /Library/Keyboard ...

OSX ZSH magic

Terminal is perfect tool for hackers but it can increase anyones productivity.

ZSH is my default shell in Mac now. Read My Extravagant Zsh Prompt or zsh: The last shell you’ll ever need! why you should choose ZSH over OSX’s default Bash.

Tip 1: Use key bindings.

Here are some of my favourites:

Moving around:

Note: you must configure Terminal key bindings to make Crtl+arrows work for OSX.

Clearing:

Searching & History:

Tip 2: use preconfigured environments

Use shell framework such as oh-my-zsh or dotfiles. They give you helpers and preconfigured, easily customized environment which can be shared easily with all your computers. I chose oh-my-zsh and my configuration is available on GitHub.

Tip 3: replace Terminal.app

Replace Terminal.app with improved terminals with added features. Some options are iTerm or Visor, which I’m using.

Fork me on GitHub