Naming is Hard

Icon

Written by Bruce Boughton

Tip: How to convert Atom feeds to RSS

I recently had a support call for backnetwork where posts weren’t coming through for one of the organiser’s feeds. The problem was that the feed was in Atom format, and we don’t currently support Atom on backnetwork (we’re working on it!). I searched around for an Atom to RSS converter but couldn’t find one that reliably worked. I’d recently been using Yahoo! Pipes for my reading list, and remembered that Pipes offers RSS output and has a feed input module.

Was it possible that I could use Pipes to convert from Atom to RSS? The answer is yes: http://pipes.yahoo.com/bruceboughton/atom_to_rss

Recognition

It’s always nice to get some recognition for a job well done. Jane, Iain, Mike and Alison have all been working hard on the Haymarket project for a couple of months now. I joined them in December to work on some of the new features for Brand Republic and it’s been good.

It’s sites like this that make me proud to work with all the great people at Madgex. Well done guys!

s/pc/mac

So, finally, I have ditched my PC for a nice shiny new Mac—a 24″ iMac to be precise. Did I mention it’s sexy? Right now I’m feeling a bit disoriented, mainly because I’m a keyboard shortcut kinda guy (what’s this round orb on my desk?) and they’re all completely different on the Mac. That’s ok though cos I wanted different, right?

My initially skeptical girlfriend fell in love with it the moment I turned it on and she discovered Photo Booth. By the time I showed her Front Row she was begging me to swap my PC back in exchange for the Mac!

There are a few things I’m finding a bit funky but it’s probably just a case of inexperience. For example, the button I presume is “Home” on the super-thin super-easy keyboard doesn’t behave as IBM-PC home does. Shift-home selects all text to the left, but Home alone doesn’t move the caret to the far left? Same jive with Ctrl-delete and Ctrl-backspace: no word-at-a-time deletion for you, matey. Also, I would be grateful if someone could point out to me what the mysterious key above the “7″, left of “=” on the number pad does?

Also, I’m kinda out of the loop with which software to go for. For example, for an office suite (for occasional letters and presentations): iWork, Office 2004 for Mac, or OpenOffice? For coding, TextMate? Or BBedit? Or something else? For email, I chucked .Mail for Thunderbird. I was in love with Thunderbird on the PC despite it’s Ugly Betty looks but on Mac it’s just gorgeous, naturally!

All in all, a great purchase—I heartily recommend anyone considering the switch to jump in feet first!

Plane spotting

I’m sitting in Heathrow T4 looking out over the airfield with jumbos taking off over my head. I’m off to Toronto with my girlfriend for two days and then on to New York, New York for six. I’ve been told the weather out there is very nice.

My girlfriend has been in Toronto for 6 weeks now (on a medical elective) and from what she’s told me it’s a beautiful city, especially now the autumn colours are out. I’m looking forward to going to Niagra and looking green about going up the CN tower.

It’s not my first visit to New York but it is such a wonderful city that there’s always more to see. As well as all the touristy things, we’re going to see Maroon 5 at Madison Square Garden which I’m hoping will be fantastic–if not the music, then at least the venue.

Tally ho, Blighty! Smoke me a kipper…

BrightonDigital Mailing List

I recently joined the BrightonDigital mailing list, which is a business-oriented digital media mailing list for Brighton (duh!). Although it’s got nowhere near the traffic of Brighton New Media, it’s steadily growing in size as Ian notes. While BNM seems to be a catch-all mailing list (recent topics have included alien sightings, a worldwide exclusive on Propellor-gate at Brighton Marina, and who’s lost their iPod?), BrightonDigital has a more focussed mission statement:

  1. ask business questions, get feedback on ideas
  2. announce new services we’re offering and talk about what we’re doing
  3. post things we want to celebrate e.g. new clients, possible collaborations etc
  4. focus on business rather than programming

All in all, BrightonDigital seems well worth joining if your business is digital.

LINQ at VBUG

A bunch of us from Madgex launched a pincer movement on the Brighton Visual Basic User Group (VBUG) on Tuesday night to listen to a talk by Ian Cooper on LINQ.

LINQ (Language Integrated Query) is a .NET 3.0 technology which provides a type-safe query language integrated directly into the various CLR languages. It allows programmers to declaratively query data sets (in memory collections, databases, XML documents and entities) and is heavily based on SQL. For example, to query the Northwind customers database and select the names of all customers in Brighton in C# with LINQ to SQL you would write:

NorthwindDataContext db = new NorthwindDataContext();
var customers = from c in db.Customers
where c.City == "Brighton"
select c.Name;

The advantage of LINQ is that you have compile-time safety checking for your database queries. SQL is no longer embedded in strings. Also, because LINQ is a general query languages, you can query in-memory collections and XML documents in the same declarative fashion—hiding lines and lines of procedural boilerplate.

To be able to provide this type safety, LINQ to SQL requires a mapping between the database schema and the .NET code. Being a Microsoft technology, there are several different ways to achieve this. First of all, you can use the visual designer to drag and drop associations between database tables and business objects. Secondly, you can use attributes to mark up your pre-existing business objects or write database stubs. Thirdly, you can write an XML mapping file. Fourthly, you can run sqlmetal on the command line which creates database stubs based on your parameters. Of course, it is important to make sure that your mapping stays in sync with the database schema and the business object in your application and there will be different strategies for dealing with this.

Anyway, LINQ looks a very promising technology and Ian presented it with great enthusiasm and knowledge. Along the way we learnt about new .NET 3.0 constructs such as anonymous delegates, lamda expressions, and the var keyword, as well as the little-known .NET 2.0 yield keyword. Many thanks to VBUG for organising the event and for the drinks and pizza!

Planning a Trip 2.oh

At the moment, I’m trying to plan a multi-city break to Toronto and New York with my girlfriend. The flights to and from Toronto are already booked, but I need to sort out a hotel in Toronto, flights to and from New York and a hotel in New York. No big deal, right. Fair enough, but this is complicated by the fact my girlfriend is already in Canada and even Skype isn’t making discussing these things easy.

When I started planning this trip a few days ago, my first thought was that I needed a way to store all the various configurations online so that my girlfriend and I could work out what was best. Assembling the options online would mean we both had them at hand and would help to reduce confusion. Anyway, I set out with the thought that surely trip planning’s quite common in this day and age and there must be a decent Web 2.0 app to help me out. First of all, I tried Yahoo! Trip Planner. Unfortunately, my patience waned after only a few minutes. Trip Planner isn’t a particularly accurate name, since it doesn’t deal with how to get “there”, only where to stay and what to do once you are “there”:

Plan your perfect trip with Yahoo! Trip Planner

Even though it wouldn’t help me with the flights from Toronto to New York, I gave Trip Planner the benefit of the doubt and tried to compare New York hotels. This was futile as Trip Planner presented me with a list of hotels which I could sort by popularity or name. WTF?! Isn’t Yahoo a search company? I wanted to find hotels which could accommodate my girlfriend and I on specific dates and order them by price and location.

“Searching” for hotels with Yahoo! Trip Planner

(Btw, I like the look of the price at the four-and-a-half star Plaza)

At this point, I pretty much gave up with Trip Planner. As much as I Googled, however, I could not find the app I was so sure would have existed. (If you’re thinking of building a Web 2.0 app, there’s an opportunity here!) I asked Jane and she couldn’t do any better either.

Enter Backpack

Having tried the domain-specific solution, I re-considered my problem. Although what I was trying to do—plan a multi-city trip—was quite specifc, it was simply an organisation and collaboration problem. There were loads of tools built for collaboration—why not use one? I chose Backpack because it’s a tool I’m familiar with and also because my girlfriend has a Backpack account as well and Backpack allows you to share pages. Looking back now, it’s the obvious solution—just look at the name.

Anyway, I set up a page for my trip and starting adding notes. What I hadn’t realised is that since I last used Backpack (a few months ago), 37signals have beefed up the page components. My planning fell into natural sections: flight to Toronto, hotel in Toronto, flight to New York, hotel in New York, flight from New York, and flight from Toronto. I wanted to keep these distinct but also on the same page. To do this, I used a new Backpack feature: dividers.

Dividers in Backpack

Dividers are a great way to organise a page into sections. Each divider can have a title, or you can have a simple line if you’d prefer. I created a divider for each section.

Next I added notes for each small nugget of information (e.g. Air Canada flights on Monday or details of a hotel) and dragged it into the right section. I chose notes so that I could build up the information progressively and re-order items based on how good I felt they were.

Finding Hotels.com

After a while of lurching about on the ‘net looking for New York hotels, I stumbled upon Hotels.com, which is a Hotel search engine with lots of search options and great features. I put in my options and went through the list of hotels, creating a note for each one that was promising. For each hotel, I linked the note to the Hotels.com overview page which gives you the address, a summary, user reviews and price information. It also gives you a total estimated price in GBP which is very handy since New York accommodation taxes are too complex for my tiny brain and dollar prices don’t mean anything to me. The mapping feature gives you an at-a-glance idea of where the hotel is in relation to the sights. All in all, I’d recommend Hotels.com highly for hotel comparisons.

hotel-listing.PNG

Mapping hotels

While it was good to know where each hotel was individually, this didn’t help when looking at the whole list and trying to trade-off price and location. I wanted to be able to see all the hotels on one map to compare where they were. For this, I turned to Google’s recently released My Maps feature which gives you Google Earth style map annotation right within the browser. I created a map for the New York hotels and a map for the Toronto hotels. Each hotel has a blue pinprick and is labelled with its name.

Creating maps using Google My Maps

Best-of-breed versus All-in-one

What this exercise illustrates to me is the trade off of using several best-in-breed applications (Backpack + Hotels.com + Google My Maps) versus one all-in-one monolith (Yahoo! Trip Planner). In this case, the best-of-breed approach worked best for me. For the average consumer, it might be too much to ask to tie in several different information sources manually but for me it worked well. In this case, the all-in-one solution did not offer enough flexibility or functionality to help out, but there are obviously situations where the connectedness of the solution would offer great advantages. To me, there is a third way: tieing best-of-breed applications together using APIs and this is a key feature of Web 2.0. Unfortunately (or fortunately if you’re looking for opportunities), there doesn’t seem to be a good product in the trip planning space yet to compare.

Pet Hate: Login to Unsubscribe

Grrrrrr… it makes me soooo angry when a site makes you login to unsubscribe from an email. Normally, if I want to unsubscribe, it’s because I’m bored of your service. What makes you think I remember my login credentials? Calm breathing, Bruce. We can get through this…

dConstruct ‘07 Fast Approaching

It’s been a busy few weeks for me—so much so that I hadn’t realised quite how soon dConstruct is. At Madgex, we’re sponsoring the event so there’s been a sudden rush of activity.

Of course, the main thing we’ve done for the conference is the Backnetwork: http://dconstruct07.backnetwork.com/. (If you’re going to dConstruct and haven’t received an activation code yet, please email info@backnetwork.com). New this year to the backnetwork is the ability to auto-detect your xfn relationships from previous backnetworks, which will save repeat-conference-goers lots of time. Also, we’ve added a forum to the site and this seems to have taken off!

On the day we’ll have a stall set up so come and have a chat–we might offer you a job! I’m off to choose the right t-shirt to wear to the pre-party…

Car-bon Neutral

Target Neutral

BP have launched Target Neutral—a way to offset the damage your car does to Mother Earth. To ‘neutralise your CO2 emissions’, you enter the make, body shape and fuel type of your car along with your annual mileage and average fuel economy. You’re told just how many tonnes of carbon dioxide your car pumps out into the atmosphere and asked to donate money to environmental projects to offset this damage.

My little Modus pumps out a shocking 3.49 tonnes of CO2. Since the density of gaseous CO2 is 1.98kg/m3, this is equivalent to 1,762.62626m3 of CO2—enough to cover 9 tennis courts to a depth of 1m.

Luckily, this 3.49 tonnes of CO2 can be offset for the paltry sum of £15.05. Rather than pay this amount to target neutral, I’m trying to cut down my car usage. Now I work in central Brighton, I walk to work rather than drive, which makes a huge difference (and I can get into shape too).

aeo07

 

July 2010
M T W T F S S
« Dec    
 1234
567891011
12131415161718
19202122232425
262728293031