Monday, December 22, 2008

NMA Site of the Week


Yay, an award!
Ironically in the week that we redesign it for spring summer '09 www.bench.co.uk is NMA's (New Media Age) site of the week:
http://www.nma.co.uk/SiteInspections/40880/Bench.html


Wednesday, December 17, 2008

eth1 Slammin' Top Tip for starting busy webservers


Much like many others of you we run servers which accept http connections on one eth and make db connections on another. In this case eth0 faces out and eth1 faces in to the db zone.

Sounds reasonable? In fact I suggest that you should put them the other way round.
We get alerts when web requests fail because of a lack of db connection, its meant to let us know when the db connections are running out.

But today colleague x executed a graceful restart of the networking on a busy web server, you can tell whats coming can't you...

Yes... eth0 starts first, processes try to connect through eth1 before its up, hundreds of errors LoL!

So in future, eth0 shall face in-the-way, so that the route to the db is available before we open the front door to the hordes of christmas shoppers.

So remember, at xmas the rule is:- eth0 lan eth1 internet


work that terminal award, command of the week


'Tis the season to be jolly, or jolly busy as we are in the waccy world of online retail.
In fact thats 99.99% of the reason i've been so quite recently.

But naturally, at this time of year, our thoughts turn to such questions as "how many MaxClients should I have?" and "are keepalives better or worse for overall performance?" but the question exercising our minds today has been "what *are* all those ip_conntrack entries?".

Rewind a little... a) I turned keepalives off, and reduced MaxClients, things seemed to be more controlled without all those idle processes ready to receive requests with no warning.
b) We'd always had a low but persistent number of "can't connect", or "no html" errors reported by external beacons, and when we applied test loads this went through the roof.

So today, dmesg says.. ip_conntrack: table full, dropping packet.

Which brings me to the point of this post, we increased the size of the table in line with the unverified facts, lies, and dodgy misinformation prevelant on the web ;-)

That helped, but now we want to know whats in the ip_conntrack?

Enter the victor of the command of the week award..

grep ^tcp /proc/net/ip_conntrack | awk '{print $4}' | sort | uniq -c

Whos output turns a whole mess of gobbledy gook into something like this:


196 CLOSE
14 CLOSE_WAIT
28380 ESTABLISHED
11 FIN_WAIT
3 LAST_ACK
786 SYN_RECV
18101 TIME_WAIT


Knowedge is power, have an award Patrick Schaaf. :-)


Wednesday, November 05, 2008

Travel Schmavel


Where to start... I was *meant* to be leaving Glasgow yesterday at 6am and arriving in New Orleans (via Schipol and Detroit) mid afternoon.

So we waited for four hours at Glasgow, which meant I'd missed my intercontinental connection after we'd been airborne for 40 minutes.

Then they stacked us above Schipol for another *long* time, I lost track at that point!

Then I queued for 2hrs to be seen at the transfer desk, to get re-booked. Before I even got to the front of the queue we were told to go straight to the gate, where there was an agonising wait of about another 30 mins before I found out if there was a seat or not.

Luckily there was, but on arrival in Detroit there was no connection, and another *slow* queue so I hung around the airport all night, and I should be flying this morning to New Orleans via Memphis.

Which I'll believe when it happens.


Underdo Looses


John McCain apparently said this..

"I'm very happy with where we are," he said before voting. "We always do best when I'm a bit of an underdog."
Ooops, I'd hate to see you do badly then.

Have a Quote-of-the-Election award.


Thursday, October 23, 2008

blow your own trumpet award


got an email this morning with this subject...

FW: Redemption through online store
Was The Church now offering Salvation to credit card users online? Maybe not.
Perhaps, I then thought, this is how retailers will avoid credit crisis hell?
I was disappointed, of course, when I read it because it was about integrating with a gift card provider, but it caught my attention, and so deserves an award.


Thursday, October 09, 2008

Team Photo



My dept now numbers some 19 people (coo!) of which 15 or so play UrbanTerror, so we took a team photo.
Pictured (in no particular order) are: Esc, xXx, _douglas, Brian, decswxaqz, binaryBurn, buckrogers, dmcd, Shaninio, The_Sandman, Booyah!, CENTREFIRE and BobaFett.
Not photographed, yrs trly, dave and OldMrsGalloway.


Tuesday, October 07, 2008

'c'mon goog, crawl me!


I'm guessing some of you might be privy to the secret of how google schedules its crawls, I'm hoping that once you get crawled you don't have to wait while the whole of the rest of the web has a go before you get your next turn.
I submitted a whacking great sitemap yesterday morning for www.shop.bench.co.uk but no activity yet.
So in a shameless attempt to hijack the fact the this blog is crawled more frequently than every other day I thought I'd use it to speculate about whether or not the bot will follow this link to www.shop.bench.co.uk from which you can, should you choose to do so, buy Bench clothing, e.g. t shirts, online. :-) The last time that site was crawled coincided with the last time I posted a link in this blog, so fingers x'ed.
Oh, and I'll let you know if it did any good... Update Yeah it worked, within less than an hour of this post my blog and www.shop.bench.co.uk were both crawled, thank you big G. :-)
P.S. if *you* want to follow the link please arrange amongst yourselves for at least 1.2% of you to actually buy something, I don't want to be held responsible for lowering conversion rates!


Friday, October 03, 2008

Quote of the [specify timeperiod]


Feedback on the new www.bench.co.uk site for Bench clothing elicited this response..

On the whole, the site is edgy, youthful and energetic; I, however, am not,...

Thank you ma'am and have an award.


Thursday, October 02, 2008

Phew, made it...


Yesterday we launched two new sites
An online store for Bench Clothing at www.shop.bench.co.uk WHY WAIT BUY NOW!!
This one uses some AJAX and is also integrated right through to the company's Navision system for finance, stock control, and operations in the warehouse, so when you add something to your basket even though the page doesn't reload we've checked the live stock levels to make sure they have what you want.
and a brand site at www.bench.co.uk which is awesome looking and a great achievement by the guys.


Friday, September 26, 2008

Arguments in Conflict


This bizzare bit of prose appeared on a site I was trying to view just now masquerading as an error message:

"Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another."
And I thought, yes that could be bad. Arguments of the right type are unpleasant but necessary if you want your relationship to last, and yes, you do need to keep them within an acceptable range. Arguments in conflict with one another, however, sounds like fisticuffs and that's no good at all. I hope that server can resolve its issues.


LOLCODE


I guess you all saw this already but I ROTFandL'edMAO when I read this code for streaming a file to the console, and handling a file not found exception, from LOLCODE.


HAI
CAN HAS STDIO?
PLZ OPEN FILE "LOLCATS.TXT"?
AWSUM THX
VISIBLE FILE
O NOES
INVISIBLE "ERROR!"
KTHXBYE



On a more bizzarre note seems like this is catching on... http://googletesting.blogspot.com/2008/09/tott-mockin-ur-objectz.html

KTHXBYE, Dnny.

-- update

Lolcode btr thn Regex...

LOLCODE version....

HAI
HAS I A PC?
KTHXBYE

Regex version....

^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$


WTF, no brainer!


Monday, September 22, 2008

Wierd hostname award


We changed broadband provider for the office today, imagine my surprise to discover, wilst idly tracerouting (as you do), that the gateway server is called "gay-dsl1.*****.uk". I wonder in what respects gay dsl differs from the hetero variety we've been used to? (answers on a postcard)

So, new broadband provder, please accept a "most surprising hostname" award.


Thursday, September 04, 2008

random stuff bit.ly gz and jpg


Seems twitter have launched a tiny url clone called bit.ly, bit.ly lets you pick a custom word to use, won't be long 'till they run out, example: http://bit.ly/arses the singualr form has already been used.

Yesterday we resampled all of the product images for one client, resaving them at 50% quality.
We also applied gz compression to the php output. Bandwith data rate was nearly 30% below the predictions for the day. Nice. And while there were some small tonal differences in the images I don't think anyone could confidently say which was the smaller one, certainly Mark (head designer) and Sandy (executive vice president in charge of product photography) we're happy with the changes.


Tuesday, September 02, 2008

Quote of the [specify timeperiod]


Forbes.com reports that in New Orleans: "hospitals were working with skeleton crews"

Also if I ever need to take an alias or a stage name or whatever, this headline from the Wall Street Journal has inspired me... "Gustav Evacuees May Be Able To Return Home Within Days".

If you're playing urban terror on-line and come across a guy called "Gustav Evacuees" it could be me.

Cue gratuitous screenshot, got from here


Thursday, August 28, 2008

Throw the baby out with the bathwater award, or (twitter -= SMS) == pointless


Twitter has stopped sending SMS to UK numbers.

Sadly that was Twitter's USP as far as I was concerned.

I suppose using some API client or IM would work when I'm at the PC, but I got most fun & use out of twitter when I was unleashed on the real world. I used to like getting people's updates when I was mooching about the house, in the pub, or travelling.

I can still send updates by SMS, but why bother if I have to wind up the laptop to see the replies.

So Twitter gets an award, for shoot-yourself-in-the-foot-ism, sorry guys but as far as I can see you just threw the baby out with the bathwater.


Friday, August 22, 2008

WTF music award


Green Day fans throughout the family, and the office, are reeling with shock at this weird anti-cover of "Good Riddance (Time Of Your Life)" by old-timer and living-legend Glen "Rhinestone Cowboy" Campbell.

If Glen's version was the original and Green Day had covered it it might make some kind of sense, but this is definitely the music equivalent of a prequel. I'm guessing he's not going to cover American Idiot next.

Glens version is top, the original below:




Thursday, August 21, 2008

It made *me* laugh award


I'm a jaded and grumpy old geezer who finds little to smile about in my inbox these days, but this did the trick, and so it gets an award:


Thursday, August 14, 2008

All work and no play ...


... I don't think so, I forgot to add to yesterday's post that as well as all the new folk and new clients we've got new toys too.

We've got two 52" plasmas, one streaming the olympics and one with a Wii, and under my desk is an UrbanTerror server so my department can take out their frustrations by fragging each other at lunchtimes.

Oh... and if you've got flash actionscript 3 skills and can travel to out office get in touch, all this could be yours too.


Wednesday, August 13, 2008

Onwards and upwards..


Yesterday we launched our now corporate website here.

The previous day we inducted two new php analyst programmers and a second business analyst.
Last monday we started a new sysadmin.
We're still looking for a flash actionscript 3 developer.

Now that the new site is up I can reveal that we're working on ecommerce for two exciting fashion brands Bench and Hooch. Its always a challenge working for established brands, but in this case its creating a real buzz in the office, they're going to be cool through and through, from the graphic design to the seamless integration with warehouse and financial systems.

Talking of challenging, the migration of a.n.other client seems to have gone pretty smoothly, some minor issues are outstanding, but (touch wood) everything that's needed is working.

And finally.. we've launched a redesign of Duchamp.


Tuesday, August 12, 2008



Wednesday, July 09, 2008

We're hiring


Business Analysts, PHP developers and an online marketeer, apply here
And join me here: :-)


Friday, July 04, 2008

Mysql Federated tables and Oracle Database links


Taking time out from the Big Migration job to share this with you, and before you say anything *I Know* this is old news, but forgive me because I've been away from MySQL for 4 years, and just because you know this doesn't mean that there aren't other "late adopters" like me out there.

Over the past few weeks I've come across quite a few posts on the net from folks who wanted to use oracle style links between MySQL databases (I don't need to, I just spoted a theme). Researching the storage engines in Mysql 5 (we're upgrading as well as migrating) it seems there is now an answer in the form of the Federated storage engine.

The article also provided me an answer for the perennial problem of needing several instances of MySQL in dev and test, often for exactly the task currently at hand, migrating from one version to another, that answer is the mysql sandbox. Neat. Its a shame that I've already set up my dev environment, I'd like to play with that.


Thursday, July 03, 2008

Sony Bricks PS3's


Sam, who sits opposite me at work, tells me that the latest firmware update for the PS3 was bricking boxes yesterday until they recalled it. Her better half didn't manage to download it in time, lucky for them.

Apparently calls to Sony support (in the uk at least) were met with the response "we'll come and collect it".

I guess my nearest and dearest were actually saving me a headache when the didn't buy me one.

You can read a bit about it here.


Thursday, June 12, 2008

Apache httpd & SELinux


I'll admit straight away here that SELinux was news to me 6mths ago when I installed Centos5 (RHEL5 equivalent) for the first time. Since then I've found out a little, mainly because I had to.

SELinux lurks like a rake in the grass and whangs you on the noggin just when you're 100% sure you know what you're doing.

For example SELinux was the culprit when a pretty simple perl DBI script wasn't allowed to connect to a remote database when run as a CGI script, but the same script worked fine as a shell script. And the error was no more than an unhelpful and inscruitable "Can't create TCP/IP socket (13)".

Its been a real pain, so here are two things you may wish to read...

When pain strikes reach for: How to Disable SELinux turning it off is a sure fire way to find out if it really is an SELinux problem.

Then when you want to turn it back on again read this: Apache and SELinux to find out how to configure it to allow httpd to do some things without opening the door to everything.


Tuesday, June 10, 2008

For your listening pleasure...


Why? Because I can.






Thursday, June 05, 2008

Another year older... another ASF board elected...


It hardly seems like a year since the ASF elected the board and here we are again.
The new board is a healthy mix of dedicated people from all walks of the foundation and looks like this:

Bertrand Delacretaz
Justin Erenkrantz
J. Aaron Farr
Jim Jagielski
Geir Magnusson Jr.
William A. Rowe, Jr.
Sam Ruby
Henning Schmiedehausen
Greg Stein


Wednesday, May 21, 2008

Botched Security Lifetime Achievement Award


I wasn't going to add my 2c to the debate rumbling behind the OpenSSL defect, (summarised nicely here) Plenty of knowledgeable folks have raked over those coals already.

But then I came across this story, I don't know how old it is, Hardworking Locksmith In Prisons and it struck me that the OpenSSL problem was essentially the opposite of the locksmiths one.

On the one hand we have a security technology which was compromised because its secrets weren't known and understood well enough, and on the other we have a security technology who's flaw is that it relies to a large extent on practitioners keeping secrets.

So the award goes jointly to the guys who compromised OpenSSL without knowing what they were doing, and the guys who compromise our homes and offices just because they do.

I'm still not sure whether I'm happier to rely on knowledge or ignorance for my security though.


Wednesday, May 14, 2008

Using Apache2 as a reverse proxy


It was years since I'd done this, and I'd forgotten everything about it but niq's article gets it all across nice and concise.


Wednesday, April 30, 2008

Microsoft iPod Carton


Its old, but I only saw it the other day, and I laughed..
(If you can't see the video, perhaps you're reading this on a feed reader, click this link to you tube.)


Tuesday, April 22, 2008

OMG - java weenie goes LAMP!


Well yes, I've spent the past week or so trying to apply a load of stuff that I want to do from the world of Java to the word of LAMP, or php to you and me.

I should also say that before I embarked on my career as a java-weenie I'd spent four years man-and-boy programming perl, so the php itself wasn't any kind of hurdle, my challenge has been to see if I could introduce all of the application architecture patterns which I know and love from Java world.

So what things have I uncovered?

1/ IDE - the Eclipse PDT, with zend debugger, is excellent. Not quite as robust as Eclipse java tools, there are still some flaky moments and the code completion can't always work out what class $this->thing actually is, but that is all made up for and more by subclipse and the zend debugger. Keep up the good work PDT guys. For others who want to investigate I followed these instructions.

2/ OOP Yes, PHP5's OOP is pretty decent, but (obviously) it is weakly typed which I find annoying coming from a strongly typed background. And surprisingly I had to write my own classloader, which was fun and instructive and it seems to work fine, but why? I haven't started using exceptions yet, hopefully they'll be familiar.

3/ ORM Oh yes, this is cruicial to my plans Mua hahaha, and it seems so far that the excellent Doctrine ORM is well up to the task, if not quite in the same league as Hibernate.
One thing thats puzzling me is where the transactionality has gone, but perhaps thats because I haven't read the manual fully yet.

4/ Logging, oh wow- log4php - in incubation at Apache this is the php sibling of log4j it works fine and smells very familiar.

5/ Unit testing, haven't tried it yet but while I was talking through my researches with the guys who will have to suffer the consequences of my decision making they said phpunit, which certainly sounds like the right thing!

6/ MVC I'm not keen to adopt a big framework wholesale, for reasons which I can't be bothered to explain now, but its been relatively painless to knock together an OO MVC framework using Doctrine, homespun controllers, and Views generated by the Smarty template engine which at least lets us bind, using simple {$my.attribute} syntax, display elements to objects from the model, not sure how far Smarty will suit at this early stage but its looking promising for now.

I have no stirring conclusions at this stage, but its looking good, stay tuned and I'll let you know how it all turns out.


Tuesday, April 08, 2008

Geek Heaven Award


GSOC mentors have been introducing themselves to one another, and as always I've been avidly viewing the more esoteric web sites which this process introduces us to.

Today's winner (and its only 9:45 am) has to be Hironobu's HDD temperature graph here for its Zen like ability to ask us as many questions about the nature of life as it answers about the temparture of his drives.


Google App Engine


Staking my place (I'm always well-behind-the-curve!) I just tried to sign up for the Google App Engine trial, after reading about it here, but its already full :-(.

However the docs make interesting reading, and at least I'll have time to figure out how to use it and what it might be used for as I wait for the program to expand.

@Work right now I'm thinking about things like code escrow, how to convince client's lawyers that they don't need to own the hardware, and business continuity. That all puts a different flavour on my view of stuff-like-this, I wonder what kinds of SLA's & other protections Google will offer commercial customers?


Saturday, April 05, 2008

The Green Shoots of Common Sense?


Digital Urban: US Census Drop's PDA, Adopts Pencil and Paper


Thursday, April 03, 2008

New Studio



Studio, originally uploaded by danny angus.

We've finally re-arranged the office, turning what was the programmers room into a photography studio. Now we have room for eight more people, they'll get a flat-pack desk and drawers as part of the induction pack ;-)


Wednesday, April 02, 2008

Dell PowerEdge R200 - Simulating hardware failure


Warning, I'm not advocating that you *you* do this!
Determined to have a free (as in beer) operating system on the new servers I tried to put Ubuntu on them, but I couldn't get dell's open manage to work with the storage controller :-( so I've gone to CentOS 5.1 instead. Its more of a pain to get going with but probably a better bet in the long run.

Anyhow OpenManage installed fine, but being an untrusting guy I couldn't ship them off to the colo without knowing that I would spot a drive failure, so we simulated a failure by pulling out the cable. What do you know? It worked as advertised, and after pluging it back in again and rebooting (the R200's we've got don't have hot-plug drives) it rebuilt the drive quite happily.

r200

Time to do the other R200 and the PE2950III, the 2950 has 8 hot plug 2.5 inch bays, we've only got 3 drives in there right now in Raid-5. How the hell can raid 5 possibly work?

pe2950III Energy Smart

Unless the third drive is like schrodinger's cat, in which case it would be a complete copy of whichever drive happened to be missing, my power of imagination is defeated by the idea that any 1/3rd of my data can be created from the other 1/3 and some meta-data bout the missing stuff. If thats the case why do I need the missing drive at all? It all makes no sense to me, but I'm happy to trust it!


Friday, March 21, 2008

Black Perspex



Black Perspex, originally uploaded by danny angus.

The office was a frenzy of excitement yesterday because the black perspex was delivered for the photography.
So I took this picture of a baby's Converse Allstars on it with my phone.
Nice? I think so. Imagine what we can do with an actual camera.


Thursday, March 20, 2008

Is the message getting through?


One of the first things I did when I started here in November was to introduce Jira, prior to that we lacked a certain amount of structure.

This appeared on the divider between the (recently relocated) programmers and the photography area this lunchtime.

I think I'm winning hearts and minds! ;-)


Wednesday, March 19, 2008

Google Summer of Code 2008 - Apache James email Projects


The Apache James team have submitted two proposed student projects for Google Summer of Code 2008, you can read them here.

In brief they are:

1) Develop a VERP Mailet to allow James to write VERP modified return addresses on outbound messages, and an inbound mailet/matcher to identify VERP bounces and invoke configurable "do something" code.

And 2) James' provided mailing list manager is fine for small closed groups, but lacks the functionality of a more robust MLM, the project is to add some all or more of the following features subscriber and message moderation, double opt-in and bounce handling.

Spread the word, James needs Students!


Friday, February 29, 2008

City 17 -Life imitates Art


When I was in Manchester the other day I was struck by the resemblance between it and Half-lif2's City 17, largely as a result of the Beetham Tower. The top images is Manchester, the lower image is City 17


Manchester
(credit: Brian Micklethwait from http://www.brianmicklethwait.com/index.php/weblog/a_new_tower_in_manchester/)


City 17
(credit http://en.wikipedia.org/wiki/File:HalfLife2_City17_TrainStationSquare.jpg)


Thursday, February 28, 2008

serendipity


Went to collect my teenage daughter from her guitar lesson today for the 1st time, so I got Nikki to show me where it was on google maps. I took a good look at the satellite view so's I'd know exactly which house to go to, and how to get to the right street. Neither of us knew what the address was, and even if we did we're satNav luddites. Imagine my surprise when I got there to find the same maroon car parked in the same place in the drive as was in the satellite photo.


Tuesday, February 19, 2008

The Gratuitous Shoe



I couldn't resist posting this picture, as you may guess we've got more shoe photography going on in the office today... but this time its going straight into the asset library, from where I plucked this beauty.

I still can't work out how to make Adobe Version Cue work with a linux samba fileserver, VC seems to use java and mysql, but for some reason even running the server on windows I can't select the network shares as the data location. :-(

I think I'll just admire the shoes and wait for inspiration ...


Monday, February 18, 2008

Another day another dollar


Today we had a visit from an extremely prominent Scottish Politician with a local (to us) background, which was weird but fun. At Quango X we were sheltered from the politicians by several layers of civil (and sexy, and grumpy, and anal-retentive, but not all at once) servants, so it was odd to meet One So Exalted on equal terms, he was pretty normal, but my cynicism nags me that perhaps he was being professionally normal. Anyhow I liked the guy.

Is this starting to sound like a Douglas Coupland novel? Perhaps. I'm currently enjoying JPod, read it you geeks...

We've also taken delivery of the subversion/asset library server, I set up samba and svn on friday, and any hints on how to make Adobe Version Cue use a linux/samba fileserver would be *much* appreciated, or how to integrate Bridge with svn. Comments *please*!!

I also set up our "pool" laptop for tethered photography directly into the library, we're starting to get perilously close to professionalism :-)

All in all another step closer to the dream, just gotta buy a rack full of servers now....


Tuesday, February 12, 2008

Busy Busy ...



Well, things are settling down here at the not-so-new-anymore-New-Job.
The changes we've made in production seem to have had a beneficial effect in de-stressing the boys and girls (pictured above) and, touch wood, we're making progress.

This week sees the introduction of new release management procedures and the start of a two week push to get all of the code into subversion, and all of the tasks into JIRA.

All of which is slightly hampered, I have to say, by the fact that the server its all supposed to go onto isn't due here 'till the 27th. But I'm an adaptable guy, we're using a pc that used to be someone's prized gaming rig to tide us over. It was either that or put it on the windows sbs domain server, but if I break IIS, Exchange or Active Directory I'd have to hire someone to fix it, and I wouldn't be happy with that prospect.

A week or so ago we managed to make four releases in three days for four different clients, and there was no hint of panic about them. Hooray!

The only stress we had to contend with was the self imposed stress of no one in the whole office being happy with our own new site! What's there now is a complete re-write from what was originally requested.

But hey, if we've got scope creep and change-of-mind syndrome sorted out for the paying work we can live with our own deficiencies for now.

The releases were:
Duchamp Spring Summer 08 collection
Qube Shoes brand refresh
The Hunter Leadership Programme, site launched to coincide with the press launch,

And last but by no means least a long awaited update to our own Drive Business site, which as of today is still waiting for most of the case-studies to be completed, but at least it has a news section. I have to say I like the magazine style of the case-study that is there but I'm not sure that one big image of the PDF is quite such a smart move.

Oh, and we're still growing. More boxes from dell and ikea cluttering up the space, and more effort is being expended on building furniture and editing the organisational chart than is being exerted on the project plans. But such is the Way of the Small Business Employee.

Right, better get back to work now, whip-cracking to be done.


Sunday, February 03, 2008

Put the Internet Down...


... and walk away with your hands in view...

I just read this.


Saturday, February 02, 2008

Storing MIME email in JCR with James and Jackrabbit


I read a post on the James dev list that mentioned this blog posting which goes into some detail of the method Jukka Zitting used to create a JCR message repository (using Apache Jackrabbit) for Apache James in the James sandbox. I thought this would be a good excuse to mention that work here.

I find it an exciting idea because it takes the inherently richly structured MIME messages and stores them in a way that can cope with the full richness of the structure including the mixture of content types, the recursion of nesting, and the mixture of encodings and character sets supported very well by the totally fan-bloody-tastic MIME spec. In fact JCR is much more aptly suited to storing MIME structures than a traditional RDBMS or the filesystem because it is flexible in the right ways and can also manage the metadata.

The expensive act of parsing the MIME message is only carried out once, when the message is exploded into the store, and thereafter the whole message, or just specific parts of it, can be passed around as a serialisable reference to a location rather than as unserialisable streams, or big byte[]'s.

What's more any system that can manipulate the JCR repository can become involved in the life of the messages, for example web mail stops being a web interface for traditional mail protocols and becomes a first class citizen, web applications built straight ontop of the repository.

Add Web Services and the repository can participate in CRM systems which use WS to integrate channels and systems into a single Agent Desktop and a Single Customer View.

The fact that Jukka made the James JCR repository (with an html viewer as well) in a few hours at Apachecon EU is testament to the suitability of JCR, the extensibility of JAMES and the value of the Hackathon as a tool for innovation.

Have a look at the code here or subscribe to the server-dev@james.apache.org list to discuss it.


Friday, January 18, 2008

Innovate or die


Told one of my guys that I needed him to be an innovator, then I looked it up in the thesarus, now I'm not so sure!

agitator, anarchist, antagonist, apostate, demagogue, deserter, dissenter, experientialist, experimenter, frondeur, guerrilla, heretic, iconoclast, independent, individualist, innovator, insurgent, insurrectionary, malcontent, mutineer, nihilist, nonconformist, opponent, overthrower, recreant, renegade, resistance, revolter, revolutionary, revolutionist, rioter, schismatic, secessionist, seditionist, separatist, subverter, traitor, turncoat, underground

Roget's New Millennium™ Thesaurus, First Edition (v 1.3.1) via http://thesaurus.reference.com/browse/innovator


Sunday, January 06, 2008

My Celebrity Look-alikes



Friday, January 04, 2008

Scary Snowman



Scary Snowman, originally uploaded by Emma. x.

My kids made this scary snow man while the snow lasted. It never lasts long round here.


Wednesday, January 02, 2008

New Chair for Apache James PMC


Its been a long holiday, and I meant to blog this much sooner, but I've been too busy hanging out with the family.
On December 19th the ASF board passed a motion to recognise the change of the Apache James PMC chair from Serge Knystautas to myself.
This is a big honour for me, and I intend to work hard in 2008 to live up to the example Serge has set.
I haven't much to say about James right now, but I'm sure I will be saying more as the months progress.


I know nothing, I'm not a fortune teller, and you'd be insane to think that I am. This disclaimer was cribbed from an email footer I once received. It is so ridiculous I had to have it for myself.

Statements in this blog that are not purely historical are forward-looking statements including, without limitation, statements regarding my expectations, objectives, anticipations, plans, hopes, beliefs, intentions or strategies regarding the future. Factors that could cause actual results to differ materially from the forward looking statements include risks and uncertainties such as any unforeseen event or any unforeseen system failures, and other risks. It is important to note that actual outcomes could differ materially from those in such forward-looking statements.

Danny Angus Copyright © 2006-2013 (OMG that's seven years of this nonsense)