Testing the Niftymitter


Late last year the Electron Club’s Roy Mohan Shearer sent an E-mail to the list asking if people would be interested in testing a small FM transmitter he was developing. Whilst at first this might not sound that exciting, this was an exercise in open source product design, rather than just putting together a simple circuit. Radio and open source ticked two big boxes for me, so how could I resist…

This blog post serves as my own notes on initial experiences with the Niftymitter and as a vehicle for feedback. To date my use has been limited to basic testing, however, I have a few hacks in mind and hope to find the time to try these out over the next month or so.

Testing


First of all I hooked the Niftymitter up to my laptop, played MP3s via Songbird and tuned in via a radio in the bedroom next door. The distance was probably about 10 feet, and with the signal having to penetrate a set of densely packed shelves carrying vinyl records and an interior wall. Somewhat surprisingly, given the obstacles in the path, the received signal quality was excellent.


Next up I connected the Niftymitter to the output of my record player, or to be more precise, to the attached “phono stage” (pre-amplifier). By this point a pirate radio station had surfaced on the frequency the transmitter was originally tuned to, and so I had to find a clear spot on the radio dial and re-tune it. Following which I experienced another small problem: overmodulation, resulting in distortion, due to the signal from the phono stage being too high.


This was quickly addressed by connecting a passive volume control (attenuator) into the path between the phono stage and the Niftymitter. The volume control could then be set to achieve the best sound quality at the receiver. The radio was situated some 20 feet or so away in my workshop, and again the sound quality was excellent.

Wish list

There will be use cases where a signal source has no level control, e.g. a HiFi ’seperates’ CD player. If the signal level happens to be too high it will result in distorted reception. So, an input level control on the Niftymitter might be handy, i.e. a small preset variable resistor, that like the tuning control is normally hidden.

I’d also quite like to see an AM version of this, although I’m confident that I am in the minority. The reason for this is that most of my radios are old valve sets that don’t have FM, and commercial low power AM transmitters are massively overpriced for what they are, despite being just as simple as a similarly sized FM transmitter. In fact, I quite like the idea of a Niftymitter sized FM -> AM transponder (re-broadcaster), that integrates a simple mono, tunable FM receiver and tunable AM transmitter. This would be great for listening to FM-only stations on old valve sets.

Conclusions

On first impression an open source FM transmitter project seems like an odd thing to do, when you can buy them ready made for probably less, and with digital tuning and stereo encoding. Furthermore, many fun hacks that immediately spring to mind are likely illegal, e.g. attaching an external antenna or boosting transmitter output. However, as a product it is something that is of immediate utility to most, employs a circuit that is not too difficult to grasp, should be easy to make and costs little to acquire the parts for. Furthermore, there is something fun about radio and setting up your own little transmitter, even when you have to comply with radio licensing laws which severely limit the amount of transmitter power you have on hand.


I think a radio in a matching or even interlocking case would be a fun companion. Together they would be great learning aids, and with an AM variant of the Niftymitter you could also then make an FM -> AM transponder. And I really like the construction of the enclosure - it not only looks smart but means that you can nicely house the transmitter without the need for tools to drill the case etc (although the laser cut labels were a nice touch).

More to come as I get the time to try out a few hacks…

Linux on Mainframe

I’m just about old enough to remember the tail end of the “downsizing” craze where IT departments became obsessed with the idea of distributed computing and cheap, commodity hardware. This followed the shift from mainframe to mid-range, where the former was deemed terribly uncool and ushered out in preference of a diverse collection of largely incompatible and still somewhat expensive proprietary minicomputers. Many of the later minis purported to be “open” and offered some promise of interoperability/portability, but they rarely delivered much in this sense. Similarly, commodity - typically x86 - hardware promised to be cheap, but for medium to large installations its use often results in unmanageable sprawl and underutilisation, all as part of a wider spectrum of general inefficiency that contributes to hidden and unanticipated costs.

Fast forward to 2009 and you’re lucky if as a geek in gainful employment you can exist a single day without hearing yet another tale concerned with the wondrous Cloud. There are those, myself included, that have likened the Cloud to the fabled (I’m not that old) mainframe computer bureau service of years gone by. Of course very little is actually new, and when people got excited about the advent of UNIX clustering I couldn’t help but think “(very) poor man’s VMScluster”. More recently with the virtualisation frenzy I was immediately minded of the IBM hypervisor technology, VM, that has been quietly managing heavyweight workloads such as banking systems and keeping them out of the news for the last 30+ years.

Of late there have been a growing number of reports that the mainframe is making a comeback, that sales are on the up, and you can pick up a brand new system - an entry level IBM z/10 - for around $100,000. They’ve also shrunk in size, and as far back as the late 90s deskside systems were available that would happily run from a domestic power outlet. But aren’t they slow? Well, no, not any more,  as a current z/10 CPU packs 4 cores and clocks at speeds upwards of 4.4GHz.

One of the biggest breakthroughs, however, has been the availability of Linux on IBM mainframe. Making it finally possible to leverage the wide ranging benefits of not only Linux but an immeasurably large ecosystem of F/OSS tools, middleware and applications etc all running on top of monotonously reliable, highly consolidated and dynamic infrastructure.

They are smaller and cheaper than ever, have legendary reliability, can consolidate like nothing else and now run Linux. Perfect, right? Well, I still had some concerns and needed convincing of the overall mainframe value proposition. Fortunately on Wednesday I was able to make it along to a Linux Live workshop at IBM Bedfont Lakes, where some of these concerns were addressed and I got to learn more about the practicality of running Linux on mainframe.

Ease of management

Isn’t the mainframe environment arcane and hard to manage?

At the hands-on workshop we were given access to a mainframe over in New York, taught z/VM (current version of the IBM hypervisor) basics and how to install Linux within our freshly created VM. In one day. Yes, z/VM is somewhat arcane and how could it not be when you consider VM has been around for over 40 years. However, once you get used to IBM parlance (e.g. a disk is called a DASD and you don’t boot, you “IPL”) it’s actually quite simple [1]. Possibly even elegantly simple. Of course there is more to z/VM than the very basic administration skills we were taught, but I’m reasonably confident that the more advanced features would be easy enough to get to grips with. And once you have the distro installer running it’s Linux from that point on - no different than if you were running Linux on your PC or netbook etc.

More recent z/VM developments include facilities such as virtual network switches that are implemented in memory, thus offering extremely low latency virtual network links between VMs and physical network interfaces. Combine this feature with possibilities such as firewalls that are implemented via z/Linux VMs and the mainframe is starting to look like a data centre in a box. Making the efforts of others who are trying to build exactly this via commodity hardware in shipping containers appear somewhat clumsy. That these in-system virtual network switches are managed via the same interface as VMs themselves can only serve to reduce management complexity.

Lock-in

What about vendor lock-in?

Well, this depends on how you view the composite platform and I’ve come to regard z/VM as a toolset for managing the underlying hardware. The fact that this combination is completely proprietary and there is, as far as I am aware, no direct competition means that you are to some extent at the mercy of IBM when it comes to pricing, support, upgrades and discounts etc. However, if your workloads run on top of Linux and you treat z/VM as simply an extension of the hardware your switching costs should be kept at a minimum.

This is a very different situation to 10, 20 or 30 years ago where mainframes would be running applications on top of an O/S such as MVS and built using CICS etc. Then your non-IBM options were few, if you had any at all. Whereas now, through running workloads on Linux it should be relatively easy to migrate to a different architecture, providing don’t make use of proprietary Linux applications that are only available for z/Architecture or dig yourself a hole by investing heavily in z/VM-specific operational support systems and processes.

Cost

They may have come down in price but don’t mainframe CPUs still cost orders of magnitude more than commodity processors?

The cost consideration is perhaps not so simple… I’ve seen some great TCO figures from IBM in support of the mainframe, but cannot help marvel at the simple cost of a single mainframe CPU. Although I am coming round to the idea that the mainframe in many cases may still work out cheaper than commodity hardware, and here’s why:

RAS

You’re going to be hard pushed to beat the mainframe in this respect, and reliability, availability and serviceability all contribute to the total cost of ownership. You can engineer for this with commodity hardware but the costs soon add up… Whereas this stuff is built into the mainframe’s foundations and doing things like swapping CPUs whilst booted and running workloads, or clustering multiple machines into a single system image is business as usual. And when you purchase a mainframe you are not just acquiring a system, but rather instead a commitment to a guaranteed level of service. The cost model and support framework is not the same as when you acquire commodity kit and go about bolting on support, and the opportunity for vendor finger pointing born out of the associated relationship complexity is much reduced.

Consolidation

It’s hard to compete with hardware and hypervisor technology that has enjoyed a very close relationship and evolved together over 40+ years. Intel and AMD may be adding instructions to their CPUs to better support for virtualisation, but z/Architecture and z/VM have been designed to fit together hand-in-glove. Something that is made apparent when you hear of single image systems playing host to tens of thousands of Linux virtual machines.

Performance

The “general purpose” CPUs may be damned expensive, but the mainframe is not constrained by a Jack of All Trades CPU that must service every aspect of the system. Instead it benefits from assist processors that handle things such as I/O and cryptographic operations, thereby freeing up the mainframe’s main CPUs to concentrate on the meat of the matter. How else do you think an early 80s mainframe managed to service 500+ concurrent users with its single CPU and 16Mb of RAM? Oh, and with current hardware you need to take into account things such as the masses of cache available and hardware support for SMP. Performance does not equate to simply the number of cores multiplied by clock speed…

Conclusion

As you step back and look at the bigger picture Linux on z/Series + z/VM starts to look increasingly attractive. The industry’s eventual acceptance of F/OSS and widespread moves to standardise on the Linux O/S, coupled with a shift to service-oriented IT, increasingly constrained budgets, a heightened sensitivity to green issues (power consumption) and a ceaselessly growing dependency upon on-line services all serve to strengthen the case. We may be about to witness the mainframe’s second coming.

I still need convincing that the mainframe can offer best price/performance for everyone, and suspect that it will be most attractive to traditional IT departments that often have demanding SLAs, multiple environments which will benefit from rapid cloning and deployment and roll-back agility (e.g. Dev -> Test -> QA -> Live, and Live -> Upgrade Test etc), and perhaps where many VMs will be running at lower utilisation. I would be hard pushed to imagine it to be cost effective to host, say, a farm of high transactional volume web proxies and static asset servers all running under Linux on mainframe. Although I’m happy to be proved wrong.

There is still room for improvement, and I for one would like to see the mainframe proposition evolve further to the point where it truly can replace a data centre filled with servers, switches, firewalls, other network devices and operational support systems. But doing so through leveraging F/OSS and implementing as much functionality as possible on top of Linux running inside a VM. Leaving z/VM to provide virtual hardware and virtual links between these instances, and to manage the underlying resources appropriately. Here re-use is key to both lowering development costs and doing the right thing and not, whether by accident or by design, locking the customer into the mainframe platform. Trust is critical.

I also believe that in order for Linux on z/VM to gain widespread support it must be accessible to the wider F/OSS community. Why restrict this technology to customers who have already signed up else have a large budget and are about to? If you want geeks to get excited about your technology and to work with you to foster adoption you need to give them the opportunity to play with it and to build on it. IBM used to produce a PC card that turned a desktop into a tiny System/390 - the P/390. It would serve IBM well to build a similar product and that is affordable, e.g. a single z/10 processor, or cut down version of, on a PCI card. It ought also to allow the community to run z/VM via the F/OSS emulator Hercules. Neither of these routes to operating z/VM is going to result in lost sales. These configurations would not be eligible for support, nobody in their right mind would run a production workload on them and only a fool would attribute the inevitably poor performance under emulation to IBM’s technology. IBM and the z/Linux community could only stand to gain.

[1] Disclosure: I’d previously done limited tinkering with the public domain IBM VM/370 running via the Hercules emulator.

Lament for Tomorrow’s World, and concern for tomorrow’s Britain

Tomorrow's WorldThe 1980s were a great time to grow up if you had even the slightest interest in science and technology. On terrestrial TV we had amazing shows such as Tomorrow’s World, which managed to perfectly package the latest advances in science and technology for consumption by the average person in the street, or child even, and without being patronising.

Where Tomorrow’s World served to inspire by demonstrating what was possible and by highlighting that which was just within our reach, shows such as Take Nobody’s Word for It demonstrated key scientific principles via simple experiments that we could often easily repeat at home.

Now we have the likes of Scrapheap Challenge, but this is little more than a dumbed down and less ingenious version of another 80s classic, The Great Egg Race, and a pale imitation at best and that is pitched primarily at petrol heads. OK, so we also have Braniacs, but whilst science features much content is far from being educational or serving to inspire (unless you aspire to carry out research into which foods if eaten often will make you odorous, or plan for a career in caravan demolition), and what is worse it’s frequently sexist, and is often padded with laddish humour that is of little merit in terms of either education or entertainment.

Putting TV aside, in the days before the common domestic availability of the Internet if you wanted instant, free, long distance communications about your only option was amateur radio. If you wanted to get your hands dirty with computing you typically had the choice of a multitude of 8 bit micros which fostered the hacker ethic, encouraging you to write programs in languages such as basic and to get more intimate with the operation of your computer than most will ever get in the current day. With many people going as far as building their own computers from kits as they were simply unable to afford an off-the-shelf machine, and the BBC taking it upon themselves to build a standard, and by some measure affordable machine for the British nation, and which was widely adopted across its schools: the BBC Micro.

Don’t get me wrong, I wouldn’t for a moment wish the Internet away or suggest that we all go back to using a wide spectrum of primitive and frequently incompatible, and costly, home computers. But it’s sad to see hobbies such as amateur radio becoming largely the reserve of those in their later years, and home computing to become represented by a homogeneous, beige in colour and in experience, disposable and all too frequently hermetic platform.

However, my concern goes beyond nostalgia and a sense of loss for that which I held dear, and is for the future of a nation that is increasingly putting less value on science and engineering.  A little while ago I attended an open evening at the Culham research facility and was saddened to hear that there is a desperate shortage of people studying physics at university level. This was by no means the first time I’d heard that our universities were producing insufficient numbers of scientists, and have also heard it said that computing is becoming a much less popular area of study.

It is not that the 1980s were particularly a golden age, either in terms of research and innovation or the public’s interest in such things. There has been a healthy scene for amateurs who wish to tinker and experiment with electronics, radio and mechanical engineering etc. since the very genesis of such disciplines. Up until now, that is. The fact of the matter is that many, if not most technical topics are now widely regarded as “uncool”, and also tend to feature much less in the media. Generally speaking nobody fixes their car any more, or builds their own radio or computer, and very few have even a basic understanding of how many of these things work. Science is not for TV unless it is a spectacle of some sort — it has to be weird, whimsical or else just plain old dumbed down. And children don’t get Meccano, Technic Lego, model aeroplanes, chemistry sets or electronics kits for Christmas any more.

We want technology. But we don’t want to bother ourselves with how it works.

It is natural for technology to evolve to the point where the user need not concern themselves with the details of its operation. It is reasonable for people to desire automation, ease or lack of a need for maintenance, and for technology to increasingly encroach less on their free time. However, whilst we seek to wash our hands of the details who takes care of them? A desire for leisure and convenience taken too far will lead to an ignorant nation of incapables.

I don’t claim to have all the answers to this problem, but would suggest that a good start might be:

  • The BBC recognising the problem, taking appropriate action and bringing back programming such as Tomorrow’s World, Take Nobody’s Word for It and The Great Egg Race. Not necessarily the same shows, but programming of a similar quality and which will serve to educate and inspire whilst entertaining.
  • Recognition from the Government that this is a serious problem, and a commitment to a comprehensive and holistic plan of action to address the matter, e.g.: work with schools, increased investment in research and action to bring it most visibly into the public eye, national technology programmes a la the BBC Micro and support for amateur science, technology and engineering groups.

We are a nation of hobbyists, tinkerers and experimenters at heart, and the sciences, technology and engineering are long overdue a renaissance amongst the British public!

Application-specific for Performance

Kickfire Database ApplianceI recently came across the rather cool Kickfire analytics appliance, which not only does hardware-based database query execution but is also based on F/OSS technologies.

Similar to the Azul Java compute appliance the secret is in the bespoke silicon which has been developed to do one thing and to do it well. When a job can reasonably be targeted to hardware and in doing so will execute much faster, why burden a general purpose processor with it and an associated software stack? Frankly, I think it is nothing short of ridiculous that we have data centres across the globe with millions, if not billions, of general purpose processors executing, with relative inefficiency the same tasks. It might be good news for hardware manufacturers and ISVs, but it’s bad news for the environment, CFOs and the armies of poor souls that have to manage spiralling complexity.

Of course there is nothing that new in the Kickfire and Azul appliances, nor in virtual machines and storage area networks and virtual LANs etc. And in fact many of these extremely popular and frequently hyped technology approaches of more recent years have their roots in the mainframe:

One of the major differences between then and now however is that we have a much greater degree of interoperability and with applications and data being much more portable. We are not, or rather we have the choice of not being locked into a single vendor.

I would suggest that to get round imminent scaling issues (SMP has effective limits and not everything works well across many cores) and to drive costs and energy consumption down we must do more research into what might be considered novel computing architectures. We need to stop saying “Oh, yeah but CPU is cheap”, and instead to think how we can optimise. It’s obvious that writing everything in assembler is not the answer, and it would appear that many of technological approaches that were displaced by the PC are now making a serious come back, and so we know roughly where to look.

So, let’s have more application-specific silicon, but which supports open applications. Bring back ancillary processors. Off-load the main CPU(s). Accelerate common functions. Put DES and AES etc on the die. Execute Java btyecode natively. And so on…

Linux Foundation Collaboration Summit


A few weeks ago I was very fortunate to be able to make it along to the Linux Foundation’s annual Collaboration Summit. Fortunate not only because it is invite only, but due also to the financial crisis making travel somewhat trickier and transatlantic travel extremely difficult. Plus a few weeks later and it would have most certainly got the kaibosh due to the H1N1 influenza frenzy we are currently experiencing…My reason for attending the summit was of course down to work with the Linux Foundation FOSSBazaar work group, of which BT is a strategic partner. However, on the first day I did get treated to a bunch of keynotes and panels all related to the kernel, and whilst Linus himself couldn’t make it we were graced by the presence of leading figures such as core kernel maintainer Andrew Morton and Debian founder Ian Murdock. It was fascinating to get a brief insight into how a project the size of Linux is managed, and I tip my hat to the Linux Foundation for doing such an excellent job of bringing key people from the community together in order to facilitate collaboration around the kernel. We heard about Moblin from Intel’s Imad Sousou, and the move to bring the initiative under the stewardship of the Linux Foundation, had updates on kernel developmen, and were treated to a highly entertaining rountable entitled “Why Can’t We All Just Get Along” and featuring the Linux Foundation’s Jim Zemlin, Microsoft’s Sam Ramji and Sun’s Ian Murdock.

Interesting general factoids gleaned included IBM’s approach to engineer reward. When they embarked upon their open source journey back in the late 90s they apparently discussed, for a number of years, whether to link developer performance to the number of accepted kernel patches, or to simply objectives being met. After some time they decided on the latter. I can see such an approach having the potential to be unpopular with human resources, but I completely agree with that decision. I also spent some time chatting with a kernel hacker employed by a major Linux vendor, who wore their shirt but made it perfectly clear that he scratches his own itch and is not owned by the vendor. A relationship he claimed was well understood by both parties and with both meeting their respective objectives. Of course I’m fairly confident that the vendor receives great value for money and that this can be largely attributed to both parties sharing a common itch. If this sounds like some kind of fairy tale world, where you are measured simply on meeting clear objectives as opposed to your performance in a convoluted HR-crafted gymkhana, and where you get to retain your own identity whilst simultaneously being passionate about your work and delivering for an employer, then it is. A glimpse of the future perhaps…

The FOSSBazaar work group meeting was spread over two half days, with one of them spent discussing items of general strategy and organisation. Key priorities for the next year will be raising awareness of FOSSBazaar, driving engagement with the forums and providing more focused material, e.g. tailored for the various enterprise stakeholders and possibly use case based too. We also hope to build a wiki for use in facilitating collaboration amongst partners and to aid the production of authoritative documentation. We believe that governance is critical to effective enterprise adoption of F/OSS, and without it adoption will be at best impeded and at worst has the potential to lead to holes in support, license violations and legal action. Therefore now that we have a group of very capable people assembled together who share the common goal of accelerating enterprise adoption, and a growing body of material and expertise to support effective governance, it is our duty to ensure that we seek to connect with those who are embarking on their F/OSS journey, whilst striving to advance the state of the art in governance.

At the FOSSBazaar work group meeting Michael Mahemoff and I (although Mike mostly!) presented TiddlyGuv — a BSD-licensed tool for supporting F/OSS governance that is based on TiddlyWiki and TiddlyWeb. The tool is still in its early stages and currently provides the capability for managing F/OSS license text and company policy information, along with commenting and access control (e.g. to ‘lock-down’ official text). Next up will be to add the capability to manage data associated with project engagements, e.g. results from due diligence process that we take groups wishing to incorporate F/OSS in a product through. Beyond which we hope to develop automated workflow and possibly even integrate to some extent with the FOSSology F/OSS licence (source code) scanning tool. Rather than go into any more detail I’ll link-off to a post on Mike’s blog since he’s leading development and can speak with a great deal more authority.

Lastly, I’ll be looking to this year further develop BT’s relationship with the Linux Foundation. We originally joined via the OSDL and an interest in Carrier Grade Linux, much later becoming a strategic partner of the FOSSBazaar work group in support of BT’s goal of exercising “governance in the clear”. However, it would appear that there are other Linux Foundation initiatives where we may be able to make a contribution and in return benefit from doing so, e.g. in terms of learning or strategy development etc. I hope to be able to post more news on this in due course.

Society for Computers & Law Annual Lecture

Two weeks ago it was once again time for the Society of Computers and Law’s Annual Lecture. I made it along to my first of these events two years ago. Well, to the SCL Scotland’s Annual Lecture to be precise, and this was given by none other than Free Software legal expert and key driving force behind GPL v3, Eben Moglen, who turned out to be an incredibly powerful speaker. The following year I attended the SCL’s Annual Lecture in London, where we were treated to an address by Stanford professor, lawyer, founder of Creative Commons, enemy of “Corruption 2.0″ and general protector of digital freedoms, Lawrence Lessig.

In keeping with their theme of hosting talks by world-leading protectors of the commons and legal system agent provocateurs, the SCL secured the services of Google Senior Copyright Counsel and general copyright nut (and I mean that in a good way) William Patry, whose lecture was entitled Crafting an Effective Copyright Law.

The lecture was given as a tribute to Sir Hugh Laddie QC, Patry quoted him on numerous occasions and I became increasingly sad to learn that he is with us no more. Sir Hugh sounded like he brought a sense of much needed sober reason to an increasingly out of control world of copyright absolutism.

A few of the key messages from the lecture:

  • We need not weak/strong, but effective copyright
  • …not based on public feeling, but empirical evidence!
  • Copyright problems are analogous to recent banking system problems: free market fundamentalism and a belief that actors will self-regulate and act in their own and public best interests
  • Copyright is based on a belief of private ownership, however there is no natural right - it is simply statute…
  • Regulation in public interest must be a pre-condition to copyright
  • Governments have a responsibility to ensure copyright programmes are effective (argument that copyright is simply a government programme and thus they are responsible)
  • Not copyeft! Copyright is valid…
  • Policy makers are not demanding accountability, and are ignoring advice, e.g. the Gowers Report, where they did not dispute the evidence and instead chose to turn it into a vague question of human right (again emotion/public feeling over empirical evidence)
  • We must reject any system that restricts learning
  • Creators are consumers too - there is no black/white hat
  • Copyright should be tort, as property comes with too much baggage and is based on exclusive rights and thus puts a huge burden on public to overcome

Apologies for any inaccuracies introduced due to either my poor transcription efforts or lack legal education! But, I think you get the idea… I think we are all getting the idea. Noises are increasingly being made in connection with the ineffectiveness of copyright, and it’s encouraging to note that it’s not just us Net liberals, but recognised legal giants and copyright experts.

The Women of Station X

Women operating Colossus Today (24th March) is Ada Lovelace Day, and I, along with >1,500 other people, pledged to write a blog post about a woman in technology whom I admire. This turned out to be more difficult than I thought, not because of a lack of inspirational women in technology, but rather instead due to it being hard to pick one from the many. I could have picked Dame Stephanie ‘Steve’ Shirley, a British computing pioneer, founder of what was to become Xansa Plc and a past President of the British Computer Society, Dame Stephanie entered the nascent computing industry via mathematics, and had to adopt the name ‘Steve’ in order to help her get along in the male-dominated business world. Or I could have easily wrote about a past colleague, having been fortunate to have worked with a number of inspirational girl geeks. Although writing about someone who I knew would have perhaps felt a little bit weird…

As it happens I’ve failed, since I’ve decided to dedicate this blog post to not one woman, but the thousands of women who worked at Station X during World War II. For those not familiar with Station X this was the code name given to the top secret code breaking operation at Bletchley Park, which processed intercepted messages received by the network of ‘Y’ radio receiving stations. Shrouded in secrecy for decades after the war, much has since been written about the involvement of the key figures, such as for instance ‘Father of Computing’ Alan Turing and Post Office man and pioneer of computer design Tommy Flowers. However, the stories of the many women who contributed to the code breaking effort is rarely told. The thousands of women who with very little training adapted in short order to operating what was then cutting edge computing equipment. Who transcribed messages, with absolute precision punched codes into paper tape, and verified and interpreted codes. Who worked long arduous shifts, for very little pay and without speaking to a soul about their work. The women who were introduced to a secret world of codes, ciphers and computing, and then after the war rarely had the opportunity to build on these experiences.

I wonder what the ICT industry would look like today were these women given the opportunity to build on their experiences, and if they were publicly given credit for their work and their stories were more widely known. Would this have encouraged more women to join the profession? It’s impossible to say for certain, but I suspect it might have.

Miners and the Public Domain: The RSA Looking Back and to the Future

RSA Logo Tuesday evening I attended a lecture at the RSA entitled The Public Domain: enclosing the commons of the mind, where Professor James Boyle talked about the subject of his recent book. I won’t go into too much detail here since you can download the entire book in PDF form via the last link, else watch his RSA address via the link before that. However, a few key points:

  • Copyright law is largely based upon faith and very rarely empirical evidence.
  • In the early 70s in the USA, when it was required to apply to renew copyright, 85% did not.
  •  Most US works from 1923 onwards are under copyright, whilst frequently out of print.
  • Many films in the Library of Congress are on nitrate film and crumbling, yet cannot be digitised due to copyright law and only researchers can view them. This is a cultural disaster!
  • We tend toward intellectual property absolutism, seeing copyright and patents as the answer to everything. This is a major cultural issue.
  • IBM is the world’s biggest patent holder, and yet today makes twice as much from F/OSS related services as it does from its patent portfolio.

Of course this is not the end game, the situation with copyright and patents etc is simply untenable moving forward and changes are afoot. The Internet, digital media, geeks and perhaps most importantly a generation born with the Internet will all serve to bring about a shake-up.

At lunchtime today I attended another RSA lecture, this time entitled The 1984 Miners’ Strike and the Death of Industrial Britain, where we were fortunate to hear an analysis of the strike, its handling and events leading up to it, from Lord Kinnock, then Coal Minister Lord Hunt and journalists David Hencke and Francis Beckett, whose book Marching to the Fault Line sheds new light on the strike. I must admit to having been fairly young at the time of the strike, and furthermore I’m eternally ignorant of politics. However, I do recall the atmosphere at the time, and I am becoming increasingly interested in the events which have shaped British industry.

There was consensus amongst the speakers that the complete failure of the strike could be squarely attributed to National Union of Mineworkers leader Arthur Scargill - a man who refused to compromise, and that Lord Kinnock described as posessing “suicidal vanity” and a leader that the miners did not deserve. He did suggest that Margaret Thatcher deserved him, and him her! However, Scargill played into Thatcher’s hands and gave her the vehicle she needed to push through her own agenda, weakening the trade unions and as the authors suggest signalling the death of industrial Britain. Lord Kinnock also drew our attention to information in the book which had been liberated thanks to the Freedom of Information Act, and which sheds light on the lead up to the strike, highlighting how Thatcher’s administration had been plotting in secret for a number of years in the lead up, and taking measures such as stock-piling coal at power stations.

Finally, it was interesting to hear how Lord Kinnock believed that had we not shut down our coal industry, at a cost calculated today to be £28.5billion, the then pace of associated technological development would have likely led us to ecologically acceptable methods of utilising the fuel today.

I must say that I’ve really enjoyed every RSA event I’ve attended, which admitedly is only 3 to date. However, now that I’m finally relocated to London, and my place of work is but a 10 minute cycle ride from the RSA House, I can see that I’ll be making it along to events there much more often.

Open Source Hardware

FPGA ComputerAs an ex-electronics engineer, hardware geek and a strong advocate of free and open source software, it should come as no surprise that I get more than a little excited at the prospect of open source hardware. Late 2007 I got my hands on a prototype of the Openmoko hardware, a Linux smartphone platform for which the schematic diagrams and CAD files are readily available and free to use, thus enabling anyone with suitable manufacturing facilities to make their own or a derivitive, and without the need to license IP. Whilst undeniably very cool, the open source paradigm has permeated to even further down the device stack, to the silicon itself, and this is what I get most excited about…

Semiconductor fabrication is pretty much the reserve of major industry, with the start-up costs being way beyond the budget of most, if not all experimenters, and likely also a great many educational institutions. However, thanks to hardware description languages (HDL) and the wonder of reprogrammable logic devices such as field-programmable gate arrays, just about anyone who can afford a computer can experiment with the design of complex on-chip digital systems. In a little over 20 years the FPGA has gone from a capacity of circa 9000 logic gates to millions, with HDL models evolving in complexity to encompass cutting edge processor designs and things such as system-on-a-chip interconnect. Of course there is the small matter of technical skill, and as I understand it learning a HDL and putting it to good use is not for the faint hearted.

The team that I’m part of, Osmosoft, has a remit that includes open source advocacy and demonstrating the far-reaching benefit of taking an open approach to innovation, and this includes sharing data and use of open web standards etc. However, whilst this does not start and end with software, it would be difficult for me to justify spending a lot of my time learning a HDL (not to mention it would be a *lot* of very extremely hard work), and even armed with such skills producing a new work that served as a powerful demonstrator would be a fairly tall order (it hurts just thinking about it)!

Keen to get a little hands-on with open source hardware, and to build something that demonstrates the extent to which an open approach to innovation can be adopted, I decided the thing to do would be to build as open as possible a ’stack’ and based on foundations of an open source CPU. Since as far as I am aware there are no open source CPUs available off the shelf as an ASIC, that is to say hardwired in silicon, it would need to be a CPU coded in HDL, synthesized to a bitstream file and targeted to a FPGA (a good excuse to play with reconfigurable computing too). To that end I obtained a development board designed for the GPLed LEON 32 bit SPARC v8 compatible processor, and for which a Linux port exists. The board provides standard I/O such as VGA, serial and keyboard etc, has both RAM and flash storage and of course a FPGA which will host the CPU and associated logic. On power-up a bitstream file compiled from HDL is loaded by the FPGA from local flash memory, and the FPGA configures itself according to the system model that had been laid out in the HDL. Where a CPU is hosted in the FPGA this may then in turn boot an operating system from flash memory.

The plan is as follows: Linux (GPL) will execute on the LEON processor ‘core‘ (GPL), with the Apache httpd (Apache License) running on top of Linux, and in turning servicing web requests by serving a TiddlyWiki (BSD) to remote clients. And just for completeness we will probably provide the TiddlyWiki content under a Creative Commons license, with said content likely being a description of the configuration and additional reading on the licensing and technologies involved.

So far I’ve got the FPGA dev board housed in a small custom made enclosure, and done some very minimal testing to confirm that the board works. Next up will be to build a Linux filesystem image, download, boot and test. Following which rebuild the image with Apache httpd and TiddlyWiki, images and any other content baked-in.

More on this adventure and on open source hardware is to come. In the meantime, if you haven’t already you really should check out Opencores.

Image top-right: The Gaisler GR-XC3s-1500 LEON Development system.

Conservation Matters

EMI Engineer Soldering Last Thursday I attended a seminar on EMI computers, organised by the Computer Conservation Society and held at the London Science Museum. This was the 3rd computer history related event I’d attended, with the first two being part of celebrations for the British Computer Society’s 50th anniversary. I don’t think I’ll ever tire of learning about the development of computing, as whilst I find the possibilities in the future that lay ahead of us extremely exciting, I’m also fascinated with the developments that led us to where we are now at.

There is of course a certain romanticism to the early days of computing, be it blinkenlights, huge tape machines, memory so big you can count the bits or codes punched into cards. However, there is also a real and current value to having an understanding of that which went before and an appreciation of the factors that led to the decisions made along the way, and conversely a blind faith in perceived current best practise can be dangerous. Note for example that:

  • Certain approaches may have been abandoned as a result of dependencies being unmet at the time, perhaps due to limitations in another area of technology.
  • Certain other approaches will have been tried and abandoned for good reason!
  • Technology trends, like fashion and trends in music, are often cyclic. E.g. mainframe -> distributed computing -> consolidation (mainframe-like minicomputers/virtualisation/cloud computing).

Therefore it follows that armed with a knowledge of the past, it may sometimes be possible to save valuable time when working on current problems.

Such practical utility aside I believe it is vital that knowledge, software, and wherever possible physical artefacts pertaining to the history of computing are preserved, in order that they might be available for study by, and for the pleasure of future generations. All too often conservation does not become a concern until much has already been lost, and this is certainly true of computing, an area of science that is still relatively very new, that has evolved at a fast pace and which has little place for obsolescence. An old car can still provide utility and old furniture can similarly be put to use, yet an old computer takes up valuable space and it rapidly depreciates in value as it is quickly rendered obsolete by newer generations that are orders of magnitude more powerful. Outmoded and out of fashion domestic appliances might be unwittingly archived in a loft, and found from time to time in a forgotten corner of a garage. 30 ton mainframe computers however, are rarely lost and rediscovered many years later.

Computer conservation is not just about the preservation of physical artefacts, but software, documentation and the knowledge associated with the development of computing. There is often much important detail to be found in the stories accompanying developments, and many a fascinating else amusing anecdote too. These stories must be preserved, and without wishing to surround morbid, before it is too late! Many of the pioneers of early computing have already left us, and with them important stories will have been lost.

On a cheerier note, a few EMIDEC facts and figures from the day:

  • A graduate in the 1950s starting as a programmer would earn £725/year, and on commencement attended a 3 week course serving as an introduction to programming.
  • A basic EMIDEC 1100 would set you back £250,000, had 1024 words (36 bit) of core store (RAM!) and could do binary/decimal/sterling conversions in hardware.
  • The much larger EMIDEC 2400 interfaced to peripherals via a switch unit, which allowed certain peripherals to operate together without the need to route via the main processor (e.g. for copying media).

The Computer Conservation Society do an excellent job of preserving historic hardware and software and related knowledge, and organising excellent events such as the seminar on EMI computers. For anyone with an interest in the history of computing I’d strongly recommend joining. Members of the IEEE may also be interested in subscribing to the Annals of the History of Computing. For those in, around, or ever planning to visit London, you really must make a trip to Bletchley Park. Just 30 minutes North of London you can find the site of the British WWII code-breaking effort, one time workplace of Alan Turing and now the site of Britain’s National Museum of Computing: home to the awe-inspiring labours of love that are the Colossus and Bombe rebuilds, along with a great many classic mainframe, mini and personal computers.