Entries for September 2004
September 2, 2004 at 1:35AM I hate IE 5 on the Mac
I’m after taking a peek at how it renders this site, and it’s acceptable except for one little thing: it screws up the navigation on the top horribly, putting each item on its own line.
Damn, you M$! Damn you to hell!
September 2, 2004 at 1:52AM I must import my old links.
After weblogs.com hosting was shut down, I managed to get my grubby mits on my weblog entries as XML (thanks, Adam). I’m yet to go through everything (which I have to do by hand ‘cause it’s too eclectic to automate), though I want to get it out of the way. The question is, do I dump everything in on the current day and risk annoying everybody (yes, all two of you), or do I dump everything on the dates I blogged them, hence managing to create a bunch of entries nobody’ll ever look at? Hmmm...
But one thing’s for sure: I need to reenable the comments engine. I’ve been putting it off for no good reason. I also need to tweak the linklog code so I can check off stuff I’ve read and so it uses the extra database fields for adding my own comments on the entries and stuff.
September 3, 2004 at 3:35PM Floats fixed forever!
This is something that’s plagued me for a long time. In the previous talideon.com, text in the page would disappear for no good reason, leaving me to scratch my head in puzzlement.
What I discovered from the page was that if you put a width on the divs in question, this goes away.
But it doesn’t stop there, and here’s where the post title comes in. I discovered from the site that there’s a rather useful bug in IE where if an element contains floats and has a width on it, its height will automatically expand to clear those divs. Woohoo! But what about other browsers?
For that, there’s the good old after pseudoattribute It lets you bung in extra content into the element it’s applied to. I’m not going to detail it here (mainly because I need to add preformatted blocks to my formatting code), but you can read about doing it here. The nifty thing about all this is that you no longer have to clog up your pages with cruft to clear them.
September 3, 2004 at 5:26PM The Third Place
I’m going creating a subdomain off of talideon.com. This’ll partly be for testing new stuff that I’m fiddling with, and also for putting up some forum code I’m developing called The Third Place.
It’s inspired by Joel’s recent rebuilding of his forum software. I want to build something similar to that, albeit with a few tweaks, and throw it up online. The title comes from this article I read that talks about third places, “the place where citizens of a community or neighborhood meet to develop friendships, discuss issues, and interact with others”. It’s just a little experiment, no more than a bit of fun. Let’s see how it goes.
September 4, 2004 at 5:38AM I’ve reinstalled Seti@Home
Searching for alien life aside, I think Seti@home is a worthy project: mapping the heavens and all that. So I like to run it on whatever machines I’m using that are connected to the internet.
Now that I’m working at Digital Crew again, and have got back my now battered laptop from those days (poor thing!), I’ve decided I want to support it again. There’s other similar distributed data processing projects out there, but Seti’s the one I started with, so I think I’ll stick with it, at least one this machine.
September 4, 2004 at 5:40AM Sleep is a good thing
It’s almost 6am, and I’ve been up since 9am yesterday: what the hell am I doing up? My brain stopped functioning properly about four hours ago. I’m off to bed.
Whereas the sane thing to do with associative arrays is to give the key, the same behaviour doesn’t make sense with regular arrays. What you’d expect is to get the values with regular arrays, but does JS do that? Noooo!
September 7, 2004 at 5:24PM Sorry for that outage.
I needed to bump up the number of concurrent connections MySQL could take, but when I was restarting the service, it hung. Ergo, rather panicky reboot of the server. All is fixed now.
September 7, 2004 at 5:34PM I’ve five gmail invites.
I had six, but I’ve already given one away, so if you’re a friend of mine and want one, then just use my contact form, or send me an email. I know, I know: I have to put the comments back up again, but I have no time right now!
Now, what I’d like to know is when is the new Fins Magazine site going live?
September 9, 2004 at 1:53AM Martin Fowler on Closures
Closures are what allow OOP in JS, and prototype-based OO like that of Dylan and JS is without a doubt far more powerful and flexible than class-based OO. Ah, the terrible lightness of being misunderstood.
- Echewing prototypes in favour of classes seems wrong, even counterproductive, to me, but this guy thinks it’s a good idea. What’s even worse is that he seems to think uninferred types are a good thing, though maybe I’m misreading him.
September 14, 2004 at 6:42PM Why you should always finish your projects
I was looking at my feeds earlier, and peeking through Simon Willison’s weblog feed, and spotted a reference to Live Bookmarks in it. Go take a look at the screenshot: it looks frighteningly similar to a cross between Sage and a cut-down version of what I described for Mocha earlier.
This is why you should always try to follow through with the interesting ideas you come up with, because sooner or later somebody will come up with it do.
That’s it: I have to start working on it again.
September 15, 2004 at 5:21PM Google Code Jam 2004, The Beginning.
It’s time to start coding. Assigned to Set 8. I’m waiting until the others in the office are leaving so that myself and Pete can hammer away at code in peace. Doesn’t look as if it’s going to happen any time soon...
September 15, 2004 at 8:05PM Google Code Jam 2004, The Middle
Coding’s finished, and I’m not happy with myself.
I was in group 8 and only got one of the problems done. I spent about 30 minutes staring at the problem, trying to understand what they were asking, but for some reason my brain failed to comprehend anything.
Queue 15 minutes, feverishly beavering away at code. I forgot that the Java compiler on the other end was Java 1.4, so I didn’t realise there was a split() method on the String class, so I had to go splitting strings myself (why oh why couldn’t they just have passed in a two dimensional array of integers).
Then I’d 15minutes left for the last problems, which was calculating optimal gear ratios. I’d not a clue how to do it in time, but I tried and the bloody thing timed out.
I’m going to console myself by blowing virtual people up in a video game now.
The worst thing about it is that I know I’m capable of doing far better. I guess this is just an excuse to enter more of these kind of things like I used to when I was in secondary school. I need the practice.
On the bright side, there are guys there who knocked together lumps of code in ridiculously short amounts of time and have high scores right now. I’m hoping for a bit of schadenfreude from that where their code falls over in the automated testing later and they have to forego their points. My code, on the other hand, is rock solid.
September 15, 2004 at 8:31PM Slow entry submission
I’m getting a little pissed off with the query used to generate this front page. The last two times I’ve posted up new entries, the blasted thing’s gone and timed out on me for no good reason.
I wasn’t able to run the MySQL profiler on it earlier because I’d no data. But now that I’ve amassed a good twenty five entries, I can test its performance and see what it’s doing wrong.
The query that’s in there is inspired by one I spotted in SQL for Smarties (second edition) on, I think, the top of page 332. I think that taking O(n^2) time to compute (not that it should matter with 25 entries, but it still seems to be taking a hit). n in this case is 25. This is only my first guess, and I’m hoping that it’s wrong.
What I’d like is if the indexes need tuning, but I doubt they do. I think it’s going to just be another thing on my todo list. In the mean time, I think I might do something about caching the HTML rather than getting the parser to run over it time after time. I can see that sucking up horrible amounts of processing time quite easily. I’m also going to cache the linklog sidebar’s output. It doesn’t seem to take much time to generate, but it might be worth doing anyway.
But even all that doesn’t explain why it’s taking so long. The query for generating the page is cached for five seconds, and the difference in fetching it is only about 300 miliseconds, which is acceptable seeing as the caching manages to counteract any horribleness that might happen due to the page being fetched repeatedly. The parser, while slow, typically takes about 1200ms to render the frontpage (yup, that’s ColdFusion 5 for you). All that together with an insert doesn’t add up to a timeout.
One final possibility is blo.gs. I think the pinging code might be screwing up, not because of them or me (maybe them), but because of good old fashioned network latency.
If that turns out to be the problem, I have a slightly hacky solution planned: once an hour, run a job that checks if new entries have been posted up on the site. If they have, ping. Thing is, this seems nasty, but if it’s the only way around it, I guess I’ll have to do it.
September 20, 2004 at 12:20PM Comments in weblogs
Last night, I finally got around to reading it. One of the comments, which happened to have nothing to do with the matter at hand, made me think about why you’d ever want to put comments in a weblog, and the responsibilities that go along with having them.
Comments as Feedback
Suffice to say, I think the guy who made that comment was missing the point of what comments are for. When you have a weblog without comments and you post things up, you’re not opening yourself to direct argument. Arguments may be made by others who link to your post, but you’re not necessarily going to read those. If you’re happy with this situation, that’s fine: there’s nothing wrong with it, aside from the fact that you miss potential opportunities for feedback.
When you have open commenting on your weblog entries, you need to accept that not everybody who posts a response is necessarily going to agree with you. I go even further and say that often having people agree with you is exactly what you don’t want, because that closes the opportunities for learning that feedback can give.
There’s a big difference though between disagreeing with somebody and doubting the voracity of their arguments, and meanspiritedly attacking them. I can only speak for myself and my own commenting habits.
I need to digress for a moment.
My Own Motivations
I see my motivation in this world as to leave it better for me having been in it. Not that this is any kind of disinterested selflessness, far from it. I have quite selfish reasons for doing this, but as my own ethical framework doesn’t allow me to hurt others for my own benefit, I choose instead to try and further my own selfish interests in a way that benefits myself and others: I go for the win-win rather than win-lose wherever I can.
Having said that, when I comment my intentions are not malevolent. If I disagree or see holes in the argument in the post or in one of the remarks, I do so with good humour. I am, after all, a guest. Sometimes I’ll see the argument as incomplete and so I won’t understand, so I’ll ask for clarification: “That seems wrong/circular to me”, the request for clarification being implicit.
My intentions are good. I’m never preaching, never trying to convert those I’m arguing with over to my point of view. Instead I’m hoping that the argument is to our mutual advantage, uncovering gaps in our knowledge, giving us a better appreciation of how little we actually know. Our knowledge is at best imperfect.
My intentions aim towards understanding. Sometimes somebody says something based on either out-of-date or just plain faulty information, and I point out where they’re wrong. Sometimes, I can’t convince, sometimes I can, but what matters is that I’ve made the effort towards understanding.
Understanding the Intentions of Commenters
As somebody who has a weblog, the one you’re reading right now, I recognise that having comments (disabled here at the time of writing for technical reasons) opens me, my posts, and my opinions to criticism. I welcome this. I’ve a right to my opinion, and a responsibility to recognise that my opinion might, just might, be incorrect. I define opinion as anything that is not based on either perfect knowledge (which I think is impossible), or that which can be correlated with phenomena. Everything else is open to question, and rightly so.
People who make malicious comments (spammers included) are easy to spot, and we can disregard these. You’ll always have them, but they’ll always be a minority amongst the whole. But it’s important not to assume that just because somebody argues against that they are also malicious. Often this is far from the truth. You have less to fear from those who openly disagree than those agree: there are few more direct ways to solipsism than the idea that ones beliefs are perfect.
September 20, 2004 at 12:22PM The Impending Return of Comments
I’ve been putting this off for long enough, and I think it’s time to add comments back to my site.
The old system allowed comments on every page of the site, not just the weblog. I think this is only right. The comments system is still in there, but when I wrote my new blogging engine, I disabled it because it was file-based (though due to the magic of ColdFusion queries, the actual comments system doesn’t know this: the logic for loading and posting comments looks as if it’s talking to a database) as I didn’t have a database for this site when I wrote it. No matter how clever this code might have been, it left people’s email addresses open to download by spammers, and that’s just now right. It also needed revision to clean up some of the logic: ColdFusion make it just a little too easy to intermingle logic and presentation.
To reenable the system, I need to create a new table in the database, and rewrite those two query files to use it rather than files.
But what I’ve been thinking of doing is using WikiComments, like on François Hoderne’s Znarf Weblog. The idea’s quite clever, and rather simple to implement, and it’d be fun and different.
But this is a maybe: I might do it, but then again I might now. One thing is certain though: this site will have comments again!
And thanks to Keith for reminding me that I really need to reenable them.
September 20, 2004 at 12:24PM Implementing Categories
One thing I’d like to add, but I’ve never came up with as satisfactory method of implementation for, is categories.
The best pure one that I’ve come up with is to use an unsigned integer column as a bit array, with each bit representing a category. The problem with this is that it puts a nasty limit on the number of categories that the blog can have, and means that I need to be open to the need to recycle bits later as categories are added and deleted. There’s also the problem of indexing, but it’s not an intractible one: more later.
Using SET columns doesn’t strike me as correct because I want to be able change the categories later on, and having to fiddle with the schema to do so seems rather messy. No indexing problem though, except when the set of categories needs to change. shudder
Including an extra many-to-many table is at best messy. I’ve seen it in systems before, and used it, and it’s always struck me as being little more than a nasty, if necessary, kludge. I might even use it if it didn’t make fetching the categories so horrible when I’m listing multiple entries. This solution has no indexing problems.
My penultimate solution is to treat the categories as keywords. Here, I’d have a VARCHAR column containing a list of the keywords associated with the entry. Selecting the entries in a category is nasty here because it can’t be indexed, so the DBMS needs to do a linear search rather than a keyed one. While I doubt people will be listing categories all that much, I still don’t like the idea that it’ll take that long.
I can make the bit array indexable by using a SET, with each element corresponding to a bit. This is probably the best way, but I’m still a bit uneasy with it.
Ah! Another idea’s after coming to me: go with the many-to-many table, but rather than querying the categories for each as they come along, do them in one chunk seperate from querying the entries (this’ll need a pass over the query to get them), then add an extra column for the entries query, setting up the categories. The code can then iterate over it all safely and cleanly, and it allows me to go keyword-mad when I feel like it.
But are there any better ways of doing it? To be honest, I don’t know, and I haven’t found any. Any ideas?
Then again, with the ability to post up fine-grained entries, something I wasn’t able to do with Manila back on weblogs.com, maybe I don’t really need categories of this complexity and maybe all I need is a one-to-many relationship between categories and entries. Time will tell...
September 20, 2004 at 12:24PM A lot done, more to do
I’m not really bothered about having the best weblog engine in the world. No Dan, I don’t intend on selling the code on CFTagStore, nor Keith will I be integrating my linklog into my weblog any time soon as I like them being seperate just like their intentions are, which isn’t to say I’m not going to beef it up.
Oh, and when I reenable the comments, I need to add meta tags to the page so that weblogs won’t follow links from the entry pages, thus helping to defeat comment spammers. It’s not the only way, but it’s a good start. Later, I need to think about beefing up the antispam code up even further.
September 20, 2004 at 12:26PM Assigning Categories with Bayesian Filtering
Here’s a mad idea I had a few months back: if we can use bayesian filtering on spam, why not use it to automagically categorise entries? It’s not going to be foolproof, but it would be an interesting experiment, and it may just work! We wouldn’t need a ferociously sophisticated implementation, a simple naïve one would do. Once trained for any length of time, it would be able to work out what the entry’s about at least 95% of the time. Anybody willing to try the idea out? I might if I’ve time, though there’s no guarantee that I will.
Update: It’s after occurring to me that you could also use this to generate a list of closely-related entries. It might be overkill, but in places where you’ve got a large number of entries, where cycles are relatively inexpensive, and other methods might not be effective, it might be a useful way of relating them.
September 20, 2004 at 12:26PM Keith Reveals More Good Ideas: Aggregator Server
Seeing as I’m flitting about the idea of finishing my two and a half year old RSS aggregator, Mocha, I’ve also had an idea that might help reduce the load that aggregators inevitably take on the web: an aggregator server.
Bloglines is a great idea, but it has one fatal flaw: it’s a web application and web applications, no matter how great they are, inevitably suck. This is a sad fact of life. Even Gmail, though it doesn’t suck nearly as much as most, still sucks because it still can’t shake off that web application stink.
But Bloglines is a good idea: one server combines all the requests of all these users who are signed up to the same feed together into one, lessening the gross impact of the subscribers upon the subscribed, and it always does it intelligently.
But web applications suck, and I can’t just update my feeds while I’m at work and then read them later on when I’m back in my flat where I don’t even have dial-up.
But often people in the same office, company, whatever, subscribe to many of the same feeds. For instance, I know that both myself and Peter subscribe to The Daily WTF and Gavin’s Blog. I makes no sense that we’re both making seperate requests to the same feed when it would be better if those requests were combined and done together.
Mocha as it stands is written in VB: I almost started it in Java, but needed a good reason to write some VB at the time. C# and the rest of .NET was only beginning appear on the scene in any significant way at the time and it wasn’t worth investing in it at the time, so I started it in VB.
Now, I’m thinking of ditching the VB codebase and taking what I can--mainly graphics, algorithms and ideas--and rewriting the core in C++, with the rest written in Lua and wxWidgets as the toolkit. This allows me to follow through with my fiendish plan:
Write the aforementioned aggregator server. This would provide a REST-ful API (we don’t need no steeking SOAP!) to which Mocha could talk. The server could make sure that it was fetching only when there was entries, and only once regardless of how many people were subscribed. This fact would be largely transparent to the person using Mocha. In fact they might even find it all works subtly better because they’ll never miss an entry.
And the big pay offs? No matter where I am, if I can see the aggregator server I can access my feeds, and the central server will help keep track of what ones I haven’t read. While this doesn’t apply so much to me because I don’t have a connection here in my flat, for people who do, it’ll be invaluable. And there’s the obvious: I’m lessening the load on the people whose writing I enjoy.
Hidden benefits are that the desktop aggregator can become format agnostic: those messy details are dealt with by the aggregator server. It’ll no longer really matter what kind of feed it is just as long as the server can deal with it: good bye stupid format wars.
As long as the API is kept open, I see no reason why this kind of setup couldn’t become widespread. As it stands, Bloglines could be the first to implement this thing on a wide scale. I want to do it, but they’ve got much of the infrastructure right there. All they need to do is expose an API, and all the aggregators need to do is support it.
While essential to minimise the impact on the syndicator’s server, no amount of hacking with HTTP, no amount of optimal use of headers, nothing can compare to the gains that can be experienced by aggregating many requests into single ones. Considering the way mass feed syndication works, this is the best way to spread the load.
So, who’s with me?
September 20, 2004 at 1:51PM Netcraft’s newsletter goes html. Hrumph!
I’m a little pissed off with Netcraft right now.
I’m subscribed to their newsletter, and a very good newsletter it is. However, with this weeks one they seem to have decided that I’d like HTML just flying into my inbox. Does it help me read the contents? No, because this subverts my viewing settings, which are set up especially for me.
I’m unsubscribing and using the RSS feed from now on.
September 22, 2004 at 6:19PM Térnaru now back up
After ages of putting it up, I’ve finally got around to putting my Térnaru conlang up online. It’s an old sketch that I scraped from my old weblogs.com site before it dies later this month.
September 23, 2004 at 11:04PM Merant SequeLink JDBC Driver and ColdFusion horribleness
A note of caution to all those people out there using ColdFusion MX and and MySQL: do not--I can’t emphasise this enough--connect to an MySQL database through the Merant SequeLink JDBC Driver. Not that I’ve anything against it, but it’s slower--naturally--than using the appropriate direct driver and there appears to be some nasty hidden conflicts between the two when you use enum columns.
Today I was hacking away on a site at work when I noticed that some enum columns that contained text were getting a stray space at the end. Now, I checked MySQL, and it wasn’t spitting it out, and myself and Peter hacked away trying to find a solution to this, but we’d no luck. This problem wasn’t just affecting my code, but one of our products too.
In the end, Pete just put in a hack to trim the extra space. My theory was that it had to be one of the drivers, but didn’t have time to check it.
Well, I’m after getting time, and I changed the data source to use a direct connection to MySQL, and problem went magically away.
The use of the ODBC Socket driver was a leftover from the upgrade tool for converting from ColdFusion 5 to CFMX. Newer data sources that we’d created were direct connections, so they didn’t have these problems. Mustn’t forget that for when we upgrade the live server.
So the moral is, connect directly to your database if possible rather than going through ODBC: it’ll save you a world of pain.
September 24, 2004 at 3:26PM blo.gs difficulty resoved.
September 28, 2004 at 3:57AM I’m starting the hacker’s diet.
There’s one thing that I really dislike about myself, and that’s my weight.
I’m not tremendously overweight, but suffice to say that I weigh much more than I should and much of that should really be muscle or just not there.
I really started to put on the weight when I started college. Being in the labs all day, with nasty cafeteria gruel and an abundance of junk food as the alternative, meant I started snacking on the stuff much more than I had at home.
I’ve never been active, but then again, I never overate, and I definitely wasn’t a person who bought sweets: I never saw the point (though my sister thought this excuse was just me being miserly). Up until I was sixteen, I was healthy if somewhat unfit.
Then, the summer of my Transition Year, I put on some and got noticably heavier. Still, it wasn’t an awful lot so I wasn’t terribly bothered by it all. My weight stayed stable for the next two years.
College was where it started to all go down, and not in a good way. Starting college on the other side of the country, even a small one like Ireland, isn’t what you’d call stress free. Far from it. It doesn’t help that to get up home I have to take a bus, a bus that takes seven hours: if I decide to go up home, I’ve about a day actually there, and then I’m on my way back down to Cork.
I didn’t take care of myself at all. Junk food, coffee, tea, sandwiches, crap food, &c. Combined with the inevitable sedentary lifestyle of the student (or worse: computing student), it was a given that I’d put on even more.
The first time I started to feel somewhat better was a while after I bought my bike. Since I haven’t been able to use it for the last while (my fault), I now feel the beneficial effects--effects I didn’t notice at the time--fading away. It’s not a good feeling.
I haven’t checked my weight in a while, but I know it’s not what it should be. I just have to grab my stomach to know.
So what’s a lad to do? Actually doing something about it might be a good idea. I’m not the best at keeping up an excercise regime, so that alone isn’t going to work. What I need is a proper diet to get my weight down and some gentle exercising.
Last night I resolved to start on John Walker’s Hacker’s Diet. I’ve had the PDF sitting on various discs for the past four years, and I kept meaning to do something about it. I’m sick of all the extra weight I have on me, and I’m determined to get rid of it.
Earlier today, I started. The sum total of my intake for the day was a 1l of apple juice and a baguette from the Dunnes deli counter. Later that day, we went out to view a commercial property, and afterwards headed to Burger King to get a bite to eat. As I’d started this diet, all I got was a coffee. When I explained why I wasn’t ordering anything, I said that I didn’t “...want to end up any more of a fat bastard (mocking laughter) than I already was...”. The jibes I got weren’t exactly encouraging, and they continued to mock me later. And it’s not exactly as if any of them are exactly what you’d call svelte, not by any measure. Thanks for the encouragement.
But regardless, I’m going to soldier on. This is, at least in part, a chance to build character. I could probably do with that.
I stayed in late at work, reading all the feeds I hadn’t read earlier. I’m feeling a bit peckish now, but I’m not going to give in. Next, I might detail part of my plan of attack that isn’t explicitly stated in the book.
Update: If you’re doing it, you might be interested in the exercise and weight log and fitness ladder PDFs I’ve thrown up here.
September 28, 2004 at 4:14AM I’d may as well upgrade pingblogs to use pingomatic
Part of the reason why I just got the tag to ping blo.gs rather than Ping-o-Matic was the time I thought it’d take for the request to go through. I’ve since realised that thinking was really dumb: I was worried about requests timing out when I should really just put on a timeout on them like my new modified pingblogs tag does.
In the morning, I’m doing it, and throwing it up online.
And just for shits and giggles: Technorati Profile.
September 28, 2004 at 4:27AM The weight plan.
Feck, I’d might as well post it now.
- Buy a scales.
- Stop with the snackfood--no sweets, with the possible exception of mints.
- No soft drinks. Tea is ok, coffee is borderline. Fruit juice and water. Mostly water. Prefer fruit juice if the water isn’t good.
- Stop with the rolls every day: buy salads sometimes instead. Get a fork for work.
- Don’t give into laziness and go to MacDonalds with everybody else before gaming. In fact, don’t eat that crap at all. (This means giving up Lennox’s (the real one), but it’s worth it.
- Get the bike back from the college. Bugger that lock! It’s probably rusted to hell now.
- Three weetabix, not four, you fat bastard! And no additives except milk (the regular stuff is just fine) and possibly fruit. A cup of tea in the morning is also good. Try and broaden your breakfast after a month. A big breakfast is no bad thing as long as you use it during the day.
- Stop with the hot chocolate: it’s not winter yet!
- Finish all the food sitting in the fridge, your cupboard, and on the shelf. (Aside: if this seems to conflict with the plan, it doesn’t. The idea is to get rid of all the bad crap, replacing it with good crap, and cooking decent meals with various crap. Crap.)
- Find some good way of exercising and integrate it into your routine (hah!) in the next two months. This is to speed up the metabolism a bit if nothing else.
- Make sure that exercise builds up stomach muscles and back muscles. This is to help with back ache. Need to improve posture too.
- Research insomnia and ways to relieve it.
- No eating after 7pm except for maybe a sandwich. Liquids only after 9pm.
- Don’t stay in work all day: get in early and leave at about 6pm. Cook meals, man! It’s not as if you’re not able to!
That’s the nutshell. Maybe I’m getting myself to do too much, but I don’t care. If I succeed in only a fraction of this, it’s worth it. There’s more, but it’s not worth explaining.
Yes Pete, I was meant to leave ages ago, but bugger it.
September 28, 2004 at 5:15PM Now pinging Ping-o-Matic
Update (Feb 21st, 2008): I keep getting searches that put this top result for “Irish Ping-o-Matic”. If you want something like Ping-o-Matic, check out the Irish Weblog Ping Proxy, which covers local Irish aggregators, as well as a number of international ones.