Tag: coding

  • Life cycles

    Step 1: I make coffee.
    Step 3. I reach for the cup, but it’s empty.

    Can you guess step 2 and 4?

  • ♫ 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.

    http://twitter.com/#!/stephdau/status/51275806772707329

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

    [sourcecode]
    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
    [/sourcecode]

    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.

  • WP Plugin Challenge: Who Wants to be a Five-Thousander?

    From Jeff Chandler’s “Calais Offers WordPress Plugin Bounty“:

    Calais which is a metadata generation web service that is powered by Reuters is offering up a $5,000.00 bounty to anyone who can develop a plugin that meets the following criteria: tag auto suggestion, semantic cloud, GUID incorporation.

    I can’t go for this one, having other immediate priorities and commitments, but it sounds like a neat and challenging project to tackle.

  • XMPP as the Future of Cloud Services?

    From Matt Tucker’s “XMPP (a.k.a. Jabber) is the future for cloud services“:

    There’s a new firestorm brewing in web services architectures. Cloud services are being talked up as a fundamental shift in web architecture that promises to move us from interconnected silos to a collaborative network of services whose sum is greater than its parts. The problem is that the protocols powering current cloud services; SOAP and a few other assorted HTTP-based protocols are all one way information exchanges. Therefore cloud services aren’t real-time, won’t scale, and often can’t clear the firewall. So, it’s time we blow up those barriers and come to Jesus about the protocol that will fuel the SaaS models of tomorrow–that solution is XMPP (also called Jabber) . Never heard of it? In just a couple of years Google, Apple, AOL, IBM, Livejournal and Jive have all jumped on board.

    An interesting read on an increasingly attractive architecture.

  • Google: Software Engineer, 3D Graphics – Montreal

    From the Craigslist ad:

    Google is seeking excellent software engineers with a passion for building real-time 3D graphical applications. Here at Google we are always on the forefront of creating revolutionary products. If you have experience with distributed interactive user applications or real-time 3D graphics, we invite you to join our world-class engineering team!

    Ready? Polish your résumé… Go!