Log in

No account? Create an account
latest entries related journals calendar about the author My life in pictures older entries older entries more recent entries more recent entries
My Thoughts Today
An ill-used association of words and pictures
Telnic's dev site now includes details of their JSON API for provisioning and manageing dotTel domains. Looking though the examples this morning it should be easy to roll up a Ruby engine for managing provisioning and as landrush release isn't due until early February that will give spikyblackcat and I lots of time to devise something interesting.

There's also the possibility that I'll be doing another public presentation next month on Push using EventMachine, and if I can find a way of spinning in a dotTel component to that I will.

Those of you who know the tempestuous relationship that spikyblackcat and I had with Telnic will probably be surprised that we're still following this project and attempting to get the technology to a wider audience, but egos and personalities aside this stuff is just so damn addictive once you get into it that we would both love to see dotTel succeed.

I know DNS is considered both an obscure black art and a bit of a backwater, but dotTel along with ENUM are the first of a new generation of DNS techniques that will make it indispensible to software developers deploying large-scale distributed applications. Admittedly there are some issues with using DNS at the boundary of its dynamic behaviour (not least the relative inefficiency of caching with a 60s or lower TTL) but the same's true with media serving and many other applications which have far heavier bandwidth and transaction costs.

The other shakeup is going to be in forcing the pace of adoption of ENDS0 as a reasonable subset of dotTel zones will require TCP connections due to their packet size. This could be the start of a move to a more persistent relationship between clients and DNS servers, and given that DNS traffic needs to be fairly efficient it may even open the way to equivalent protocols based on RUDP. spikyblackcat and I have been considering these issues for a couple of years now and working on solutions but it's only going to be when an identifiable demand is established that people will finally get what we're talking about and why.

Anyway, here's to a successful launch of dotTel!

today I am mostly: infected

This news is massively overdue as I've been busy with a new job and all the other chaos that follows the arrival of a baby, but I would like to formally announce the birth of Thomas Peter Gearoid Loughlin-McHugh, born 23:02 on 7th October 2009 at a whopping 9lb 2 oz. He's absolutely gorgeous (photos to follow later on my flickr stream).

goth_twiglet and little Thomas are both doing well and the menagerie all seem to have forgiven us for acting in an inexplicably doting manner!

today I am mostly: infected

26 opinions or participate


Okay, so I kept this one under wraps as it was all a bit fraught. But suffice to say that spikyblackcat and I made it to Berlin in one piece and then proceeded to the usual last-minute flurry of coding mayhem.

Wednesday we attended an interesting talk by the people behind the Juggernaut project - a Flash-oriented Push server based on Ruby EventMachine - and I was inspired to go without sleep hacking up an extremely inadequate Push server of my own just to see what's involved. Adding this sort of content to a talk at the last minute is probably not a good idea...

Anyway our session seemed to go well, as usual running over time and causing many baffled stares. I expanded on some of last year's themes by rewriting examples to use thread-based concurrency and added some discussion of its shortcomings.

Yet again we seem to have doubled attendance! We easily had over 100 punters, some sat on the floor as well as many many bums on seats and a fairly low escapee rate :)

I refuse to believe that we'll ever be a huge draw thanks to the preposterous volume of code I alwayd include, so all told 100 attendees is not bad at all - especially considering that we were bumped to this slot at almost the last minute!

Aimee? You can consider yourself upgraded from facebook stalker to proto-friend for putting up with my mad post-talk wibblings ;) This is a concept my friend ingenue_the came up with a couple of years ago to describe people that she'd like to be friends with if time and circumstances allowed!

And Nina, it was great to finally meet someone off DevChix in the flesh. If you're ever in London let me know and we can arrange a serious geeking session :)

Berlin as usual was fun and the food mostly lived up to expectations, especially the fish of which I ate copiously. As in Whitby copiously >8D

Unfortunately we had little free time for the conference itself due to coding crises so there's not much to report on that front. Just a couple of meetups with Marcin and Robert from TrafficBroker. I must arrange to catch up with them properly in London for some beers sometime.

It's probably a bit early to be making plans for next year but if RCE's back in Berlin we hope to be as well, extemporising madly and spewing yet more dubious and poorly documented code.

Thanks to Dave Black for having us on the bill again, and a special mention to Shirley and the rest of the O'Reilly team for making our lives as easy as possible during our stay (not to mention the geek chic skinny fit t-shirt she found me). Hope you all have a safe and relaxing return trip to the US.

We made the 21:36 (21:45 due to engineering works - obviously a German attempt to make us feel at home) overnight service to Brussels, so no travel adventures like last year. Oh, and if you ever need wi-fi and a cup of tea whilst waiting at Berlin Hauptbanhoff try the Segafredo coffee bar - nice people and comfy seats too.

Anyway after a hectic day of travelling I'm reunited with goth_twiglet and the non-rodent collective for a restful weekend visiting my folks. Finally, a chance to catch some zzz's...

[Posted with hblogger 2.0 http://www.normsoft.com/hblogger/]
4 opinions or participate
I'm pleased to be able to announce that spikyblackcat and I will be appearing at RailsConf Europe 2008 in Berlin. This is the third year in a row that we've managed to secure a speaking slot so we must be doing something right - although I've yet to figure out quite what!

This year we're scheduled for 11:35 on the morning of September 3rd where we'll be talking about rolling your own dedicated Ruby clients for HTTP applications using the Shoes toolkit and whatever else we can fit into the forty-five minute runtime. We'd like to show a browser-based SproutCore equivalent as well but I suspect other commitments will get in the way of my relearning javascript in time, and there's also backend technologies which will be competing for time.

I really would have preferred to do a tutorial session, but those are very difficult to come by - not to mention that a sustained two hundred and ten minutes of the pair of us would probably have a very negative effect on the nerves and sanity of our audience...

Aside from the presentation we're also making plans for a BoF session to follow on from last year's creative madness. These are a great opportunity to test out ideas with a small group without the usual formalities and we're currently deciding whether to go with a security theme or maybe discuss some of our ideas related to democratising the internet.

Then of course there's the current top-secret project bubbling away in the labs, which would make for a fascinating hands-on session. I'm keeping very quiet about that, but as goth_twiglet can attest I've done more coding in the last three weeks than in the rest of the year before that: much burning of the midnight oil and - shockingly - a fair number of earlyish mornings too.

Tags: , ,
the music in my head: Cat Bash-Faster Pussycat-Whipped!

1 opinion or participate
Today I've been taking a quick spin with MacRuby, which is a port of Ruby to Objective-C with the Cocoa frameworks. Not being a Mac programmer (which is shameful considering that I've been coding on a Mac for about five years now) I blagged some example Cocoa code written in Objective-C and nu from the Hackety Hack blog and came up with this little dittie:

click here to view codeCollapse )

This looks simple enough that I'll have to make time to play further - perhaps during my pre-RailsConf coding bash in August.

the music in my head: Nonstop To Nowhere-Faster Pussycat-Whipped!

This year's SeedCamp competition is almost upon us so spikyblackcat and I are looking to get our grand project into some sort of order. Last year we had too many things clashing, and in hindsight that was a good thing, but this year the basics of a business plan seem to be writing themselves.

However not all is rosy in the garden. Financially I'm now running on less than empty, having plowed a fair amount of my personal resources (not least time) into the research that underpins what we're doing. I hope I can keep everything up in the air for just a couple more months to see if this is really a breakthrough opportunity but right now things are looking... fraught. Meanwhile spikyblackcat is off in Brussels from the 14th doing security work with Mastercard.

I'm therefore looking for one or two additional collaborators who fancy getting involved in a somewhat weird and potentially groundbreaking software project. Ideal candidates would be a javascript hacker who gets the point of SproutCore (so I don't have to spend the next few months becoming a JS guru) and someone who wouldn't mind doing backend development in Ruby (not Ruby on Rails).

I now there are people reading this who match those profiles, so if you've not much planned between September and November of this year and are in or near London... well don't be a stranger!

today I am mostly: optimistic? pessimistic? ambiv
the music in my head: Set Me Free-Saxon-A Collection Of Metal

2 opinions or participate
It seems the Skyforce Observer Website has had a bit of an update, including the wonderful opening paragraph:

Since the launch of the original Skyforce Observer MKI in 1998, Skyforce has been at the forefront of digital moving map technology and task management.

I wonder how customers would feel to now that yours truly wrote that system all by herself in the comfort of her bedroom between the summers of 1997 and 1998 ;)
5 opinions or participate
David Davis for Freedom has gone live today with a basic outline of his campaign. It will be interesting to see how this grows over the next few weeks.

Meanwhile there's strong support on Conservative Home for his decision to make a principled stand over an issue that many of us feel has up until now been largely ignored by the mainstream media.

In other news, I was horrified to see the wife of one of the 7/7 bombers sentenced to 15 years for not informing the authorities about her husband's planned actions. On the surface of it many people would instinctively feel that she is complicit and that therefore this is a good thing, but if you think about it how can a society function when the most intimate of all contractual bonds - that between a married couple - is considered less important than the non-contractual and enforced bond of subservience to the State.

It was not that many years ago that a spouse could not be forced to testify against an accused party. The law stood like this for hundreds of years and even during the much more numerous and deadly terrorist outrages of the 1970s and 1980s I don't recall anyone in mainland Britain clamouring for this level of intrusion.


In a few minutes Ireland will officially announce the results of the referendum on ratification of the Lisbon Treaty. They're expected to announce that ratification has been rejected.

As a eurosceptic this is an unexpected Godsend, but not one that I expect will derail the EU project.

Already there are voices from Brussels suggesting that the treaty can go ahead without Ireland and Jose Manuel Barosa continues to act like the EU is a state rather than a treaty organisation.

Doubtless we'll have 26 states ratify the damn thing and then some backroom deal or other will get the provisions though in Ireland in a form other than a constitutional change, and the damn federalist agenda will roll on undeflected.


6 opinions or participate
In breaking news, David Davis has announced that he is resigning his seat in Parliament to force a byelection and will be standing for reelection purely on the issue of yesterday's vote by the Commons in favour of 42 Days Detention Without Charge. It also appears that the Liberal Democrats will not be contesting his seat.

Many in the media will be accusing Mr Davis of grandstanding and playing party politics for his own benefit. That's a good story and will doubtless sell copy in some quarters. And what will once more be overlooked is the fundamental erosion of English liberties by a governing party for whom the threat of terrorism is nothing more than another excuse to extend their passion for control to every quarter of our lives.

We're already the most heavily taxed that we have ever been in our long history, ruled by a government which enforces its will with the aid of Scottish and Northern Irish MPs over whose constituencies English MPs have no say, monitored and spied upon in a manner unprecedented anywhere in the free world (easily on a par with many dictatorships), and now we're on the slippery slope to arbitrary detention without charge.

Does Gordon Brown wish to relive all the mistakes of King Charles I?


3 opinions or participate
And this year Steve Jobs is enthusing about iPhone 3G.


The Climate Change Bill seems to be getting a bit of notice again.

Apparently by reducing our CO2 emissions sixty percent over the next forty-two years we'll be taking bold action to make the planet safe for future generations. It's a worthy goal if we accept the underlying premiss that climate change is primarily the result of human intervention, but is the Climate Change Bill a good means of achieving that goal?

The issue is less a matter of the mechanics that the bill introduces for carbon budgets, and more one of the relative effect it will have globally.

Today we produce approximately two percent of the world's CO2 emissions against the backdrop of a rapidly industrialising third world, so even now any reduction that we undertake will only be meaningful if other nations follow suit. However it's more likely that total emissions will continue to rise because there is a clear economic incentive for China and India to play fast and loose with something that by its global nature is public commons: namely the biosphere.

Even if we were only to hold our emissions at their current level, by 2050 they will be far less than two percent of total global output and therefore insignificant in resolving global environmental problems. Therefore reducing them by the envisaged sixty percent (to eight parts per thousand of current global CO2 emission levels) will make a negligible contribution to mitigating the impact of human behaviour on climate change.

The only way such a move can be meaningful is if it is part of a concerted global effort, and that means somehow bribing or shaming the large developing nations into following suit. I have my doubts about the practicality of this. Developing nations such as China and India see industrialisation as a key means of achieving economic growth and alleviating poverty (or at least making their ruling elites wealthier), and the heavy manufacturing industries which have moved to these countries are dominated by technologies with high CO2 emissions.

What's really needed isn't a commitment to specific reductions, either here or globally, but an economic incentive to use cleaner technology in the first place as that will drive pollution down to the lowest sustainable level for the global industrial base. Many different approaches have been suggest for this ranging from green taxation to carbon trading, but until these provide developing nations with a clear benefit they're unlikely to see widespread adoption.

And this of course is the problem with tackling the human component of climate change: the people of developing nations want to enjoy the wealth that their counterparts in the developed world take for granted, regardless of the potential long-term costs.

the music in my head: Dreams In The Witch House-Television Overdose-Taste This 3

BBC2 youth programming in a 1980s stylee.
So much for the theory of progress.
This is rough: I'll try and remember to edit it later for readability :)

Much of the political chatter this week is about the demise of maths and science teaching in Britain's schools, a subject which those of us who: a) lived through the old O'Level system; and b) seen our children through the modern GCSE system often have strong opinions on.

This year is the twentieth anniversary of my transition from school to polytechnic, almost exclusively on the strength of a General Studies A'Level, and started down the path of über-hackerdom that's made me the easy-to-get-along-with person I am today. It was a tough transition even back then, and critics claimed that standards had already slipped badly since the 1960s. In fact they were so obsessed with how much standards had slipped that the education system was already developing the standardised testing methodology which has in recent years lead to grade inflation in schools, and dissatisfaction amongst admission officers in universities.

Now I'm going to plunge into some murky waters with what follows, and some of you may well ask whether it's appropriate to put both education and software development under the same microscope. However I believe that there is much more similarity between the two processes than is often recognised. Both focus on discovery and learning, both focus on the development of vocabulary, and at their best both encourage independent thought based and the creation of robust models of reality. For many in our society education is falling far of these goals, and the same is true of the methodologies peddled in the software world.

Core to these deficits is the obsession with process over outcome. In our schools there is a tendency to discourage the intellectual rigour of the hard sciences and mathematics in favour of the relativist methods of critical thinking. Likewise in software development the emphasis is on juggling ever-changing business requirements rather than solving the underlying problems which give rise to those changes. In both cases we've abandoned the empirical experimental technique which is the basis of our science in favour of superficiality, and finding that what we then produce is not what we claim to aspire to we've turned to standardised testing in the hopes that we can enforce supposed standards of excellence which when studied in depth have very little relation to the real world outcome we desire.

Testing is a strange beast in that it's intimately coupled with that which is tested. This is a well-known characteristic in the world of physics where anyone educated to A'Level standard has to deal with Heisenberg's Uncertainty relationship, a fundamental property of quantum systems: the act of observing quantum entities causes their properties to change in a bounded but non-deterministic manner. Application of this knowledge leads to the Quantum Zeno Effect and Inverse Quantum Zeno Effect in which a series of observations allows a system to either be held in a given state against statistical odds, or else guided towards a different state (Quantum Evolution). A simple example of the latter is a classic optics experiment in which a series of polarised lens are arranged in sequence, each with a slightly different angle of polarisation, and a beam of polarised light passed through them. The more lens, the more transparent the apparatus becomes to the polarised light.

The same principles can be applied to quantised information spaces, especially when they're based on statistical distributions (such as the gaussian and bell curve distributions so beloved of exam boards) which disguise our lack of understanding of the entities we're testing. The more tests performed, the easier it is to create an Inverse Zeno Effect that will ensure the aggregate results tend towards one or other end of the curve. This is a basic principle behind the Quantum Mechanics of Information, or as it's known in the political world Tractor Production Metrics. The results bear little result to the real world because all quantum systems are in a sense virtual - full of potential but only actualised by observation.

So getting back to testing. Tests are supposed to verify that a system performs the way that it is intended to, which presupposes that the system has already been validated as conforming to the desired intent. Tests without validation are meaningless. This is true in education, and it's equally true in the world of software. The best validation for a system is that it produces outputs which require minimal manipulation to fit the inputs of other systems with which it is coupled, so for education we could measure it in terms of how much additional work is required to get an A'Level graduate up to speed for a degree course in the same subject, and then form a distribution showing how the core skills also applied to aptitude to related and unrelated academic subjects.

For software components we have very similar standard which can be applied, based upon Cohesion (how focused a component is on implementing its particular task) and Coupling (how tightly two components are connected. Good software in general consists of highly coherent components which are very loosely coupled. This is very old news to anyone who's studied computer science.

Unfortunately in both software development and education those paying the bills apply very different criteria for success: arbitrary budgetary constraints and politically motivated targets take what should be a free market in implementation which would use an Inverse Zeno Effect to create ideal software components or highly capable students, and instead skew it in favour of resource budgeting. On paper this sounds laudible: let's keep costs down as much as possible. But in practice this channels the evolution of the system away from the results desired and make development a hit-and-miss affair.

In both modern Agile Development (i.e. the commerical 'brand' rather than the underlying principles) and in the education system an obsession with cost has made standardised testing ubiquitous, and with it guaranteed that instead of the Evolutionary Zeno effect giving quality we instead get measurability and this instead is hailed as quality. That's the principle of Continuous Integration.

The myth of Continuous Integration is a noble one. By testing every change we will ensure that the system under development (whether the mind of a child or the structure of an application) will never be left in a confused and error-prone state. Each change will be the best that it can be, and if a better change comes along lated we can backtrack and integrate it universally. It's a lovely idea.

But it doesn't work.

Evolution through natural selection can only prune the possibilities you already have available. To really advance your position you need to throw in a randomising element that will take you outside your existing paradigm (in information terminology, shift you to a problem space where your axioms are less likely to fall foul of Gödel's Incompleteness) and open up new possibilities.

So Continuous Integration could work well if your methodology also included an experimental, empirical element, but used purely as a verification tool it is inadequate for the task.

And now I have a job interview to be getting off to.

today I am mostly: summer