vim is amazing

vim is a text editor. Text editors are a very mundane tool; it’s hard to get excited about one. At least, if it’s not vim. It’s very, very easy to get excited about vim, because vim is amazing.

There is one reason vim is absolutely amazing. It seems incredibly simple and small, but it makes working with text incredibly easy: instead of selecting character by character, vim lets you select by units that mean something. (Of course, you can still select by characters if you want to.)

What does that mean? It means that instead of clicking and dragging or using Shift and arrow keys to select a sentence you want to get rid of, you can do das: delete a sentence. If you typed a word entirely different from what you meant to type, you can do cw: change word. If you use semantic linefeeds, like I do when drafting blog posts, you can use dd (delete a line – to select a line you repeat the operator) to get rid of a structure.

I’ll make it easy for you: download vim from here, and get my .vimrc (configuration file) from here. Once you’ve got vim, run vimtutor – it takes about half an hour, and teaches you everything you need to know to use vim.

A Short Guide to Licensing Open-Source Software

I am not an attorney or remotely trained in this in any way, shape or form. None of this is formal legal advice. That said, it isn’t illegal advice either – it’s just advice. Also, I live in Canada. While most of copyright law should be the same in most of the world, you might want to look into your country’s laws just in case. Take this entire post with a grain of sand.

Did you write some code? Good! Do you want to open-source it? Great!

Unfortunately, it isn’t that simple. I’d really like it to be, but it isn’t. There are two paths from code to release, proprietary and open-source, but both ways lead into a maze of twisty little passages, all alike. For the open-source option, I (and many, many others) can help. Continue reading “A Short Guide to Licensing Open-Source Software”

groot.sh: because I can’t remember to sudo

UPDATE 2016-11-10: I no longer use this. It’s here for posterity, but in the future please use sudo !!.

I always forget to use sudo. Every time. To save me a few seconds, I wrote groot.sh (guarantee root). It’s a small shell script that simply checks if you’re root. If you are, it runs its arguments as a program; if you aren’t, it warns you and gives you a 3-second window to cancel before running its arguments as a program as root. Use it like this:

alias brew='/path/to/groot.sh brew'

and presto, every time you run Homebrew, you are root. (Homebrew in particular is annoying because if you run as a user it does everything but the last step, and you need to brew link <...> instead of just brew install <...>-ing.)