spr

Syndicate content
Recent Posts on the Blog
Updated: 59 min 2 sec ago

Oggify 2.0 rc 2

Sun, 2008-04-27 21:54 -

Just a version bump of Oggify to RC 2 (tar). Re-encoding works again.

Also, if anyone has time, let me know in the comments if the standard python setup.py install worked for you with Oggify. Mention you distro, etc if you could.

Oggify 2.0 rc 1

Wed, 2008-04-23 23:31 -

I'm announcing the release of Oggify version 2.0 release canidate 1 (tar). New features: 0. I have added a small number of unit tests, which should provide more stability with updates. Additionally I've done a huge refactor of the design, which will make things much easier for me. One feature remains: re-tagging. I'm think that'll be rc 2.

Full Code Navigation: Cscope

Fri, 2008-04-18 23:17 -

Not long ago we discussed ctags here, and how it can quickly let you navigate your code, helping you find definitions of variables and functions. You'll have taken notice that sometimes you want to navigate in the reverse: where is this function called, who includes this file, etc. Cscope builds a database of such information (and more). We can include it with ctags and have very impressive code searching.

If you want a detailed introduction, there is a great cscope and vim tutorial available. I'll just give you a quick run down of using it.

  1. At the base of your C or C++ source tree run cscope -R -b -q

  2. Add this to your .vimrc:

    if has("cscope") set cst set csto=1 if filereadable("cscope.out") cs add cscope out endif endif
  3. Start Vim in the same directory as the generated cscope.out file. (If not, just do :cs add <cscope.out file>).

  4. To find where a function is called do :cs find c <function>. To find where a symbol is defined do :cs find s <symbol. You'll notice that if there are multiple matches a menu pops up to let you pick. This is the case for using CTRL-] on symbols as well.

  5. Make some handy mappings:

    nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR> nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR>

Cscope can do many other searches. See the tutorial or just type :he cscope in Vim.

Host Aliases in SSH

Fri, 2008-04-18 18:24 -

So you've probably got one or two hosts that you frequently ssh to that have long hostnames. You'd prefer to just alias this to something really short. There's a couple ways to do this:

  1. Hosts file alias. Problem: may overwrite something useful for other network connections.
  2. Shell alias. Problem: too many aliases.
  3. Good shell tab-completion. Problem: I can never get zsh to do intelligent ssh host completion.
  4. SSH configured alias.

So to create an alias for a system add to ~/.ssh/config the following:

Host <alias> HostName <real system fqdn>

Some examples:

Host s HostName scottr.org Host b HostName 192.168.1.1

After a Host entry can be host specific configuration, and Host can be a pattern (Host *.slashdot.org). So for a host you could disable host key checking, or use a specific key file. Comes in pretty handy.

Slicehost - Great Hosting

Tue, 2008-03-25 20:46 -

I don't think I've really mentioned my hosting provider, Slicehost on here before, but they deserve a bit of mention for providing great service. Be warned, the rest of this message might be construed as a shameless promotion.

They provide a Xen based VPS solution. I've been using them for about a year and a half now. I originally moved to them due to the excellent price to RAM/HD/Processor ratio. Since then they've added a host of handy features (not all features listed are new):

  • DNS hosting (with a zone editor that doesn't suck)
  • AJAX based web console to system
  • Cheap, automatic, backups
  • Great statistics/monitoring
  • An excellent wiki, blog, and articles*
  • Constant updates on service issues from their blog or twitter
  • I'm told 24/7 problem resolution (but I haven't had any)
  • Two data-centers

I've been extremely happy with their quality, and the improvements they're constantly making. If you're looking for a VPS provider, in the 256 - 4 GB RAM range, I'd say you should look into Slicehost.

* They also have a forum and podcast