Forth, 2^5 years ago

2^5 years ago this month, Byte magazine devoted an issue to the Forth language. Byte (“the small systems journal”) volume 5 number 8, August 1980, was largely devoted to Forth. I only discovered this by accident, researching some background for a paper I’m writing on extensible virtual machines. What’s even more remarkable is that you can download the issue — along with a lot of others — as a PDF. That the premier hobbyist/hacker magazine of its day would give over most of an entire issue to one language tells you something about the way people thought about programming their machines back then. There was a premium on compactness: one of the first adverts in this issue of Byte is for a Cromenco Z-2H with 64Kb of RAM and 11Mb of hard disc, and proudly claiming that it  “is under $10K”. One article is a history of Forth, one is a tutorial, and two are deeply technical programming pieces aimed at people comfortable with the idea of writing their own software pretty much from scratch  — and indeed, keen to get on with it. What’s more, they could write software as good or better as that which they could buy (to the extent that there was any hobbyist software to buy). That’s not something we’ve been able to say for at least the last 2^4 years: hobbyist software hasn’t competed with commercial offerings in most domains for a long time. I think there were a number of things going on. The simplicity of the machines was obviously a bonus: one could understand the hardware and software of a personal computer in its entirety, and contemplate re-writing it from the ground up as an individual or small group. Expectations were lower, but that works both ways: low expectations coupled with low-performance hardware can still lead to some impressive software. But it’s certainly the case that one of the main barriers to software development from-the-ground-up these days is the need to interface with so many devices and processes in order to do anything of interest: any new system would need to talk to flash drives and the web, which probably means writing device drivers and a filing system. You can get round this using hardware packages, of course: Zigbee radios have simple programmer interfaces and encapsulate the software stack inside them. Another factor, though, was a difference in ambition. A hobbyist in the 1980’s only had herself and her friends to impress (and be impressed by): the horizon was closer. I’m sure that led to a lot of re-definition and duplication that the internet would allow one to avoid somewhat, but in some senses it provided a better learning environment in which a sequence of problems needed solution from a programmer’s own creativity and resources. That’s a significantly different skill set than what’s required today, where we place a value on compliance, compatibility and re-use at least as high as we place on creativity and innovation. I’m not advocating a return to the past — although programming in Forth for sensor networks does give me a tremendous sense of pleasure that I haven’t felt in programming for a long time, at least partially derived from the old-school nature of it all. However, I would say that there’s also value in this old-school style even today. The hackers who read Byte wouldn’t settle for sub-standard tools: they wouldn’t think twice about re-coding their compilers and operating systems (as well as their applications) if they were sub-standard. That power brings on a sense of power — the ability to change what’s perceived to be wrong in something— that’s to be celebrated and encouraged even today, amongst programmers who sometimes seem to be constrained by their toolchains rather than freed by them.

MSc/PhD positions available in wireless location systems

UCD Dublin is looking for potential PhD students interested in wireless location systems.

Ph.D. and M.Sc. Studentships in WiFi Location

UCD Dublin is currently potential Ph.D. and M.Sc. students in the Complex and Adaptive Systems Laboratory and the School of Computer Science and Informatics, University College Dublin (UCD), Ireland. The studentships are part of a collaborative international project to research and develop novel algorithms, solutions and applications for indoor localization based on WiFi. The successful candidates will have obtained, or will expect to obtain, a 1st class or 2.1 Honours degree in Computer Science, Electronic Engineering, or a related discipline. For the Ph.D. position, a Masters degree or commercial experience in a relevant area is an advantage. Preference will be given to applicants with expertise in one or more of the following areas: Digital Signal Processing, Location Estimation, and Wireless Communications. We expect that the Ph.D. positions will be funded for 4 years while the M.Sc. position will be funded for 2 years. All positions are full-time. The positions will include payment of a tax-free student stipend and fees. The anticipated starting date for the positions is 1st October 2012, or as soon as possible thereafter. Enquiries should be sent to Dr Chris Bleakley, Complex and Adaptive Systems Laboratory (CASL), School of Computer Science and Informatics (CSI), University College Dublin (UCD), Belfield, Dublin 4, Ireland; email:; tel: +353 1 716 5353. [Updated 13Aug2012 with final confirmation of the grant.]

Blackout (All Clear, #1)

Connie Willis (2010)

While I enjoyed the descriptions of the scenes in this book, and its invocation of an Oxford in forty years’ time that’s almost identical to the present, I found it quite slow and lacking in resolution. I realise (now) that it’s the first in a series, but it leaves far too much hanging to work as a stand-alone novel (as many series manage to do).

2/5. Finished Wednesday 1 August, 2012.

(Originally published on Goodreads.)

Scholar positions for Erasmus Mundus MSc in Dependable Software Systems

We have some short-term Scholarship positions available in dependable systems. The University of St Andrews and NUI Maynooth have the first edition of the new Erasmus Mundus MSc in Dependable Software Systems (DESEM) starting in September. There are EMMC Scholar positions available on this programme. These scholars will engage in teaching and help with the evaluation of student project work among other duties. Positions have to be held for a minimum of 2 weeks. The Scholarship value is € 2,400 for a two-week stay with a maximum of € 14,400 for a three-month stay. We have the equivalent of 17 two week scholarships available for 2012/13. Applicants have to be associated with a third country (non-European) HEI. Details are available from:

Call for papers: Midsens 2012

The Seventh International Workshop on Middleware Tools, Services and Run-time Support for Sensor Networks (MidSens’12) will be co-located with Middleware 2012 (December 3rd - 7th, 2012) in Montreal, Canada The aim of MidSens‘12 is to stimulate research in the specific domain of middleware for sensor networks. The particular focus of MidSens‘12 is the realization of multi-user, multi-purpose and federated sensing platforms that are capable of supporting next-generation application scenarios such as smart cities. Along with the core topic of middleware architectures, services and tool support, MidSens‘12 will also seek papers describing novel programming languages, run-time support and relevant experience reports. MidSens‘12 will investigate how middleware support can relieve developers from low-level, platform specific concerns, while enabling the optimal exploitation of heterogeneous resources to create sensing infrastructures of massive scale. Effectively developing, deploying and managing sensor network platforms requires supporting middleware services, tools and run-time support. MidSens‘12 welcomes papers on the following research topics:

  • Middleware Tools and Architectures:
    • Software architectures for sensor networks
    • Novel programming abstractions for large-scale sensor networks
    • Architectures to combine mobile devices and sensor motes
    • Lightweight autonomic middleware for embedded systems
    • Testing and simulation tools for sensor network middleware
    • Fault identification, diagnosis and repair
  • Middleware services:
    • Location tracking, localization, and synchronization.
    • Support for real-time and safety-critical systems.
    • Data management, aggregation and filtering.
    • Energy-aware middleware mechanisms.
    • Fault tolerance, reliability and quality of service.
    • Privacy and security services.
    • Virtualization, sharing and trading of resources.
  • Run-time Support:
    • Overlay and topology creation, maintenance and management.
    • Resource/Service discovery and management.
    • Support for reconfiguration and adaptation.
    • Effective naming and addressing schemes.
    • Support for modeling and enacting safe software reconfiguration.
  • Management and Experiences:
    • Managing heterogeneity and network dynamism.
    • Integration of embedded systems with web services.
    • Experience and evaluation of middleware platforms.
    • Support for the unification of various embedded platforms.
    • Shared infrastructure embedded systems.
Submitted papers must be original work in English without substantial overlap with papers that have been published or that are simultaneously submitted to a journal or conference with proceedings. Submissions must not exceed 6 pages, must strictly follow the ACM conference proceedings format, and must be submitted in PDF format. All accepted papers will appear in the ACM Digital Library and will be indexed in DBLP.

Important Dates:

  • Paper Submission deadline: August 15, 2012
  • Acceptance notification: September 21, 2012
  • Author registration deadline: October 5, 2012
  • Camera-ready version due: October 5, 2012
  • Workshop: December 3-7, 2012