Skip Navigation

Ever wondered where all your money goes?

This being the year of the "credit crunch" Karen and I have decided to take our finances a little more seriously and break the habit of just spending whatever we have. We've needed to do this for a while, really, but the "economic downturn" has made the need all the more prescient.

Phase 1 was to go on "spending lockdown" which we did in the last quarter of 2008. It's working well - not spending money. It's actually quite nice. Soul-cleansing in fact. We now think about purchases and only buy what we really need rather than just getting whatever we want.

Phase 2 is to analyse where the money we do spend is actually going. For a while now we've felt a bit like the amount coming in to the house does not equal the conceived amount going added to the feeling of remaining "wealth", negative or otherwise. We literally can't work out where it all goes.

Not that I am that naive. I know all too well that lots of seemingly small amounts soon add up to a big total. A hundred pounds here, a hundred pound there. It soon adds up to a thousand. Likewise, the thousands soon add up.

Anyway, what I want to show you is the tool we're going to use to analyse outgoings. You'll be pleased to hear I chose to record everything in a Notes database! I've set it up so that Karen has a bookmark on her browser to a webpage where she can easily input her expenditure each night. Surprisingly, she's "on board" and as keen as I am to make a go of it.

Here's the database we're using to record where every penny goes. That's just a dummy copy though. You can mess about with it as much as you like.

For now it's just a simple app that lets us enter the data. To come is the analysis - with pie charts, monthly drilldowns, etc etc.

Most of you will probably know what I used to build the app as soon as you see it. For the rest of you it's called Flex and I'll talk more about it in my next post. if anybody wants a copy of the DB to start recording their own outgoings let me know (all you need is to plonk it on your own secure server somewhere).

Update: you can download a copy here.

Comment Icon 7 Comments Read - Add | Wed 7 Jan 2009 | Open »

Probably the Worst CAPTCHA Ever Made

This weekend we stayed in an "aparthotel" for the second time in as many months. Until we booked the first stay I'd never heard of them. They're city-based apartments for rent by the night, much like a hotel, with a reception etc. The difference is you get two bedrooms and a separate living room/kitchen. The kitchen has a cooker, microwave and dishwasher.

If you have to take a family of five away with you (we were at a wedding in Newcastle) then having separate rooms makes it bearable, whereas doing the same in a conventional hotel is nothing short of a nightmare. From now on I don't think I'll stay anywhere else with the kids. We got the double room apartment on Friday for £120, so not that much more than a basic room in a city centre hotel.

Anyway, I mention it for two reasons. First to hopefully enlighten you guys. I guess you all knew about them, but if not, they're worth looking in to next time you're away with family or friends. The other reason is that I just had to pass on an example of terrible UI design from the website of the one we stayed in on Friday night, Kensington House.

Looking for a map I looked at their contact page and saw this. See if you can see anything odd:

filter

It took me a while to work out that the weird "garbage" in the contact form was in fact a CAPTCHA. Can you see it? If you pull your head back and squint you can just about make out that it says 8+9=. The white box to the right of it must be an input field.

It sticks out like a saw thumb. No less so because the site itself and the place it represents is going for the "swanky" look. This is what happens when you let a geek design part of the UI. I can imagine he feels fairly smug at having written such a clever spam blocker, but what about the poor user?!

I've said before and I'll say again - in my opinion spam is not the user's problem and so they should not be the one made to pay. That's why all spam blocking measures on this site are back-end. Not making the user pay is all the more important if the contact form is on a company website. If you run a company surely you want to make it as easy as possible for potential customers to make contact. Why make them jump through hoops!?

The other reason for this post is because it's Monday morning after the break and I need to ease myself back in to office work nice and slow.

Comment Icon 8 Comments Read - Add | Mon 5 Jan 2009 | Open »

2008 - CodeStore's Year in Review

As is tradition this time of year, here's my yearly review of happenings on codestore.

New Content

First let's see how the amount of new content I posted stacks up against previous years.

  2008 2007 2006 2005
Blogs 115 119 148 180
Responses 1822 1598 2444 2933
Articles 0 2 8 4
Sandbox downloads 4 5 0 5

The amount of blogging and the amount of feedback is pretty much the same as 2007, which is reassuring. I'd be worried if the yearly decrease in activity continued. It's hard to keep it flowing what with work commitments and two kids under the age of two.

The obvious difference this year is that I haven't written an "article". I know most of you refer to anything on here as an article, but, to me, they're the full-length posts that don't appear as a part of the blog. What I've found is that a) I don't have time to write the full-length posts any more and b) I can get most of what I want to say across via the blog posts. This site has always evolved to my situation and I can see articles being used less and less.

Noteworthy Happenings / Content

Having just looked through all 115 blog entries from the year, here's what stands out for me:

Each year I always think what on earth am I going to write about in the next year. I often think I'll run out of tips/tricks at some point. Things always come up though, as this year has shown. As for next year, who knows what will come up!?

Chances are that 2009 will see me talk about XPages, as I need to get up to speed on that and I'm sure you're dying to know my impressions. For the immediate future though you should expect a lot of talk about RIAs and, in particular, Adobe Flex!

Visitors

Never mind content. How popular was the site over the last year. Well, according to Google Analytics, 309,247 Absolute Unique Visitors amounted to 1,134,843 Page Views. I can't compare this to the previous year as I didn't start recording until March 2007. More than a million page views sounds alright to me though. Anybody know how much advertising revenue I'm missing out on?

Onwards...

So, here's to another year of techy geekness and to your continued input. Just remember, this site wouldn't continue if you weren't reading.

Next year will see this site's 10th birthday! Never thought that would happen.

Comment Icon 8 Comments Read - Add | Wed 31 Dec 2008 | Open »

Merry Christmas To You All

It's Monday morning and I've come to sit in the office as normal. It doesn't feel normal though. What is it about the weeks that contain Christmas and New Year which make all the days in them feel like the weekend!?

Because of this weekend-factor I'm finding it hard to concentrate. It feels a bit like I'm the only one here. Am I? Hello!?

Sorry, I'm waffling. All I wanted to do is wish a Merry Christmas to all (of you that celebrate/have time off).

I'll probably be back here with something to say (codestore's year in review perhaps) before, but if not, I'll see you all in 2009...

Comment Icon 19 Comments Read - Add | Mon 22 Dec 2008 | Open »

CSS Files and Relative URLs

By coincidence, the day after I spoke about the confusion relative URLs can cause I was asked to help out on a project where relative URLs of a different kind were causing yet more confusion. This time it was URLs inside a CSS file.

Imagine your web page loads a CSS file like this:

<link rel="stylesheet" type="text/css" media="all" href="css/default.css" />

Note that the file is inside a "subfolder" of the database called "css". Inside this stylesheet we add a rule to place a background image in the header DIV like so:

div#header {
 background-image:url( images/header_background.gif );
}

Assuming the CSS file is located at /db.nsf/css/default.css you'd probably expect the image to load if it were located at /database.nsf/images/header_background.gif. But wait. It won't! Why? Because URLs inside CSS files are relative to the CSS file itself -- not the database and definitely not any BASE href in the web page, which has no effect on the relativeness of the URLs in the CSS files.

Come again!? Well, the stylesheet above lives inside a folder called "css". So, any URL it tries to load is relative to that folder. If you used a HTTP sniffer you'd see the browser try and load the background image from /db.nsf/css/images/header_background.gif.

The correct CSS is in fact:

div#header {
 background-image:url( ../images/header_background.gif );
}

The browser then knows to step back out of the CSS folder and then in to the images folder, both of which are at the same level in the database's faux-folder structure.

Similarly, if the stylesheet were two subfolders deep and in /db.nsf/css/screen/default.css then the rule would become:

div#header {
 background-image:url( ../../images/header_background.gif );
}

Again, this might seem like a noob thing, but it's another that can really trip people up until you learn how URLs inside CSS file behave.

Comment Icon 3 Comments Read - Add | Fri 19 Dec 2008 | Open »

More blog entries are available in the archive »