Advent 4211 Netbook

Posted by El Draper
on Jul 30, 08

Yesterday I picked up an Advent 4211 netbook. It’s exactly the same hardware as the MSI Wind, only it’s a re-branded, cheaper version. It’s a really cool piece of kit, and I thought I’d stick some unboxing pics up for all to see. You can check them out on Flickr here.

So I’m waiting on a few other bits to arrive (another stick of RAM, a replacement wifi card, and an external DVD reader), and then this weekend I’m going to attempt to switch out Windows XP on this bad boy and replace it with Mac OS X (using this guide). That’ll make it a really cheap, ultra portable Macbook, for coding on the go. Awesome!



Lesser Known Classics #2: Queens of the Stone Age - Songs for the Deaf

Posted by El Draper
on Jul 26, 08

This is the second post in my series on classic albums that perhaps don’t get the recognition they deserve. The first in the series was about Rufio’s masterpiece, MCMLXXXV.

This post is about the Queens of the Stone Age album, Songs for the Deaf. Now it’d be hard to argue that QotSA are “lesser known” – they are a huge, well recognized band within the rock world, and have been making great music for a little over ten years now. Songs for the Deaf itself got critical and commercial acclaim, and achieved gold status. However, it seems that truly classic albums rarely leave the rock and roll consciousness, and are used as a milestone to compare other albums too – and Songs for the Deaf, unfortunately, doesn’t appear to be held in that regard. I think it should be.

Unlike the Rufio album in the first post I made, I can’t honestly say I think each and every song on the album is a winner – the difference here is that there are a number of mind blowingly brilliant songs that just makes the entire album a classic, and all of the songs seamlessly flow into each other, making the whole thing an audio experience to behold.

The superb opening song (“You Think I Aint Worth A Dollar But I Feel Like A MIllionaire”) sets up the entire record. Beginning with sound effects of someone entering a car, and continuing with the car radio DJ introducing the album – “I need a saga – what’s the saga? It’s Songs for the Deaf. You can’t even hear it”. The album is indeed an epic saga, and “Songs for the Deaf” alludes to QotSA’s comical, zany nature that shows throughout all of their work.

Of course, this album is special as Dave Grohl did the guest drums, and immediately after the DJ introduction, a heavy drum beat sets up a hard rocking opening song that really buzzes. With a great rhythm, the song just feels right. The guitar work on this track is brilliant too, and it’s one of those songs that you can imagine must be an absolute riot to play live on stage.

Immediately following this breathtaking opening is the first single from the album, “No One Knows”. Again with a great drum beat laid down by the mastermind Mr Grohl, it’s very catchy, and very cool. Not too heavy, but it was a great vehicle for the album, and the kind of song that gets stuck in your head for days at a time. Another single, “First It Giveth” follows, a lot heavier than “No One Knows”, and while not as catchy, it’s another winner. More big drums, and this time with a more impressive bass line – it also incorporates acoustic elements for the bridges in the song, which gives the song a stop-start melody that’s more than a little interesting.

“A Song For The Dead” follows that track, and again revolves around an incredible drum beat, and some brilliant guitar work. While a lot of the tracks on this album follow the same pattern (and why not, when you have Josh Homme on the axe, and Dave Grohl on drums?), it never seems to be overly repetitive. This song builds up and builds up as it progresses, and reaches epic proportions towards the end of the fifth minute, as it slides into an epic guitar frenzy with the same guitar and drum melody that opened the track, this time on steroids. By the time the song is done (it’s almost six minutes long), you feel drained.

What follows almost feels like a bit of a rest and relaxation period for the album, after the frenetic opening. It’s not that the following songs are bad, they just simply couldn’t keep up with the album’s first four tracks. Luckily though, the album again switches it up a notch when we get to the best track on the album (and one of my favourite songs of all time) – “Go With The Flow”. Contrary to some of the other, mammoth tracks on the record, this weighs in at just over three minutes. However this is perhaps the only area that the track comes up short, as it delivers in every other department. Once again tying musical mischief together are the guitar and drums, setting the stage for a fairly heavy track, but one that still feels melodic. “I can go, with the flow” sings Homme, and it’s obvious by this point that he’s right. The entire album is about flow, and about the songs tying together to form something that is bigger than the sum of its parts. It is in fact this song that seems to define the album for me, being a reference point for all of the brilliant aspects that it incorporates. Special mention must also be made for the amazing video that was put out for this video as this song too was a single. The video is a dark, comic-like affair, that seems to take place on a hellish highway. It’s not particularly subtle in the end, but the video and song work together better than any I’ve ever seen.

It’s true that the rest of the album doesn’t feel as good from here on out – but I think that is almost certainly down to the quality of the songs that precede the final ones, the ending songs themselves are easy to listen to and do a great job of supporting the real star tracks on this record. It’s worth mentioning the closing “Mosquito Song” though, which is a fantastic way to end the record, favouring a slower, quieter acoustic sound over the heavy drums and guitar that laid to waste the first 50 minutes. It puts the excesses in perspective, and frames the entire album as a classic.

So what makes this a classic? It just seems to have it all – it sounds great, it feels great, and it has lasted the test of time – this album is now six years old, and still seems as fresh as the day I first popped it into my CD player. That surely is the true test of a classic – does it still sound as great as day one? The answer here is yes.

So what of QotSA now? They’ve had some interesting stuff happen over the last few years, with band members coming and going – but Josh Homme is still at the helm, and while the follow-up to “Songs for the Deaf”, “Lullabies to Paralyze” wasn’t up to the same standard, the more recent effort, “Era Vulgaris” comes a lot closer. It is unlikely to be a classic, but includes some really brilliant tracks, such as the first single “Sick Sick Sick”, and “3’s and 7’s”. I guess it’s a shame sometimes for a band to have such an amazing album as “Songs for the Deaf” in the middle of their career – it must make going back to the studio afterwards incredibly difficult.

If you don’t have “Songs for the Deaf”, pick it up immediately.



What's up Proc?

Posted by El Draper
on Jul 06, 08

So it’s awesome Ruby snippet time, and in particular I’m going to look at the ability to evaluate statements against a block, specifically to find out where the particular block came from.

The “eval” command not only takes in the command to be executed, but can also optionally take in a binding to run against. This means that instead of evaluating a command against the current, local binding, a specific binding can be used, and for our example, we are going to use the binding on a Proc object, to allow us to evaluate a statement as if it was running within the block itself.

Let’s setup a module that allows us simply to register a block to an array:

module TestApp
  class << self
    # Adds a block to our global array
    def add_block(&block)
      @@blocks ||= []
      @@blocks << block
    end

    # This just returns our block array so we can iterate through it
    def blocks
      @@blocks
    end
  end
end

Within this same file (let’s call it test1.rb), we can also register a test block. The execution of the block isn’t really important, so let’s just do:

TestApp::add_block { puts "test1" }

Now let’s setup a second script (called test2.rb) that’ll also register a block, and that will iterate through the blocks and use the “eval” command to show where each block originated from:

# Reference our first script
require File.join(File.dirname(__FILE__), "test1")

# Add a second block
TestApp::add_block { puts "test2" }

# For each block we have, run a statement that will return the "__FILE__" variable for each block, against the blocks own binding
TestApp::blocks.each do |blk|
  puts "Block from: #{eval('__FILE__', blk.binding)}" 
end

If we run the test2.rb script now, we should see output similar to the following:

Block from: ./test1.rb
Block from: test2.rb

So we can now differentiate between our blocks, by investigating the blocks own binding! Something to bear in mind is that obviously the paths shown are relative – if you were executing the test2.rb script using an absolute path (for example, “ruby /path/to/test2.rb”), you’d see that the absolute paths were shown instead. Either way, the information should be useful in determining the origin of a block.

Now you may be asking, what’s the use case for something like this? Our block registration code above does nothing useful, and in fact we don’t even execute the blocks themselves! Well, within Feather we use this code to find out which plugin registered a particular block – in this way, we can check at runtime (before executing the registered block) whether the plugin is active or not. If it isn’t, it won’t be executed, if it is, it will.

This is just one of those cool things you can do when you have a reference to a specific binding – there’d be nothing to stop you from interacting with the blocks bindings in other ways too.



Meebo + Fluid

Posted by El Draper
on Jul 06, 08

Much like my boy Mike, I’ve grown tired of Adium too. The app itself is great, but unfortunately the connection with MSN seems to be rather flakey. So I tried out Meebo, and it rocks. I’m using Fluid so that I can have it open in it’s own window. The only thing lacking was IM notifications for when the Meebo window doesn’t have the focus – or should I say, the only thing that WAS lacking? I’ve written a basic user script for Meebo on Fluid that’ll display the name of any user talking to you on the dock badge for the Meebo Fluid instance, and the message they have sent will be displayed as a Growl notification. You can check out the script here.

The script itself is rather simple, and just piggybacks on the fact that Meebo changes the document title when the window doesn’t have the focus, and someone sends you an IM. Meebo will cycle through the name of the user talking, and the message they have sent, in the window title. The script simply regularly checks for changes to the window title, and then splits out the user, and their message, so as to display the user on the dock badge, and the user/message as a Growl notification. Once you focus on the Meebo window, Meebo ensures that the title returns to the default, and the notifications stop.

Hopefully this will be of use to others too, and if anyone is able to take it and improve it further, I’d like to hear about it!



Viva Las Vegas

Posted by El Draper
on Jun 27, 08

So fellow Brit Peter Cooper mentioned on Twitter that he is getting married in September this year in Las Vegas. I said that my wife and I got married in Las Vegas last September, and he asked if I had any advice or tips to share. Unfortunately, 140 characters isn’t really enough :-)

We had an incredible time last year, and I wouldn’t have changed a thing. So for those like Peter who are planning or thinking of planning a wedding in Las Vegas, here are a few tips I can think of just from our experiences:

  • it’ll probably depend on where you are getting married (we had our ceremony at Caesars Palace, in the beautiful Venus Garden), but try to make sure that there is a dedicated wedding planner Stateside at your venue of choice that can deal with any queries over the phone or e-mail at any time. Having that peace of mind knowing that they will walk you through the process and answer any question you have within a day or two makes the whole thing a lot easier
  • if you’re getting wed at a casino hotel, make sure to remind them just how much you’re spending on the ceremony, and I’m sure they’ll see what they can do with regards to discounts for other services. For example, by getting married at Caesars Palace, owned by Harrahs, we were offered discounted rooms at any Harrahs casino hotels (such as Ballys, Paris, Caesars Palace etc) for us or anyone in our wedding party. Also see what else you can get included within the package, such as a honeymoon suite for the night of the wedding, free champagne in the room etc
  • even if you are planning a small reception do (we had 11 people including us), book ahead. By doing so, you can try to secure a private room in one of the many amazing restaurants Vegas has to offer, and you’ll find that having a private room isn’t too expensive in many places, providing you are able to commit to a set menu, or choose a set of meals ahead of time (so the restaurant roughly know how much your business will be worth!). We had our reception meal at a private room in Canaletto (within the Venetian hotel), and it had a private balcony overlooking the faux Venice Grand Canal within the hotel. It was absolutely beautiful, and while it was by far the most expensive meal I’ve ever paid for, every cent was worth it
  • you absolutely must ensure you are in Vegas at least two days before the wedding, preferably longer (we landed on the Sunday, and got married on the Thursday). This will ensure that you are able to get over jet lag, and get used to the hot and humid weather over there
  • on top of the above, it’s really worthwhile heading downtown to the courthouse to get your marriage license as soon as possible. You need to provide identification (such as a passport), and will need to pay a fee for the license (it was around $50 for us back in September last year). However you’ll need this done and dusted before the ceremony, and if you go as soon as possible, then if the courthouse is busy, you’ll leave yourself enough time to get the license without having to rush around
  • it sounds obvious, but plan every detail you can before you set foot in Vegas – don’t leave anything to sort out when you get there. You want the whole thing to be as stress free as possible, and if you have everything set in stone beforehand, it will be. Take printed paperwork for everything (e-mail confirmation of reception restaurant booking, for example), just in case
  • if you’ve got a room booked as part of the ceremony package for the wedding night, then when you check in on the day of the wedding (the grooms job, as the bride is busy elsewhere!), don’t be afraid to ask for an upgrade. At the very least, you’ll get a reasonable price on a fantastic better room (for a small upgrade price, we got a honeymoon suite on the 42nd floor of one of the amazing Caesars Palace towers, overlooking the Bellagio fountains and down the strip!). If you’re lucky, you may get a great upgrade on the house
  • budget for everything, and err on the side of caution. Remember tax, and gratuities. If you plan for every penny, and round up, as well as going for the most expensive scenario, then if it comes in cheaper, you’ll have a few extra bucks for the slots
  • pay extra for the video/DVD of the ceremony. It’s worth every cent (no matter how expensive) to be able to re-live the best day of your life over and over
  • on the day itself, take in every minute, and enjoy it all. It sounds simple, but I had it mentioned to me before the big day, and I tried to make sure that on the day itself, I stopped and took in every little detail as much as possible. It’s an amazing day, and it’ll be over before you know it, so make sure you enjoy it

I wholeheartedly recommend Caesars Palace for the ceremony itself, as it was absolutely fantastic, and our wedding coordinator was brilliant. However there are a number of very classy casinos up and down the strip that I’m sure would provide similar services. It really comes down to personal preference, and finding “the place” that is right for both of you.

As for Vegas itself, and the experiences on offer, I can honestly say that the six days we were there for weren’t enough to even scratch the surface of what it has to offer. But the stuff that we did that we really enjoyed:

  • a tour out to the Grand Canyon. The flight out there didn’t agree with me, but I’d do the whole thing again to see the views – absolutely stunning. Worthwhile doing the incredible Skywalk there too
  • set aside at least one day to just walk up and down the strip, and look at the incredible variety in hotels and resorts. You can do some great shopping, and see all of the quirks of some of the major hotels (lions at MGM, NY hot dogs from New York New York, the pyramid at Luxor) by just braving the heat and taking a full days walk around. You won’t cover it all, but you’ll have a blast
  • gamble a little! Set aside a budget for slots or blackjack each day, and any money you win, can go toward a round of drinks! I’ll never forget putting $4 into a slot machine, and on the last quarter, turning out $120 in winnings. So long as you stick to your budget, it doesn’t matter if you win or lose – it’s all fun!
  • stop and watch the Bellagio fountains

I’m probably missing a load of stuff here, but off the top of my head, this was the most useful information I can think of. I can honestly say however that in my (almost) 23 years on this planet, my wedding day was the happiest day of all.



Call To Arms

Posted by El Draper
on Jun 25, 08

So a quick Feather update: we’re now running against the latest stable versions of Merb (0.9.3) and DataMapper (0.9.1), which should make getting Feather up and running even easier. We’re also currently starting work on running against edge Merb, to try and implement merb-slices, so that Feather can be run as a slice within other apps, and so that Feather plugins themselves are slices in their own right. If you’d like to contribute to that effort, there is a “slices” branch for both core, and plugins. Just fork, hack away, and send me a pull request with your changes!

In other news, the official Merb blog is now running the best Merb blog in the world – that’s right, Feather! It’s great to see the blog running Feather, and we hope we can continue to improve it to make it even more useful for the Merb guys to be able to get out important Merb information and articles!

Also, I’ve been through the tickets on the Feather Lighthouse, and setup two milestones – 0.5, and 1.0. The idea is that 0.5 will aim for stability, and getting the work on slices up and running. Milestone 1.0 will be for trying to improve the distribution, setup and configuration of Feather to make it more user friendly.

There are currently a ton of feature requests and small bug fixes outstanding, that I’ve assigned to me on the LH tracker. I’m going to start to try to get through them, but if anyone out there fancies taking any of them on (a lot of them are great little ways to get into Feather development!), then just let me know, and I can re-assign the ticket to you. There’s no deadline on the 0.5 milestone just yet, but the more contributions we can get to knock off some of the outstanding items, the quicker we’ll hit the milestone! Consider this a call to arms :-)

Lastly, big shout out to some of the contributions coming in – after a mammoth merge session the other night, I rolled in great contributions from aflatter, sudothinker, jf, piclez and fujin. Apologies if I missed anyone else – ping me if I did, and I’ll give you the appropriate kudos.



Lesser Known Classics #1: Rufio - MCMLXXXV

Posted by El Draper
on Jun 11, 08

This article is the first in a series of musical based posts, highlighting lesser known, great albums.

The first in the series is an album I’ve been listening to a lot on the commute into work this last week, MCMLXXXV (also known simply as 1985), the second album by the pop-punk band Rufio. Released back in 2003, and weighing in at almost 36 minutes, this album is a joy to listen to, start to finish. The vocals and guitar riffs are what really make the sound of the album, however it’s backed up by some great drum beats in most tracks.

The real highlights have to be “White Lights”, “Why Wait?”, and “We Exist”. However for me, the best track on the album by far is “Follow Me”. Opening with a vocal/bass intro, and leading into a pop-punk verse, the chorus really steps the track up a notch with a terrific, emotional sound that drives the entire song. The energy in the chorus is amazing, and it’s a really uplifting song to listen to. It’s one of those songs that as soon as it’s over, you wouldn’t mind hearing it again.

The rest of the album doesn’t disappoint either however; on “Decency”, there is an epic guitar solo towards the end that has a great vibe to it; and on “Pirate”, there is a unique sounding intro on guitar that sets the tone for what turns out to be a catchy punk song. The really great thing about the album though is that each and every track is eminently listenable, even those songs that aren’t necessarily standout hits.

All in all, it’s the kind of album that you put on, and 35 minutes later you’re sorry it’s over so quick.



Feather + DataMapper 0.9

Posted by El Draper
on Jun 11, 08

Last night I finished merging some of the work Alexander Flatter did on converting Feather core code for use with DataMapper 0.9, along with the work I did that was required on the plugins code to be compatible with DM 0.9, and some other fixes that popped up during initial testing. It’s a lot of changes, and so there are bound to be certain bits that aren’t quite right. Also, after some testing today, it appears that the various combinations of Merb and DataMapper that are getting used are causing some strange errors for some people. We’ve taken the decision to try and get Feather running cleanly on the latest versions of Merb and DM, so that if people are experiencing problems, the nice simple solution should be installing the latest versions of both dependencies.

We’ve committed a workaround within Feather for the merb-cache issue that was holding us back from running on the latest Merb (0.9.3), and I’ve updated the Getting Started guide over on GitHub to provide more details on how to setup the core dependencies (Merb and DataMapper) to ensure you are using the latest versions (as well as detailing another potential conflict with the latest version of ParseTree).

As is to be expected with a project as young as Feather, it’s in a fair state of flux at the minute, but please bear with us as we try to improve and upgrade the application to use the latest versions of its core dependencies; we hope that by doing this it will make it easier to setup and install Feather in the long run, and it’ll also eventually make Feather more stable if we are using the latest stable versions of both Merb and DM.

Any questions, comments, issues or bugs can be raised with us in IRC (irc.freenode.net, #feather), or on our new Feather mailing list (http://groups.google.com/group/feather-dev). At the minute, we’d like as many people as possible to try to use Feather against Merb 0.9.3 and DM 0.9, so we can resolve any outstanding issues promptly, so if you encounter any problems, please let us know!



Apple of my eye

Posted by El Draper
on Jun 08, 08

Tomorrow is the Apple keynote at WWDC in San Francisco, delivered as usual by Steve Jobs. As is customary, there has been a flurry of rumours regarding what may (and may not) be announced tomorrow, but it looks fairly certain at this point that there will be an iPhone upgrade announced. Whether it’s just the upgrade to 3G, or the fully featured, much rumoured iPhone 2 (with 3G plus supposedly other features like a front-facing camera for video-conferencing, slimmer design, better battery life, GPS and more), only time will tell. We’ll also have to wait to see whether any announced upgrade is available immediately or not, especially to us over here in the UK. Some seem to think it’ll be available in stores immediately, I think the safe money is on it being available within a week or so after the keynote. Currently iPhone supplies are scarce over here, so you’d think it wouldn’t be too long before the new model hits our shores.

One interesting rumour surfacing the last few days is that Apple are now open to carrier subsidies on the iPhone. Whereas previously the iPhone was immune to the type of “free phone with contract” deals so common over here, it looks like Apple may be willing to talk to mobile networks about subsidies to try and get the phone into more peoples hands. And even more interesting is rumours that say that O2 here in the UK may offer a free upgrade to the new iPhone model so long as existing customers agree to a further 18 month contract from the point of upgrade (in which case, I’ll be at the Apple store on Regent Street on Tuesday!), and that potentially they may even offer a phone not tied to a contract for a price of £269 (the handset price for the original iPhone). This will mean those on Pay As You Go over here will still be able to have the iPhone, simply by paying a one-off handset charge. How data charges may work on a PAYG model remains to be seen.

It’ll also be interesting to see whether O2, and other carriers around the world, stick with the unlimited data offered on their iPhone plans when the switch to 3G is made. Will unlimited data still be allowed, or will data sent over the 3G network be charged, or metered in some way?

Another big possibility tomorrow is some concrete announcements regarding the iPhone 2.0 firmware, and the AppStore, first announced back at the “iPhone SDK roadmap” a few months ago. Will it be online by the time Steve Jobs is done speaking tomorrow? Or will he simply give us an update on it’s progress, and a definitive launch date for later on in June? I’d love to see a new iPhone model with 3G/GPS, and the AppStore all launch tomorrow.

Despite all the rumours, there is only thing for sure – this time tomorrow, the rumours will be dispensed with, and the actual announcements will have been made.



Feather by mail

Posted by El Draper
on Jun 07, 08

As an alternative to IRC, we’ve now got a mailing list setup for Feather, where you can discuss ideas, feature requests and issues. Also, we’ll use it for announcements surrounding Feather releases. The mailing list is on Google Groups here, and you can browse the messages and sign up there. The more the merrier, so sign up, and drop the list a mail if you have something to say about Feather!



So after a great result in the ...

Posted to Twitter by edraperusing twitterrific 
on Jun 07, 08
So after a great result in the F1, lets hope todays second Euro 2008 game is a lot more exciting than the first.

Not exactly the most thrilling ...

Posted to Twitter by edraperusing twitterrific 
on Jun 07, 08
Not exactly the most thrilling start to Euro 2008, I'm flicking over to watch the Formula 1 qualifying instead.

Just finished up some massive m...

Posted to Twitter by edraperusing twitterrific 
on Jun 07, 08
Just finished up some massive merges of some great contributions to Feather (http://featherblog.org).

Super chilled some beers in the...

Posted to Twitter by edraperusing twitterrific 
on Jun 06, 08
Super chilled some beers in the freezer earlier, but forgot about one - three hours later I tried to pour it, but no dice. Beer popsicle!

Great Dilbert today: http://tin...

Posted to Twitter by edraperusing twitterrific 
on Jun 03, 08
Great Dilbert today: http://tinyurl.com/6gwqc8