]> The LambCutlet Disorganisation » 2004 » September

The LambCutlet Disorganisation

When draconian XHTML browsers (rightfully) attack!

Posted by Jonathan at 22:31:49 UTC on the 29th of September, 2004

Having re-embraced anally retentive XHTML loving just a few days ago having previously hand rolled the blog for a good year or so, I and others have recommended usage of XHTML’s correct MIME-type of application/xhtml+xml as being the way to make sure all mark up output by whatever web application stays 100% well formed.

Not too difficult when every character is something you’ve typed yourself when handrolling, however there are often surprised lurking just around the corner when one is using something a little more dynamic. Ironically, that very post’s permalink announcing my change back suffered from not having a naked ampersand entitised… All because Bruce said there was some ugly :hover generated text reflow in the title as it just happened to be at that awkward length so I changed the “and” to just a “&”. However, luck would have it that the <meta name="DC.title" /> element didn’t run PHP’s htmlspecialchars() function over the $title variable, the root of this little upset.

Likewise, Gallery 1.x’s block-random.php which I use for the “Random Picture” section suffered a similar fate and the fix is just the same. A little bit of a kludge, since should the image description already contain entities or has mark up which shouldn’t be entitised, it does. However; come Gallery 2.0.x, the output by the new block module is 100% XHTML compliant… so much so in fact, the whole application is probably the one I’d put down on my list as needing the least fixes to get it working in browser’s draconian application/xhtml+xml mode with phpBB 2.2.x pretty much even. If anything, it’s just a great way to debug mark up for whatever web application you are working on.

Oh, and for those that love to live on the bleeding edge and are using PHP 5.0.x, libtidy could very much save your backside as it can automagically fix your pages on the fly using the tidy_*() functions or ob_tidyhandler() to catch those unexpected moments! :D

Filed under: Meta, Software

中秋節

Posted by Jonathan at 01:10:18 UTC on the 28th of September, 2004

The 15th day of the 8th month is time for 中秋節 (Mid-Autumn Festival) by the good old Chinese lunisolar calendar, which Westerners will mostly know it by the transliteration of it’s less common Chinese name, 月餅節 (Mooncake Festival). This 8th full moon of the year is noted for it’s brightness and roundedness thusly symbolising family unity and togetherness. Traditionally, Chinese families and their friends will gather to visit a scenic spot and gaze at the moon, whilst munching on mooncakes, pomelos (the grapefruit is a cross between a pomelo and an orange), startfruits (carambolas) and perhaps even the odd steamed sweet white bun filled with lotus seed paste. People that work the land will also celebrate this day as it signified the end of the agricultural season with the crops having been harvested on this date. Indeed; in the West, this 8th full moon is known as the “Harvest Moon”.

The people of 香港 (Hong Kong) always celebrated the the major Chinese festivals in a way only they could… coming out in their hundreds of thousands and lapping it up. The two scenic spots which families congregated on in 香港島 (Hong Kong island) are 維多利亞公園 (Victoria Park) and 太平山頂 (The Peak, née Victoria Peak) with the park often becoming a sea of families having picnics. The kiddies proudly carrying their lanterns, ranging from the very traditional styles made from crêpe paper and depending on the design may have a supporting bamboo frame, then more modern ones which are covered in coloured acetate film, both lit with a red wax candle with the other end of the spectrum where battery powered ones made from injection moulded plastic may be preferable since fire and children can have quite interesting results and at least avoids the tears which would no doubt come should a child’s favourite lantern suddenly decide it should spontaenously combust in an impressive fireball! :D

The lantern designs would literally be of anything auspicious from the usual lotus, full moon and starfruit shaped lanterns to elaborate ones which take the form of animals such as 錦鯉 (Brocade Carp, “Nishikigoi” in Japanese), goldfish, horses, tigers, roosters, deers and so on. I certainly recall having one of a baby deer about 3 foot long made from bamboo and clear acetate decorated with specks of shiny glitter which was very pretty sometime around the age of 6, perhaps 7… In fact, being actutely aware of not wanting it to be a deer shaped fireball, I used a yellow chemical lightstick in a flash of lateral thinking which meant there was no candle to set fire to things, didn’t need a battery to operate and lasted a heck of a lot longer and brighter… It must have been a bright idea (pardon the pun) as the next few years I saw more and more kiddies do exactly the same thing! I knew I should have bloody patented it… :D

The origins of the festival are a little murkier compared to other Chinese festivals, one relating to the rebellion against Mongol Empire and it’s occupation of China during the early 14th century known as the 元朝 (Yuan Dynasty) and the other to the Chinese Moon godess, 嫦娥 (Chang’e) where the latter has two variants of the story! The story which tells of the overthrow of the Mongols boils down to the fact that Mongols didn’t eat mooncakes, a very dense sweet baked cake with lotus seed or mung bean paste plus a salted egg yolk in the middle, so it became an ideal way for the Chinese rebels to hide secret messages to their compatroits in performing their coup d’état. As for the Chinese Moon godess, 嫦娥 (Chang’e) versions, there are “Chang’e and Houyi the Archer” and “Chang’e and the Cruel Emperor”:

Chang’e and Houyi were immortals living in heaven. One day, the ten sons of the Jade Emperor transformed into ten suns (no pun intended), causing the earth to scorch. Having failed to order his sons to stop ruining the earth, the Jade Emperor summoned Houyi for help. Houyi, using his legendary archery skills, shot down nine of the sons, but spared one son to be the sun. The Jade Emperor was obviously not pleased with Houyi’s solution to save the earth: nine of his sons were dead. As punishment, the Jade Emperor banished Houyi and Chang’e to live as mere mortals on earth.

Seeing that Chang’e felt extremely miserable over her loss of immortality, Houyi decided to journey on a long, perilous quest to find the pill of immortality so that the couple could be immortals again. At the end of his quest he met the Queen Mother of the West who agreed to give him the pill, but warned him that each person would only need half the pill to become immortal.

Houyi brought the pill home and stored it in a case. He warned Chang’e not to open the case and then left home for a while. Like Pandora in Greek mythology, Chang’e became too curious: she opened up the case and found the pill just as Houyi was returning home. Nervous that Houyi would catch her discovering the contents of the case, she somehow accidentally swallowed the entire pill. She started to float into the sky because of the overdose. Houyi wanted to shoot her in order to prevent her from floating further, but he could not bear to aim the arrow at her. Chang’e kept on floating until she landed on the moon.

While she became lonely on the moon without her husband, she did have company. A jade rabbit, who manufactured elixirs, also lived on the moon. (Note that Japanese pop culture also has plenty of references about rabbits living on the moon.)

Another companion is the woodcutter Wu Gang. The woodcutter offended the gods in his attempt to achieve immortality and was therefore banished on the moon. Wu Gang was allowed to leave the moon if he could cut down a tree that grew there. The problem was that each time he chopped the tree, the tree would instantly grow back, effectively condemning him to live on the moon for eternity.

Many years after she was already the moon goddess, Cheng E looked down upon Earth and saw that a terribly cruel and tyrannical emperor sat on the throne. To help the people, she allowed herself to be reborn into the mortal world. The other members of her mortal family were either killed or enslaved by the emperor, but Chang’e managed to escape to the countryside.

Meanwhile, the emperor was aging and obsessed with discovering the elixir of life. He had people all over the land brought to him and demanded of them how to find the elixir of life; nobody knew, of course, but the emperor would not accept ignorance for an answer and executed all those who could not answer.

In the countryside, Chang’e met the goddess of compassion Guan Yin, who proceeded to give Chang E a small elixir. Chang E brought the elixir to the emperor. The suspicious emperor worried that it was poison and demanded that Chang E taste the elixir first. She did, showing no ill effects, so then the emperor took the elixir and promptly died. Then, Chang E also left the mortal world; the effects of the elixir had only been delayed for her. However, instead of dying, she ascended to the moon to retake her place as a goddess.

Indeed, images of 嫦娥 (Chang’e) are often used as decoration for the tins in which mooncakes are sold in, made and packaged by a large number of different bakeries since mooncakes themselves in modern times have proved far too time consuming for most families to make as the filling for the cakes take anywhere between 2 to 4 weeks to properly prepare!

Filed under: Meta, Personal

WordPress & “application/xhtml+xml”

Posted by Jonathan at 23:52:34 UTC on the 24th of September, 2004

Well, well, well… The LambCutlet Disorganisation is back in business with some good old content negotiation and correctly serving XHTML as application/xhtml+xml, it’s correct MIME-type to XHTML browsers; having for the last 4 months or so, always served the XHTML as text/html regardless what the user agent was capable of accepting.

The changes I’ve implimented are just a quick port of what I used to have running when this blog was still hand rolled and they are as follows:

In ./wp-blog-header.php, find…


if ( !isset($doing_rss) || !$doing_rss )	{
	@header ('X-Pingback: '. get_settings('siteurl') . '/xmlrpc.php');
} else {

Replace with…


if((strstr($_SERVER["HTTP_ACCEPT"], 'application/xhtml+xml'))||(strstr($_SERVER["HTTP_USER_AGENT"], 'W3C_Validator'))||(strstr($_SERVER["HTTP_USER_AGENT"], 'WDG_Validator')))	{
	$http_accept_mime = 'application/xhtml+xml';
} else {
	$http_accept_mime = 'text/html';
}
if ( !isset($doing_rss) || !$doing_rss )	{
	@header ('X-Pingback: '. get_settings('siteurl') . '/xmlrpc.php');
	@header ('Content-Type: ' . $http_accept_mime);
} else {

In ./index.php, find…


<meta http-equiv="Content-Type" content="text/html; charset=<?php bloginfo('charset'); ?>" />

Replace with…


<meta http-equiv="Content-Type" content="<?php echo $http_accept_mime; ?>; charset=< ?php bloginfo('charset'); ?>" />

Update the files and anally retentive XHTML loving will be all yours again. :D

Filed under: Meta, Software

“Rediscover the Internet…”

Posted by Jonathan at 21:43:43 UTC on the 17th of September, 2004

… with Mozilla FireFox! Spread the word! Domo loves it and you should too! :D

Okay, okay… this is technically at version 0.10.0, otherwise know as 1.0PR and will be the last version before it hits Gold™ as version 1.0.0. Mozilla Foundation’s target of 1 000 000 downloads in the first 10 days of release is going to be quite throughly smashed, having reached nearly had 790 000 downloads in just the first 3 full days! So with a bit of linear extrapolation, that means there should be over 2 500 000 downloads by day 10.

But you know what I say? That just isn’t good enough… snowballs get bigger exponentially and when this snowball comes crashing through on the 25th of September, I personally wager there’ll be 10 000 000 downloads. How’s that for a real target? :D

For those that still feel most at home with Internet Explorer and worried about the plunge, just go and get foxie… ;)

Filed under: Meta, Internet, Software

『生日快樂對我!』

Posted by Jonathan at 04:33:10 UTC on the 17th of September, 2004

『生日快樂對我!』, literally “Happy birthday to me!”. How on earth do I have two birthdays in such a short space of time? Quite simple… it’s the 4th day of the 8th month of the Chinese lunisolar calendar and in year 2004, this day falls on the 17th of September… ergo, it’s my birthday again! :D

So what happens on a Chinese person’s birthday in celebration? Well, the answer is that it’s typically Chinese… 利是 (Lai Si); otherwise called 紅包 (Red Packet) for non-Cantonese speaking Chinese, which bare auspicious words or imagery is given to the birthday boy or girl where the contents of the little red envelope is a monetary gift.

In Western society, it’s considered rather crude and lacking of etiquette if the value of the gift is know to the recipient since the West emphasize it’s “the thought that counts” and actual value of the gift is secondary. Within Chinese society, the monetary value of the gift is very important and getting hard cash is socially acceptable precisely because they allow the receiver to accurately measure the relative standing in a social relationship.

But what celebration would be complete without food? Large banquet in honour of the person’s birthday aside, it is traditional for the birthday boy or girl to consume a bowl of long uncut noodles served in a clear chicken broth. The uncut noodles symbolise a long life and the chicken, one half of the symbolism for “dragon and phoenix” means happinesss and marriage, especially when served with “dragon foods” such as lobster, shark’s fin, snake, abalone, et cetera.

髮菜 (Black Moss Seaweed) will also feature as it tranliterates to “Hair Vegetable”, since it does look like black hair; but more importantly because it’s phonetically very similar to 發財 (strike a fortune), as per the usual well wishings during Chinese New Year of 『恭喜發財!』 (“Wishing you the luck to strike a fortune!”). Thusly, eating 髮菜 (Black Moss Seaweed) will bring wealth and prosperity, the very thing it symbolises.

Even though 髮菜 (Black Moss Seaweed) sounds rather unpleasant to the palette, it’s actually rather nice. It’s not bitter, salty, sweet or sour, but more of the fifth taste “umami” which is Japanese for “delicious flavour”, and can be written as 旨味 or うまみ. In Chinese the characters are 鮮味, again transliterating to “delicious flavour”. For Westerners that still can’t quite get their head round what this flavour is, it’s best described as “savoury” or “more-ish”. On a side note, it’s actually not a seaweed at all but in fact an edible cyanobacterium with a funky Latin name of Nostoc flagelliforme.

On to other foodstuffs; dried soya bean curd is associated with happiness, whole boiled eggs with fertility, peanuts for long life, peaches for peacefulness, oranges for wealth & luck, seeds (watermelon, lotus, et cetera) for having a large number of children, tangerines for luck and the list just goes on and on. So a couple of examples… Having a hot dessert made from boiled eggs, lotus seeds and peanuts with brown sugar cane soup would be a good omen for a sweet, long and fertile life with plenty of children. Steamed soya bean curd with oyster sauce and black moss would collectively symbolise happiness and prosperity.

Now to a bit of Astronomy… through the wonderful process of Enneadecaeteris, the two calendars usually syncronise every 19 years which meant my two birthdays in 1997 should have coincided though the Chinese one actually ended falling on the 5th of September. 2016 isn’t any better either as my Chinese birthday will fall on the 4th of September! I’ll in fact have to wait it out till 2024, when I’m to turn 46, to experience having both birthdays falling on the same day since my actual birth… Yipes! The years 2043, 2062, 2081, 2111 & 2130 also sync up though I doubt I’d make it past 150 years old! ;)

Also, as I’m born near the beginning of the month in the Gregorian calendar, there have been a few occasions where my Chinese birthday falls in August! The last two times that happened were 29th of August, 1995 and 31st of August, 2003… however it will not fall in August for again till 28th of August, 2014.

Now if you’ve not had your braincells utterly fried by now, my father was born on the 13th of September, 1930. By the Chinese calendar, that will put him as being born on the 21st day of the 7th month… yes, that’s right… my dad’s birthday by the Chinese calendar is a whole 13 days before mine! Don’t even get me started on the fact the Chinese count their age from the day one was born as being 1 year old, so that by the 1st anniversary, you will turn 2 years old. That means I’m both 26 and 27 years old… arrrrgh! :D

Filed under: Personal

Vroooooooom!!!

Posted by Jonathan at 21:32:55 UTC on the 15th of September, 2004

Vroooooooom!!! The Linux 2.6.8 bzipped kernel downloads to my computer at record speed!

Eclipse delivers with my ADSL regrading to double the downstream bandwidth going from 512kbps/256kbps to 1Mbps/256kbps having ordered it back on the 6th of September. British Telecomm managed to not completely balls up my line upgrade unlike the initial lot they did leaving some 10 000 punters connectionless. Bruce did get struck down by BT’s incompotence however, having the same activation date of the 15th of September and took some time before his connection was back up and working. :(

Still, the extra boost in speed is more than welcome… roll on 70Mbps wireless broadband and the era of the pervasive Internet. WiMAX anyone? :D

Filed under: Personal

Gimme’ some more SED lovin’

Posted by Jonathan at 19:15:39 UTC on the 14th of September, 2004

I said SED, not STD… and it looks like 2005 can’t come quick enough for us display freaks be it for performance graphics/gaming computers or lush home cinema setups. I last rambled on about this just before Christmas last year and EETimes have some fresh news that Canon and Toshiba have dropped the bombshell regarding their long rumoured joint venture:

Canon and Toshiba will begin operating a long-rumored joint venture company next month to develop and produce next-generation flat-screen SED (surface-conduction electron-emitter display) panels for large-screen, flat-panel TVs.

The joint venture, to be called SED Inc., will require ¥1 billion ($9 million) in funding, split roughly 50-50 between both Canon and Toshiba. SED will be located in Hiratsuka City, Kanagawa and be headed by Shunichi Uzawa, currently director and group executive of SED Development for Canon.

Expected to initially employ 300 workers, the plant will begin producing SED technology panels in early 2005, with a new plant constructed to allow mass production.

This new technology should make HDTV panels ranging from 100cm (42″) to 250cm (100″) diagonal quite feesible and not needing to remortgage the house just to finance one. Their colour rendition and pixel switching speed will be as good as the best traditional CRTs have to offer and have the slim form factor as per current Plasma and LCD, allowing it to be hung on a wall; yet best of all beat all three in terms of power consumption by a factor of two to three. A good thing for us energy conscious Europeans. ;)

Not too sure if these forthcoming panels will be of the 720p, 1080i, or possibly even 1080p variety. If it’s the latter, the glorious 1920 × 1080 resolution will make quite a formidable computer display as well.

Half-Life² anyone? :D

Filed under: Technology, Science

It’s my b-b-b-b-b-birthday!

Posted by Jonathan at 02:22:27 UTC on the 6th of September, 2004

Another year rolls round and I’m now 2223 or 1010001.000101φ years old, in ternary and phinary respectively… for those still scratching their heads, it’s the same as 26 in good old decimal. ;)

Not a person for making too much of a fuss with birthday celebrations, Nykky and I did go out on Saturday night on the 4th, meeting up with her at her house at around 8 p.m. originally with the plan to get some food at a nice restaurant and onwards to some nightclubbing. As we both walked down Abington Street on our way to Sophia’s, a nice little Italian restaurant right in Northampton town centre, chatting away as to our plans in the near future I heard some cyclists come towards the back of us. Literally as I turned my head further round to see exactly where they were, one of the two cyclists ran straight into the back of Nykky knocking her clean onto the pavement and the rider coming off as well.

In the blur, my first concern was to check that Nykky wasn’t badly hurt and confirmed she at least didn’t have a broken back seeing as she’d picked herself up off the floor. So I then diverted my attention to the stupid idiot whom shouldn’t have been riding on a pedestrianised area anyway to find that he was a kid no older than 14 or thereabouts looking up at me with what seemed to be the fear of god in his eyes. I did give him an earful but restrained in giving him a hiding being the pacifist that I am and that I’d noticed a stunned crowd had started gathering, plus CCTV is all over Abington Street and didn’t fancy myself featuring on tomorrow’s news bulletin having been done for assault or some such.

His cycling companion then freewheeled up telling him what a prat he was, having not watched where he was going and asked if I was alright, though promptly corrected him that it wasn’t me whom had been knocked over and gesticulated in Nykky’s general direction. The cyclist that hit us was still on the floor looking all bemused and with me getting rather sick of their presense, gave him a swift kick up the back side to get him off the floor and told them both to promptly make themselves extremely scarce. With my attention now focused back upon Nykky whom was still quite shaky and trying to dust herself off, asked if she’d just prefer to cancel arrangements and for me to take her back home, she bravely said that she’ll be fine and with that we carried on with our walk down to the restaurant. Incidently, the cyclists did seem to heed my warning as by this time they were nowhere to be seen…

We got to Sophia’s not long after and managed to get a table for two having been rather naughty and not pre-booked. Our menus arrived and quickly scanned the menu and made our choices as it was now nearing 9 p.m. and both of us had very rumbly tummys! Nykky opted for the “Chicken Almondine” with me choosing the “Tortelini Alfredo”, with a nice bottle of Soave to share between us. As the waiter sorted our order with the kitchen, Nykky took the opportunity to use the girlies’ loos to wash a minor graze on her elbow, but came back to our table saying it still felt “odd” but it didn’t look dislocated to me.

The food and wine soon arrived and both of us started to munch away, though Nykky did have to eat one handed trying not to further aggravate her injury. As we idly chatted, events earlier came to the fore again and Nykky confided that she was very glad that the crowd of stunned onlookers didn’t burst out laughing, as had she seen a similar incident she probably would have done so. She was even more surprised with the fact she thought I’d disappeared as when she gathered herself up, all she heard was someone being extremely stern to the young lad and was quite shocked to find that it was me, as apparently it certainly didn’t sound like me at all and I didn’t react in how she’d expected me to react, usually very quiet and reserved. HULK SMASH!!! :D

With food devoured and second bottle of wine approaching empty, Nykky was still in a lot of discomfort and declared she couldn’t move her left arm at all now and was actually looking rather swollen anyway, which isn’t too good. I suggested that we’d visit Accident & Emergency straight after we’d settled the bill, but not before asking the waiter if there was something from they First Aid kit along the lines of a sling. As the waiter came with a large sheet of gauze, trying to assemble a makeshift sling, the table next to us quipped in as to how best to arrange it and asked what had transpired earlier on in the evening.

The gentleman, who used to work in the Royal Air Force as an engineer examined Nykky’s arm and concluded it may very have broken, albeit just a fracture, but break none the less and with that we should get ourselves to the hospital as soon as possible. Alas, the bill took quite some time to arrived and in that time the five of us (the gent, his wife, a male friend of theirs, myself and Nykky) managed to have a good deal of conversation touching on Nykky’s 6 month’s worth of travelling starting this November, but also questions like how long the two of us had been seeing each other to which I replied none, as the relationship is Platonic… something the two gents couldn’t quite believe. More disbelief came as we told them we met each other from going out to parties and so forth, with them saying it’s surely not a place you can meet anyway, to which I replied that it’s just like chatting up someone in a library, only with alcohol flowing and loud music… cheeky I know; but come on, it’s funny! :D

The bill finally arrived and quickly paid, so we said our goodbyes to the neighbouring table then Nykky and I walked round the corner of the street to the taxi rank so as to get ourselves to the hospital. Once at Accident & Emergency, we checked ourselves in and waited for the predicted 4 hours it was gong to take to be seen to but we’ve obviously managed to be ahead of the pub closing chaos of drunken maimed people as Nykky got her X-ray done within the hour and checked over by a doctor to confirm her arm had indeed been broken another hour and a bit later. Time was now about 1:30 a.m. and with Nykky’s arm in sling, plus pain prescription pain killers and an appointment for a check up on the end of this month all arranged, we just needed to wait about 10 minutes longer for the taxi I’d booked to take us both back home.

So an eventful night it certainly was and now just hope the meal with Booey (née Paula) this Wednesday, 8th of September doesn’t result in any broken bodies… :D

Filed under: Personal

Updated Curriculum Vitæ…

Posted by Jonathan at 16:28:15 UTC on the 5th of September, 2004

My Curriculum Vitæ (Résumé for you Americans) has been brought bang up to date having been a little neglected for a good 9 months since going back into gainful employment at RS Components, in the December of last year. Not so much a case of itchy feet, as the current word on the street is that my company still needs the additional people they hired for the foreseeable next 12 to 18 months.

Hopefully they’ll finalise contract extensions, or perhaps even permanancy soon so will have to see what happens next, though I have started getting the newspaper and applying for positions which take my fancy… Then again, if you know someone (which may include yourself!) whom could do with my skillsets then I’m more than happy for you to drop me a message. ;)

Filed under: Meta, Personal