Feet up!
Friday, January 31, 2003
 
meta update
I've had a bit of a re-think since Tuesday's post about weblog self-discovery. As the inimitable Mr Pilgrim has a better solution for the "what's the url of the home page?" question, I'm just left with "is this page part of a weblog?" problem, which can be solved this with this meta tag (if it gets adopted widely enough).

<meta name="weblog" content="title=My Blog Title">

Of course, you should change My Blog Title to something appropriate.

Here's some solutions for other weblog identification problems:
And when you've got the hang of those there's also all the Dublin Core metadata to add, happy tagging!

Update: Further progress, see this later post for more on this saga.
Tuesday, January 28, 2003
 
weblog self-discovery meta information
Here's an idea that has been rattling around in my head for a few days, it's an extension to the RSS and FOAF auto discovery concepts already used by many weblogs. The problem I'm trying to solve is "How do you determine if a page is a weblog, and what's the url of the home page of that weblog?".

This is usually (but not always) simple enough for human readers, but with code it's not so easy.

What I propose is to have the following meta tag in the head of every html page that is generated for your weblog:

<meta name="weblog" content="title=My Blog Title, home=http://myblog.url/here/">

insert the relevant values for your weblog e.g. for this weblog I've got got:

<meta name="weblog" content="title=Feet Up!, home=http://www.cix.co.uk/~jimh/weblog/blogger.html">

This tag says 3 things:
  1. This page is a part of a weblog.
  2. The title of this weblog is here.
  3. The html of the home page for the weblog is here.
Initially I had other fields for feed and FOAF file locations, but I've removed these as this would only be duplicating information that should already be used by auto discovery mechanisms. However additional fields could still be added to express details that aren't currently declared.

This meta tag is going to be pretty useful for tools like Organica, Technorati, Blogdex, the Blogging Ecosystem et al, but it's also going to be great for personal tools like Universal Personal Proxies (UPP) where you'll be able to use your browsing habits to generate dynamic blogrolls and the like from this information.

I've implemented it (on this page anyway), why don't you? I think it's a rather useful idea, Erik and Russ have helped me remove the rough edges, I just need one of the big meme amplifiers to grab it and run with it.

Update: Slight re-think, see this later post for some changes and clarifications.
Friday, January 24, 2003
 
DiveIntoPremium
DiveIntoPremium - Mark's new Premium paid for service, includes live pictures from his webcam, low quality porn, and loads of other goodies, buy now whilst stocks last!

Thanks Mark, just what I needed to make my life a better place.
Thursday, January 23, 2003
 
gcc's Scott Meyers warning flag
How cool is this? There is a command line option for gcc (version 3.2) which generates compile time warnings when some of the guidelines in Scott's Effective C++ books are violated. It's "-Weffc++" and warns of failing to do the following things from the Effective C++ book:
  • Item 11: Define a copy constructor and an assignment operator for classes with dynamically allocated memory.
  • Item 12: Prefer initialization to assignment in constructors.
  • Item 14: Make destructors virtual in base classes.
  • Item 15: Have operator= return a reference to *this.
  • Item 23: Don't try to return a reference when you must return an object.
and about violations of the following style guidelines from the More Effective C++ book:
  • Item 6: Distinguish between prefix and postfix forms of increment and decrement operators.
  • Item 7: Never overload &&, ||, or ,.
 
Symbian phones used as transatlantic walkie-talkies - why?
This article from Infosync brings us the background on how Fastmobile did this using Nokia 7650 and 3650 Symbian phones over GSM and GPRS networks.

Fair enough, it's an achievement of sorts, but I've absolutely no idea what they were trying to prove, I suppose it proves again just how different the US telecoms market is to that elsewhere.

I'm writing this completely bemused, I really have not got a clue about why someone would want to use a modern phone in such a strange manner, have I missed something? Or is it just the Americans still not understanding the stuff we take for granted like SMS, voice mail and almost universal mobile phone ownership?

Update: Apparantly walkie-talkies are all the rage in the US, they even get used by adults (which seems pretty hilarious to me). It must be some sort of retro macho chic thing, maybe it's why the Yanks seem so hell-bent on going to war, it's all down to the frustration of using WW2-era comms technology :-)
Wednesday, January 22, 2003
 
Useful C++ articles
I've just stumbled across some interesting C++ articles by Anthony Williams. I read these in the ACCU journal Overload a while ago, but having them available on-line too is great, I wish more authors would do this.
Tuesday, January 21, 2003
 
STL for databases
DTL seems like a breathe of fresh air; relational database access in C++ is invariably a horrible messy process, DTL appears to have made it a bit saner by making it more like the Standard Template Library, here's an brief DTL example:
// Connect to the database 
DBConnection::GetDefaultConnection().Connect("UID=example;PWD=example;DSN=example;");

// Create a container to hold records from a query.
// In this case, the query will be "SELECT * FROM DB_EXAMPLE"
DynamicDBView<> view("DB_EXAMPLE", "*");

// Read all rows from the database and send to cout
copy(view.begin(), view.end(), ostream_iterator<variant_row>(cout, "\n"));
Monday, January 20, 2003
 
Manywhere Moblogger - first sighting in the wild
Russ has announced an Alpha of Manywhere Moblogger.

Erik and I have been batting this around with Russ for quite a while now, and whilst this version is fun to play with it's certainly not the full monty. Sure have a look, have a play maybe, but I wouldn't worry too much if you haven't got the time to play with it now, because we've got some much better and easier to use stuff in the pipeline, and frankly I'd wait (only a little longer) for that unless you're really curious.

Still the alpha is a good Birthday present for Russ :-)
Friday, January 17, 2003
 
Scraping the barrel
The least fun part of scraping RSS from a site that's out of your control is when they change the format and break your code. Sure enough it happened to me earlier today. NewsNow changed the layout of their pages and the Southampton Football Club news that I used to scrape from their Saints page and dump into NewsNow.xml died :-(

However, the good news is that not only does NewsNow actually look a bit more pleasant, and a little bit of regex twiddling has got my script back up and running, the source (Python natch) is in NewsNow.py, feel free to break it, mangle it, whatever.

Incidentally, if anyone wants anything else scraped from NewsNow, give me a shout and I'll happily scrape that page when I do the Saints one.
Thursday, January 16, 2003
 
Geographical presence via IM
BuddySpace (clunky name, but I can see how they got it) is a very interesting looking Jabber IM client.

It's bringing together some of the ideas from GeoURL with the presence and other IM goodies of Jabber.

It's written in Java so it's multi-platform, I wonder if they're looking at a J2ME version? It would be a killer mobile app with live position updates.
 
Mark's redesign
Maybe I'm extrapolating incorrectly, but I wonder if Mark Pilgrim's recent rants against some of the lunacies of the draught xhtml 2.0 specification were just the straw that broke the camel's back.

I find the prototype redesigns of DiveIntoMark.org pleasing to the eye, I wonder if Mark had felt constrained or frustrated by his former layout and the "en-forced" reappraisal of his site has given him a golden opportunity to experiment and stretch his wings. Redesign in progress. Do not adjust your browser - a wonderful phrase, but should one really have to apologise for trying to provide an improved service?
Tuesday, January 14, 2003
 
ID card update
It looks like all the rants are starting to have an effect, Stand.org.uk is now showing over 3000 negative responses have been sent to the government about the entitlement card proposals in the last four days. The BBC are reporting the start of the backlash. Keep it going though, 3000 is still a tiny proportion of a population of 60+ million.

If further proof that our public servants are not fit to hold our personal data is needed, look at Pete Townsend's case which was leaked to the press before the judicial process could take its course, don't civil servants even trust the law they are supposed to be upholding? Or do they consider themselves above it?

If you're not worried - "I've done nothing wrong, I've got nothing to hide" - fine, but consider that a corrupt civil servant could sell your identity, or that only law abiding citizens like you would hold kosher ID cards and the criminals and terrorists would quite happily and easily use forgeries (maybe with your name and address). In summary the ID card would give you a net benefit of zero or less, all paid for by your taxes, lovely...
 
Don't Do Nothing If Nothing Isn't The Correct Thing To Do
Wise coding advice from Ned Batchelder on the use (and misuse) of empty code paths. I've been there, and been bitten by them.

Personally I'd expand his NOT_YET_IMPLEMENTED() macro for work-in-progress so that it didn't assert in unfinished prototype code, but this is possibly a little rash. Something like
#ifdef WORK_IN_PROGRESS
#pragma message( "WARNING: WORK_IN_PROGRESS!" )
#define NOT_YET_IMPLEMENTED() LogWarn( "Not yet implemented" )
#else
#define NOT_YET_IMPLEMENTED() _ASSERT( FALSE )
#endif

Remember, macros are evil, but sometimes very useful.
 
The future is bright, there's a rhyme for Orange
One of the enduring homilies of the English language is that there is no word that rhymes with Orange.

Well here's three I thought of this morning (have I missed the point?); impinge, hinge, fringe.
Monday, January 13, 2003
 
Stand up for your freedom
Somehow the UK Govt think we're all in favour of ID cards.

Not content with just monitoring every waking moment of our lives through cctv, email, and web surveillance and taxing us to death. Now they want us to carry so-called "entitlement cards" to use the services that we have already paid for. I bet they're not considering the option of letting us not pay for certain services if we don't want the cards...

I'm late on the bandwagon (again), as Danny, Ben and El Reg have already pointed it out, but this issue is a biggie. Stand has the government's consultation document and a straightforward form via which you can send a suitable reponse to the government, you could also fax your MP for extra effect. The UK is already closer to being a police state than it should be, don't let it get worse.
 
Damn students, pah!
Time-wasting alcoholic scoundrels the lot of them, here via Chris Gulker, is further proof.

Ok, I admit it, I'm jealous as hell...
 
That's Groovie baby!
I've been playing with Groove over the weekend on a little pet project, and it's very impressive so far. As a quick overview it's a collabaration tool allowing people to share tools, docs and work together remotely. It does this by providing you with a sharable workspace, a big plus being that all communications between you to the Groove servers is secure.

However there's at least three very big downsides to Groove, and each one is big enough that I really couldn't recommend anyone to use it commercially.
  1. It's completely proprietary. As far as I can see there's no way for you to communicate with Groove except by using their tools
  2. They're deeply in bed with Microsoft, Sendo and many others might tell you that this isn't a wise long term business strategy.
  3. Call me paranoid, but would you really allow someone else to look after (and hold) all the key tools and knowledge needed for your business?
I'd like to be proved wrong on these points, but I suspect it ain't gonna happen...
Thursday, January 09, 2003
 
Scott Meyers interviews
I'm certainly not the first to point this out, but Scott Meyers the author of the Effective C++ series of books has a four part interview with Bill Venners published on line at Artima.com

Scott's normally very good to read, he has good solid thoughts about modern C++ and isn't impossible to comprehend. The interviews are about Multiple Inheritance and Interfaces, Designing Contracts and Interfaces, Meaningful Programming and Const, RTTI, and Efficiency. Recommended reading.
 
This beautiful blog
Hey, I didn't say it, Google did!

A search for Feet up puts this blog at the top of the list, with the heading
Category: Health > Beauty > Cosmetics > Advice.

Thanks to Chris for spotting that one, I think...
Wednesday, January 08, 2003
 
Right kind of snow?
We had a light dusting overnight, and miraculously the trains ran fine this morning, however it's snowing heavily now and I'm wondering if/how I'm going to get home...

Eldest daughter is well happy, her school was supposed to re-open on Tuesday after the Xmas break, but due to problems with the heating it hasn't, so she's got another day to make snowmen. Actually only the infants' building is closed so the juniors - like the lad next door - still have to go in, which must be a little galling for them.

Footnote: The term "Wrong kind of snow" was once famously used by the infamous late (in both senses of the term) British Rail to explain their problems with snow. Since then the wrong kind of leaves, trains, track, rain, wind, and anything that shouldn't really affect the trains but does, have been used by the press and travelling public to describe British railway ineptitude.
Tuesday, January 07, 2003
 
Wrong kind of snow
I'm working from home today, not because we've got deep snow, but because Connex can't even deal with a sprinkling of the white stuff. I spent over an hour sitting on a train at Whitstable station waiting for about five dead trains between us and London to be dragged away before the guard came around and advised us to go home as he didn't expect the train to move for a few hours...

A quick trot around the garden with a rule reveals that we had about 7cm of snow overnight, but no more yet this morning, still I'm keeping my ISDN line nice and warm downloading service packs for this box.
Thursday, January 02, 2003
 
New Year's Resolutions
Ok, I'll grasp Russ's challenge, I'm not normally one for New Year's resolutions, I prefer to have an ongoing ethos of continually trying to do stuff better and trying to be a better person every day. Anyway here's a few goals I've set myself for the year, in no particular order:

Blogging
  • Keep posting - sometimes it's too quiet in here, and I want to keep this blog going.
  • Improve my writing - sometimes it rambles on too much, or the grammar is pants.
  • Post more techie stuff - I often don't post something because I think "Oh that's obvious" when it originally took me days to work out, if I post these snippets of info it might help someone else to avoid the hard work in discovering the same obvious details.
  • Stop using Blogger.com - I've got no axe to grind against Blogger, it's nice and simple and does 90% of the job very easily, but I want to do the other 10+% of things too so I'm looking elsewhere, maybe Movable Type is going to get my money.
  • Get FeetUp.org hosted properly - it's daft having a nice domain name and not using it.
  • Change the look - inertia again...
Personal
  • Get things done - enough said...
  • Be a better husband - sounds easy, it's going to need more thought, love and care than I applied this year though.
  • Be a better father - see above...
Right that's my neck in the noose for the coming year!