Home » 2013 » April

New blog design

Starting the today this blog is using a new design. I think this new design looks a lot more modern than the previous one did.

There’s still room for improvement though as a single request to the front page seems to generate over 130 HTTP requests. This is a bit too much to my taste so I’ll be looking into bringing this amount back to something more sane. Most requests are generated by the social widgets that are on my website.

Another thing I improved was adding Varnish PURGE support. By enabling that the cache will be reset every time I add or update a page. Should work for comments as well. Speaking of comments, the current system is likely to be replaced by Disqus. I’ve never really liked how the comment system works and Akismet is letting more and more spam getting through.

Also back is an RSS icon (see bottom of the site). Some of the link categories have also been removed from the sidebar, as well as the full site navigation which can be found at the top of the website.

Expect several more changes coming in the next days as I’ll be ironing out the flaws. Any comments and suggestions for improvement are more than welcome.

IRSSI: Ignore joins, parts, quits and nicks messages

I use IRC on a daily basis and my client of choice for that is Irssi. I run it on my Raspberry Pi which is always on, so I generally stay idle in the channels I’ve joined. Some channels have a lot of users connecting and disconnecting which clogs up the backlog a lot. I don’t know these users so I don’t really care who joins or parts. I’m more interested in any discussions or solutions to problems that are being asked.

To ignore these messages in Irssi you can simply issue the following command. Just make sure to replace #channel with the channel you want this setting to apply to.

/ignore -channels #channel * JOINS PARTS QUITS NICKS

If you use another IRC client I suggest you take a look at this hide join part messages for IRC clients.

Vim essentials: Ack

Ack is a tool for searching your (code)files, much like grep already does, but better. Ack is written in Perl and works on all major platforms, including Windows. To use Ack with Vim there’s this nice plugin called ack.vim. Install it together with App::Ack and you’re set to go.

With a single command (:Ack [options] {pattern} [{directory}]) you can recursively search for files matching {pattern}. The results returned from Ack will be visible in a newly opened pane in which you can navigate and open the file to start working with it. Every result line contains the file path, position of the matched search and the contents of that line.


Vim essentials: NERD Commenter

Another great Vim plugin I use is NERD Commenter. Using this plugin makes it easy to comment out lines of code with just a few keystrokes. By pressing <leader>cc or <leader>c<space> you can comment out your selection using a single comment character per line. With <leader>cm you can comment your selection with one set of multipart delimiters, though your programming language has to support those. Repeat the commands to uncomment your code again. These commands work on single lines as well as on multiple lines which you’ve selected in visual mode (e.g. ranges).

In some cases it can happen that NERD Commenter doesn’t know which comment characters to use which causes it to use comment characters your language doesn’t or may not support. So far this only seems to happen when the filetype can’t be determined by Vim. This can be annoying at times, but I can live with it.

All NERD Commenter commands

For completeness I’ve copied the full command set from its README below. Personally I only use the ones I mentioned earlier. Though I think I’ll go and try to memorize the NERDComYankComment function since that particular case can pop up quite a lot when programming.

[count]<leader>cc |NERDComComment|
Comment out the current line or text selected in visual mode.

[count]<leader>cn |NERDComNestedComment|
Same as <leader>cc but forces nesting.

[count]<leader>c |NERDComToggleComment|
Toggles the comment state of the selected line(s). If the topmost selected line is commented, all selected lines are uncommented and vice versa.

[count]<leader>cm |NERDComMinimalComment|
Comments the given lines using only one set of multipart delimiters.

[count]<leader>ci |NERDComInvertComment|
Toggles the comment state of the selected line(s) individually.

[count]<leader>cs |NERDComSexyComment|
Comments out the selected lines “sexily”

[count]<leader>cy |NERDComYankComment|
Same as <leader>cc except that the commented line(s) are yanked first.

<leader>c$ |NERDComEOLComment|
Comments the current line from the cursor to the end of line.

<leader>cA |NERDComAppendComment|
Adds comment delimiters to the end of line and goes into insert mode between them.

Adds comment delimiters at the current cursor position and inserts between. Disabled by default.

<leader>ca |NERDComAltDelim|
Switches to the alternative set of delimiters.

[count]<leader>cb |NERDComAlignedComment|
Same as |NERDComComment| except that the delimiters are aligned down the left side (<leader>cl) or both sides (<leader>cb).

[count]<leader>cu |NERDComUncommentLine|
Uncomments the selected line(s).