Monthly Archives: October 2005

webme 0.5 released

After quite a long while, I’ve gotten around to releasing a new version of the WebME CMS.

You can grab it here.

Updates include a fully WYSIWYG page editor, automatic search result highlighting, blog-style page listing, AJAX-based news entry, AJAX-based menu system, and a load of other stuff I can’t remember.

I will open up a forum on the site so it can be discussed or insulted 😉

Please let me know what you think.

webme 0.5

I will be releasing version 0.5 of my CMS, WebME (Website Management Engine) over the weekend. I’m seriously interested in getting feedback in it, so any of you that might be interested, please either mail me (kae blah verens blah com), or comment below.

If you are interested, please give an example of a site that you would like to use as a template. DO NOT use any commercial sites – use your own non-work-related sites, ye buggers! Remember that I am doing this in my free time, to try and promote the CMS and improve it. Don’t be unfair and ask me to convert your commercial sites, as that would be unethical, and I just will not do it – remember, I have mouths to feed as well.

I am particularly interested in finding out what people find difficult, buggy, or just plain wrong.

I’ll make another post when it’s ready, with a generic post. Those of you that supplied a sample site will be mailed individually with your versions.

The WebME will be released as GPL. The code you receive, you are free to re-use in personal or commercial sites. If you make any improvements to it, please be kind enough to post the improvements to me.

a town called mali^h^h^hyanus

an excerpt from a chat in #linux (irc.linux.ie)

<shortword> kae a stupid name for a town is “uranus”
<kae> there’s a town in germany called “fuck”
<shortword> er “myanus”
<kae> that sounds greek
<kae> lol! just ran a search for “myanus”. one of the synopsis contains the sentence “where you searching for myanus?”
<shortword> kae ever watched jackass? 🙂
<shortword> they were there 🙂
<kae> omg! the fifth result of the search shows a girl who’s /name/ is myanus
<shortword> lol
<ndonegan> kae: the poor girl.
<slaine> Is there a shop in myanus ?
<ndonegan> kae: I presume she isn’t from an English speaking country?
<slaine> Or she has cruel parents
<slaine> or both
<kae> ndonegan, she looks korean or something
<shortword> longword isn’t it a bit late for you? 🙂
<kae> slaine, shop! lol!
<kae> do they pick blackberries in myanus?
<slaine> lol
<slaine> We could go on and on
* kae wipes eyes and goes to make the tea
<slaine> You could easily park a big truck right up myanus if there was no traffic
<kae> omg!
<radagast> slaine: didn’t need to know that 😐
<kae> alright – that’s the end! damn, that’s a good discussion for the evening, though 😉
<Stewie> slaine: been up rodge’s back passage recently, eh?
<radagast> hmm. do they sell logs for firewood in myanus?
<slaine> that wasn’t funny
<Nargler> there are logs all right
<slaine> You just ruined my giggles
<slaine> Stewie, You obviously never saw the jack ass episode where they visted a town call “myanus”
<Stewie> slaine: I don’t watch jackass
<kae> I wonder if there is anyone called Richard in that town
<slaine> “Wow, you can buy groceries in myanus. How many people live in myanus…..”
<Nargler> kae: or roger
<kae> lol!
<Nargler> <g>
<radagast> heh
<slaine> woger
<Nargler> welease woger!
<slaine> woderwic
<kae> welease woger fwom myanus
<slaine> lol
— moongone is now known as moonbeam
<moonbeam> mornins
<slaine> Oh, here’s a lady, we best shut up
<esoteric> lo rach
<esoteric> shes no lady
<moonbeam> jackass sucks;)
<moonbeam> esoteric – i was wondering myself why a lady would come here:)
<slaine> it sucks everywhere, even in myanus
<kae> you know there’s something wrong when there’s a baby born in myanus
<moonbeam> primary schools principals name was aeneas lane,pity we were too young to notice
* moonbeam scrolls back up hmmm mornins are bad for people this is evidence to prove it
<kae> that’s it – as soon as the ladies arrive, the fun has to stop 😉
<shortword> heh
<slaine> I’m a lady
<shortword> im thinking the scrambled eggs were a bit ott this morning
<Nargler> slaine: no no no, it’s “I’m a laydeeee!” :]
<moonbeam> hehe
<kae> shortword, I’m thinking that wearing studded leather pants inside out was a bad idea

addEvent winner announced

If any of you have tried unobtrusive scripting through DOM, then you will most likely be aware of the complexities involved with adding events consistantly to objects (including the window itself).

A few weeks back, PPK released a short article decrying the current state of Scott Andrew’s addEvent() function, a common function which people use to attach events in cross-browser scripts.

I use a variant of Scott’s function myself, so was interested to see what would develop from this.

Accordingly, webstandards.org announced a competition to come up with a new function to replace the aging one.

The winner has been announced. The winning entry is a pair of functions by John Resig.

So, now that the functions are available, it’s time for everyone and their dogs to steal it (yoink! I now have a copy)! Well done, John.

Here are the functions:

function addEvent( obj, type, fn ) {
 if ( obj.attachEvent ) {
  obj['e'+type+fn] = fn;
  obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
  obj.attachEvent( 'on'+type, obj[type+fn] );
 } else
 obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
 if ( obj.detachEvent ) {
 obj.detachEvent( 'on'+type, obj[type+fn] );
 obj[type+fn] = null;
} else
 obj.removeEventListener( type, fn, false );
}

Very interesting code. I’ll need to set aside a few minutes later to absorb how it works. In the meantime, here is a compressed version (with ; added (see here) at end of =function() bit):

function addEvent(a,b,c){if(a.attachEvent){a['e'+b+c]=c;a[b+c]=function(){a['e'+b+c](window.event);}a.attachEvent('on'+b,a[b+c]);}else
a.addEventListener(b,c,false);};function removeEvent(a,b,c){if(a.detachEvent){a.detachEvent('on'+b,a[b+c]);a[b+c]=null;}else
a.removeEventListener(b,c,false);}

The script was so tight that I couldn’t get it any smaller than a simple removal of spaces and renaming of the variables! Both Chris’s compressor and Dean’s packer simply made the script larger! Well done, John.

stag

I’m getting married at the end of the month. Last weekend was my stag. I invited a group of 10 or so of my friends, and we went out to shoot some arrows and paintballs.

The Best Man, Brian Hayden, who had a run-in with The Man recently, has a tendency to be a little late ;-). So, I was not surprised to hear that Paddy and Tony, two brothers and great friends, called his phone from the bus station, and he was still in bed!

Luckily, Brian shares a house with Aoife McKenna (or Ni Chionnaith), an all-round fantastic girl, and old ex- of mine (yes, I stay in contact with my ex-es).

The archery was fun. I’d like to buy a bow of my own – it was very relaxing.

The paintball was extremely tiring! It really showed the world how tired I was, that I had to give up after only two games. This was probably helped by the amount of alcohol I’d drank the night before, making it hard to breath.

At about the time I gave up, my friend Paddy had to quit it as well – he went to slide on the ground, but his foot would not oblige.

The games continued, but without the three of us – I went down the hill to get a breather, while Paddy and his brother Tony went off to Monaghan hospital to get Paddy’s leg checked out.

I’m embarrassed to say it, but my boss, who is ten years older than me, was able to complete the games, while I was still huffing and puffing at the bottom of the hill.

John and I chatted with the owner of the company, Tony, about his website and offered some pointers. I think the most important point was to scrap the flash – it took me a while to find his site, as search engines do not index flash pages.

After the games, we all piled into the taxi and went off to the hospital to see how Paddy was holding up. It would have been a shame to have him miss the meal and drinks!

We got to the hospital, and found Paddy and Tony in the A&E waiting room with Fiona, AWOL Tony’s wife. As Monaghan Hospital is a complete and utter shame of a hospital (I am tutting at the government, not the doctors, who were doing a great job), the hospital was not sure they would be allowed to keep Paddy there, if it turned out the leg was broken.

Really, it says something about the woeful state of a hospital, if they are not even allowed to take care of a broken leg! In fact, as an aside, only two days previous, a man had died in the hospital simply because the surgeons were not allowed to operate on him! Beureaucratic nonsense! If I had my way, then I would insist that whoever it is that’s making these evil limitations is limited to aid from Monaghan Hospital – we’d see how long it takes for the limits to be removed, then!

Anyway – an X-ray revealed that it was just a minor fracture, and probably a stressed ligament and tendon. After a half-cast was put on, Paddy was free to come with us, although the nurse (bless her soul, as xians might say) made certain to warn me not to let him get damaged through too much drinking!

John (my boss) was exhausted after the games, and bade us farewell. He was off home to take care of his kiddies. I’ve been told that when he arrived home, his wife Maria (co-owner of our glorious and fantastic web development company) sent him up to soak in a bath and take his mind off the bruises.

Before we’d left in the morning, Steve, Bronwyn‘s cousin, warned us to wear gloves, as a hit on the hands is bloody painful. Needless to say, he forgot to wear them himself, and was hit on the hands.

The only other bare skin contact that I know of was John again, who was hit on the neck. The paintball managed to burst the skin, so he looked like he had an extremely aggressive hicky applied to him. Coincidentally, I went looking for info on hickies, and found a blog entry of someone else who’s husband had suffered the exact same mishap. Ah, serendipity. John – read the article; it has hints on how to remove hickies.

Anyway – we limped our way (Paddy especially) down the hill into Monaghan town. Anto, Paddy, and Brian went on to their hostel to get a shower, while Steve, Conor (Bronwyn’s brother) and myself went into The Squealing Pig for a pint or two.

Three pints later, the lads arrived back, and we went upstairs to The Pig’s restaurant. I had an okay vegetarian Penn Pasta, while Brian had the most massive steak he had ever seen. Steve, of course, was just back from a week or two holidaying in the US, where Brian’s “massive” (2″ thick, and pretty voluminous) steak would be considered “small” or “medium”. Steve had some horror stories to tell about how much the Americans eat!

The meal was enjoyable. We had two bottles of Merlot with it. Tony and Paddy chose a McGuigan Merlot, which I found to have too much of the cask’s aroma permeated through it. I chose a different Australian Cabernet Merlot. The Merlot’s smoothness made this a pleasure to drink. Steve and Conor are not really wine drinkers, but they could appreciate the differences between the two.

On to the drinks! We left the restaurant after sixty or ninety minutes, and went up the road to McKenna’s. I called Sean McKenna, my next door neighbour, who was due to meet us there. He arrived after a while, and we got down to the serious business!

Aoife’s sister Ciara turned up with her boyfriend Keith, who I’d never really got to chat with. The whole night was a laugh.

One of Bronwyn’s friends, Becky, turned up, and was soon sitting next to Paddy.

At closing time, Sean went up to Seamie, the owner of the bar, and arranged that we were left in as the crowd was shunted out. Sean and Seamie are old friends, so I had a feeling that might happen. Coincidentally, a load of Sean and Seamie’s old friends were there as well, so Seamie joined in with the drinking.

Anyway – to cut an increasingly epic story short, the craic was great, and I was home at around five o’clock. I don’t remember going home 😉

I’m still recovering from the weekend, but enjoyed every minute of it.

remember the milk

A very nice AJAX ToDo list!

IE7 css updates break old sites

A call-to-action has come from the Microsoft Internet Explorer team.

The article requests that webmasters look over their code to check that existing IE-only hacks will not break their sites when IE7 is released.

This is actually quite a good thing, for multiple reasons.

  • Microsoft is now actually speaking to the developers of websites, warning them about what they will be breaking.
  • The very fact that they are not trying to be backwards-compatible with their past mistakes is a very important improvement!

Personally, I prefer Firefox and Konqueror for my everyday work, but well done for the improvements so far, and good look with IE7.

It is unfortunate that the solution they recommend involves bloating sites’ HTML, though.

Personally, I like to apply browser-specific code through the use of JavaScript.

Consider that most browsers that do not support JavaScript are either speech browsers, or search engines, in which case, the style sheets do not matter in the least anyway for non-JavaScript browsers.

the old bugs are the best

I just demonstrated that Planet software is susceptible to poisoning by broken HTML.

I noticed the problem while reading bigbro’s blog – he had left an <i> element open, which was not caught by the Planet ILUG engine. As a result, all the following posts were in italic.

The Planet ILUG engine is based on Planet Planet, which uses Mark Pilgrim’s feed parser. The source-code of the feed parser claims to sanitise its posts, but I proved that wrong by leaving the following lines of HTML at the end of a test post which was then syndicated out to Planet ILUG:

<font color="#ffffff"><sub>

I remember coming across this bug a long time back – late 80s/early 90s, when the net was just taking off – at the time, HTML chatrooms were very popular. As a result, there were quite a few chatrooms out there that could be poisoned in a very similar way.

The only sanitising done by the feed parser seems to be to ensure that only a set list of allowed elements are let through in the code, and that other elements are removed. The parser does not appear to make sure that the let-through elements are properly closed!

On the HTML-poisoning note: I remember a long time back, when I was working for a Dublin CORBA consultancy company, they built the first ever forum powered by EJB, as a proof-of-something. They were showing off the bright and shiny new application, really proud of it. As a test, I stuck a simple line of code into a post to the forum:

<script type="text/javascript">document.location="http://contactjuggling.org";</script>

The look on the developers’ faces was priceless.

I wonder, how many other Planet engines are susceptible to this old bug?

a weird xchat moment

<Baud> daft question.. when dpms turns the screen off, does xscreensaver stop rendering?
<diamond> Baud: when you can’t see it, xscreensaver doesn’t exist. a tree fell in a forest and crushed it. conceptually.
<Baud> !kill diamond from space
* abbot chops diamond from space’s head off with a large trout
<m1> surreal.

SitePoint's coding competition

SitePoint announced a unique competition recently.

The idea was to to the opposite of the CSS Zen Garden – ie; make a website look beautiful in one browser, but no other!

My favourites from the contenders have to be these ones (check first in Firefox, then IE or whatever):

  • sbob – 80s flashback warning!
  • elliothere – funny ’cause its true!
  • Egor – this one made me laugh out loud.
  • Bytecon – this guy seems to have completely misunderstood what the competition was about