Andrew's blog

Just another programming blog with an uninspired title

Hello, there

Hi, my name’s Andrew and I’m a programmer. I code mostly in Ruby and Rails, but I try to play around with other stuff every once in a while. I’m a dedicated Vim user and I’ve created a bunch of Vim plugins. You can find me as “AndrewRadev” on github and on twitter.

I have a few non-programming hobbies. I love watching anime and reading manga. I enjoy video games, mostly RPGs. I’m also a Doctor Who fan, but only of the 2005 series.

In this blog, I write about my programming-related experiences. Most of the articles seem to be about Vim, but in general, I blog about a bunch of different stuff.

Here are a few of my more interesting projects:

  • vimrunner is a ruby library that lets you spawn a vim instance and control it. This could be useful for integration tests for vim plugins and it’s actually being used for CI in some of my own plugins and Paul Mucur’s runspec.vim.

  • ghundle is a terribly-named package manager for git hooks. At this time, it’s minimal, but working, and I use it for sharing some simple git hooks between projects.

  • ctags_reader is a little library to read ctags “tags” files and give you an interface to query them in a similar way that a text editor would. It’s useful for some super-simple static analysis of code.

  • daily_sites is a small website I use to manage my everyday reading list.

  • image-processing is an implementation of a bunch of simple image processing algorithms in ruby, using the chunky_png library. It’s mostly an exercise, though I’d love to improve them and actually figure out a good use for them.

  • waiting-on-rails runs the rails command, while also playing some relaxing elevator music.

  • randfiles is a small tool that takes a list of directories and generates a random selection of files, optionally limiting them by size or by count. Inspired by this tweet.

  • digits is a university project in C that attempts to recognize a digit from a given image. It’s very limited, but it was an interesting exercise in image recognition.

And some Vim plugins, if you’re into that:

  • splitjoin lets you switch between multiline and single-line versions of the same code.
  • linediff lets you diff blocks of code instead of files.
  • inline_edit makes it easier to edit code that’s embedded in other code, like script tags within HTML.
  • switch changes code in predetermined ways depending on what is currently under the cursor.
  • sideways moves items in lists (argument lists, arrays) to the left and to the right.
  • whitespaste attempts to adjust blank lines automatically when pasting.
  • multichange provides an easy way to replace words in a buffer or a particular area. Think variable renaming.
  • writable_search lets you grep for something, edit the results directly and have the changes update the original buffers.
  • undoquit is like a “Restore Tab” button for Vim, except it also works for splits. A window that was closed with :quit can be reopened with a keymap.

If you’re a Vim user, you might also like to look around my Vimfiles.