♫ Nat King Cole – I’m In The Mood For Love

I’m In The Mood For Love by Nat King Cole W/ Lyrics – YouTube.

Found this to complement the following quote today on IRC at Automattic, by yourself truly .

♫ I’m in the mood to ship, simply because you’re near ready ♫ (to the tune of http://www.youtube.com/watch?v=Gg7OUG9V_cw)

To which Andy replied:

I was thinking more like “It’s time to ship!!!” http://www.youtube.com/watch?v=Ue3F3isiCvQ

Works too! Now, let’s ship that code! :)

.vimrc Tweaks

I’ve recently made the plunge and standardized all my text editing needs around vim. That is to say vim when in local or remote terminal sessions and macvim when editing local files.

Since this has lead me to tweak my .vimrc file, I figured I’d post its current incarnation for posterity.

set tabstop=4 softtabstop=4 shiftwidth=4 noexpandtab
set nowrap
set ruler
syntax on
filetype indent on
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType c set omnifunc=ccomplete#Complete

Here’s what it means:

  • tabs config: I like my tabs to be real tabs, but show as 4 columns/spaces wide, not 8
  • nowrap: most of my edits involve code and I don’t like soft text wrapping in that context. I just use set wrap when I need it instead
  • ruler: displays the current cursor’s position (line/col) at the bottom right, which means I don’t need line numbers displayed and save some screen real-estate
  • syntax: I like pretty colors when editing code :)
  • filetype indent: cursor remains at the same tab stop when editing indented code and going to a new line.
  • autocmd: sets code completion (AKA: Omni Completion) via ctrl-xo for PHP, Javascript, HTML, CSS, XML, Python and C

Those are the only configs I’ve found myself needing at the moment, but they made a huge difference in my daily productivity. Maybe they will for you too.

2011 Facebook Hacker Cup

Check out Facebook’s worldwide coding competition:

The 2011 Facebook Hacker Cup is the first annual Facebook programming contest where hackers compete against each other for fame, fortune, glory and a shot at the coveted Hacker Cup. […] Many will enter, but only one will claim title as champion and take home the $5,000 USD cash prize and be immortalized on the Hacker Cup.

Registration opens on December 20th 2010.

On a side note, I love that poster design. :)

Gmail Address Variants

Did you know Google ignores dots in your Gmail address username?

Sometimes you may receive a message sent to an address that looks like yours but has a different number or arrangement of periods. While we know it might be unnerving if you think someone else’s mail is being routed to your account, don’t worry: both of these addresses are yours.

I knew. Good thing I remembered when asked by a previous Plinky user about why he was still receiving weekly emails despite having deleted his account prior to Automattic‘s acquisition of the product. This was in fact the source of the issue.

Developers should also keep this in mind when programming a user and authentication system, as it can lead to support conundrums. This is also another example of why it’s always a great idea to go through an email validation step during your signup/activation process.

Making Ubuntu Server Work in Sun's VirtualBox

Here’s a quick fix if you’re interested in installing a VM running Ubuntu Server in Sun‘s OSS virtualization tool, VirtualBox.

After installing the 32bit version of Ubuntu Server 8.10 in VirtualBox 2.0.4 on my MacBook Pro (OSX), I was faced with the following error message when starting the VM, which I found also happens on other platforms:

This kernel requires the following features not present on the CPU: pae

From Wikipedia:

Physical Address Extension (PAE) refers to a feature of x86 and x86-64 processors that allows more than 4 gigabytes (GB) of physical memory to be used in 32-bit systems, given appropriate operating system support.

Fortunately, the fix was as easy as pie:

  • Once VirtualBox is up and running, select your Ubuntu Server VM.
  • Go to the “General” configuration screen and select the “Advanced” tab.
  • Check the “Enable PAE/NX” option.

Here’s a screenshot:

Ubuntu Server in VirtualBox: PAE/NX option selection

Try starting your VM again, and all should go as planned. It did for me.

The Future of XML

From “The future of XML“:

The wheels of progress turn slowly, but turn they do. The crystal ball might be a little hazy, but the outline of XML’s future is becoming clear. The exact time line is a tad uncertain, but where XML is going isn’t. XML’s future lies with the Web, and more specifically with Web publishing. […] Word processors, spreadsheets, games, diagramming tools, and more are all migrating into the browser. This trend will only accelerate in the coming year as local storage in Web browsers makes it increasingly possible to work offline. But XML is still firmly grounded in Web 1.0 publishing, and that’s still very important.

Passthru from Slashdot. Great read from IBM.