Dave's Blog

[ home ]

 

...

This blog has no purpose

...



David Scott
dave@recoil.org

March 2006
Sun Mon Tue Wed Thu Fri Sat
     
 

RSS Feed
Subscribe to an RSS feed.

Affiliations

Other blogs


Creative Commons License
Except where otherwise noted, this blog is licensed under a Creative Commons License.

     
Sat, 18 Mar 2006

Open Source Software
The Economist is running an interesting article on Open Source Software in business (" Open-source business - Open, but not as usual ") which is quite thought-provoking. Much of the content was pretty-much standard fare (although reported accurately AFAICT which is a bonus) including:

  • the necessity for projects such as Wikipedia to be self-policing without disenfranchising potential contributors;
  • the observation that many successful projects -- although at first glance they may appear to be quite anarchic -- actually have a rigid internal hierarchy and strong leaders (e.g. Linux)
  • worries about the lack of innovation in the open-source world (where much current effort is expended making software which operates like someone else's existing commercial software)

However the most interesting bit was the mention of Ronald Coase, the economist who, in 1937, wrote the famous paper " The Nature of the Firm ". (Advance warning: I am not an Economist, so I apologise if I get this wrong and it offends you!)

He asked the question, "why are firms the size they are?". Before I read his paper I had never asked myself this simple question (shame on me!)

When a company has a particular job to do, it can either use the "internal market" (i.e. get a fellow employee to do it) or outsource it to another firm (or contractor). Since the external market is bigger than the internal one, there ought to be more competition and a better price should be available. Taken to the extreme (for maximum efficiency), every company should have a single employee and outsource every job (other than the ones done by the single employee). Of course, we observe something quite different.

What seems to happen is that a balance is struck between handling jobs internally and outsourcing, depending on the overheads. Outsourcing a job can be quite time-consuming and expensive because one must: locate a firm to do the work, negotiate a legal contract, wait for the job to be done and, if necessary, try to encourage the other party to stick to their end of the bargain. By contrast, an employee has already got a pretty watertight contract with their employer (complete with penalties in the event of job non-completion) and hence the overheads are lower.

When working on an Open Source project, the terms are explicit and relatively simple to understand. Most interesting projects are under a small number of well-known licenses ( GNU GPL , BSD , etc) and there is often a convention on what happens to the copyright (e.g. the FSF may demand it if you contribute to emacs or you may be encouraged to keep it yourself as a way of preventing any future hostile takeover and license change). So a contributor doesn't need to engage a lawyer before starting work. Additionally, communication (via the web, email, etc) is cheap, fast and plentiful. So the overheads associated with outsourcing a job in the Open Source world are very small, so Open Source companies may be smaller and potentially the whole market more efficient.

That link had never occurred to me before.

[/misc] permanent link

Working through the photo backlog (with the help of flickr)
The problem with having a nice digital camera is that you can produce vast quantities of raw images and video and not have the time to do anything with them. So I'm going to have to run through the backlog brielfly.

Some photos of James and Fiona's wedding last month (or thereabouts):

On our way back from there, we decided to visit the town of Bath. I'd not seen the Roman baths before... very impressive! Unlike "Verulamium" the (amusingly named) Roman town which was cannibalised to construct the cathedral at St. Albans, the baths at Bath managed to get hidden under some other miscellaneous rubble and are now remarkably intact (modulo the roof etc which fell down).

The ancient tunnels which take the water from the hot spring into the various chambers still do their job pretty well and (IIRC) people used to take baths here as late as the 1930s. The spring water tasted slightly peculiar though and although people thought it had regenerative properties (and some physicians prescribed up to 5 litres a day!) I think I'll stick with old-fashioned tapwater.

[/misc] permanent link

Mon, 10 Oct 2005

New Piano
Rich and Kate bought themselves a new (maple-coloured!) piano and gave us their old one -- very generous of them! Since we managed the other week to find a good home for the extra futon (which itself was given away by Eleanor's brother and sister-in-law) there was plenty of space for the new piano:

[/misc] permanent link

Tue, 20 Sep 2005

2005: The year we made contact
If aliens turned up and tried to make contact, what would it be like? It seems unlikely to me that such an encounter would be as obvious as you often see in the movies or on TV. I'm sure that it would be much more subtle, so subtle that we might even miss the whole thing.

Well, fear not, people of Earth! They have successfully made contact... by dropping a squash made to look like the planet Jupiter in Kieran's garden (what amazing technology these aliens have... I wonder if their spaceship is shaped like a giant turnip?). Now the question is, what were they trying to say? Is there a hidden message?? We might never know!

The squash
Planet Jupiter

Jupiter picture is from NASA and is in the public domain

Another picture of the squash with a bit of context:

[/misc] permanent link

Just read: Designing Extensible IP Router Software
by Mark Handley and Eddie Kohler and Atanu Ghosh and Orion Hodson and Pavlin Radoslavov. Proceedings of Proceedings of the 2nd USENIX Symposium on Networked Systems Design and Implementation (NSDI '05), May 2005

Notes: This paper describes XORP a project to create Open-Source router software.

They make some good observations:

low-level protocols that support the Internet have largely ossified, and stresses are beginning to show.

and

The router software market is closed: each vendor's routers will run only that vendor's software. This makes it almost impossible for researchers to experiment in real networks

both statements are true. Although in the case of the second I would argue that researchers can experiment in small networks but they can't experiment in the kind of large networks where the router equivalents of "big iron" dominate. I suspect then that this might be a non-sequitur:

We therefore saw the need for a new suite of router software: an integrated open-source software router platform running on commodity hardware...

As far as I can see, projects like OpenBGPD already aim to fill this niche and they don't solve this particular problem because you don't run this software in place of a "big-iron" backbone BGP router.

When talking about Cisco and Juniper's routers, the paper says

Unfortunately, these vendors do not make their APIs accessible to third-party developers, so we have no idea if their internal structure is well suited to extensibility

I just find this kind of thing quite depressing. As a researcher, why aim to compete in this kind of area? Why suffer the indignity of having to write stuff like:

While we don't know how Cisco implements BGP, we can infer from clues from Cisco's command line interface and manuals that it probably works something like this.

Small groups of researchers cannot and should not (in my opinion) try to compete this closely with industry. Researchers should play to their strengths; focus on more blue-sky stuff that's a little bit far-out with no direct industrial relevance. It seems like research suicide to take on large, well-funded companies at their own game.

Read pdf   Download bibtex  

[/justread] permanent link

Just read: Trickles: A Stateless Network Stack for Improved Scalability, Resilience and Flexibility
by Alan Shieh and Andrew C. Myers and Emin Gun Sirer. Proceedings of Proceedings of the 2nd USENIX Symposium on Networked Systems Design and Implementation (NSDI '05), May 2005

Notes: The paper describes a new API (to replace sockets) and a new protocol (to replace TCP) which allows all connection state to be handled by one endpoint. Since TCP distributes state scalability is limited - consider that a server requires explicit per-client buffers which can lead to memory exhaustion during a DoS attack. In trickles, the new protocol involves the stateful side (typically the client) sending a continuation (in the form of a serialised TCB) to the stateless side (typically the server). Additionally a new connectionless API is provided for the stateless side.

Naturally a whole pile of issues arise when a protocol is designed this way, which makes for interesting reading. For example, in TCP each packet reception changes the endpoint state and this (e.g. window-size) is reflected in the next packet transmission. Since each "trickle" is a stateless client-server ping-pong, the state does not get updated for a whole round-trip. The trickles system must also worry about malicious client changing server state and try to prevent this using MACs (there's an obvious analogy here between trickless and web-applications which also use a stateless protocol).

At the meta-level, it was interesting to see a paper propose an alternative to both the socket API and TCP, even if they compromise slightly by making a socket-compatible shim-layer and using a TCP-like protocol with TCP wire formats :-)

Read pdf   Download bibtex  

[/justread] permanent link

Just read: {Untangling the Web from DNS}
by Michael Walfish and Hari Balakrishnan and Scott Shenker. Proceedings of 1st Symposium on Networked Systems Design and Implementation (NSDI), March 2004.

Notes: Suggests that, now DNS is commercial, "profit has replaced pragmatism as the dominant force shaping DNS ... Commercial pressures arising from its role in the Web have transformed DNS into a branding mechanism, a task for which it is ill-suited". The paper points out that URLs involving host names -- rather than services or objects -- makes some tasks unnecessarily difficult, like content replication. The paper suggests that web-references should be redesigned to be (i) persistent; and (ii) contention-free (have no relevance to trademark law for example). They suggest a system of opaque keys ("Semantic Free References") mapped by a DHT to concrete location records. In the proposed system, object keys must be found by search engines -- no more DNS name guessing -- and the implementation must handle network failures nicely (e.g. with DNS using the external network connection may still allow you to access internal names -- "fate-sharing")

Random notes (not intended to express any particular opinion):

  • I wonder how often people actually type in URLs manually... I usually find it easier to type keywords into google ("I'm feeling lucky")... I don't really care what the URL bar says. When I want assurance I know to check for SSL anyway.
  • Initiatives such as DOI are trying to create persistent object references for electronic publishing anyway
  • The o-record (target of the keys in the DHT) look rather like mini HTML-redirection pages with caching hints and an onward pointer to either another reference or the final target
  • This is the kind of thing someone like google could just do, particulary if they release their own browser
  • They do remove the web URL misfeature where the host and path are exposed separately -- in this scheme, the full name is looked up in the name system before any HTTP request is generated. Good good.
. Is this just another instance of "every problem in Computer Science can be solved with another layer of indirection"? Or just another combination of application and "cool thing" where the web is the application and DHTs are the "cool things" today?

Read pdf   Download bibtex  

[/justread] permanent link

Just read: Acute: High-Level Programming Language Design for Distributed Computation
by Peter Sewell and James J. Leifer and Keith Wansbrough and Francesco Zappa Nardelli and Mair Allen-Williams and Pierre Habouzit and Viktor Vafeiadis . Proceedings of Proceedings of ICFP 2005: International Conference on Functional Programming (Tallinn), (Id SEP) 2005.

Notes: Acute is designed as an experimental platform to explore the design-space of type-safe distributed programming languages. As a bonus it was written in Fresh O'Caml to gain more experience of using Fresh O'Caml in larger projects. In contrast to systems like Obliq, Facile, JoCaml (and reminiscent of Nomadic Pict's two-level approach to communication), Acute does not specify a particular communication style in the runtime. Instead the system simply provides marshal and unmarshal to and from byte strings. Lots of interesting ideas in here.

Read pdf   Download bibtex  

[/justread] permanent link

Just read: Certification of programs for secure information flow
by Dorothy E. Denning and Peter J. Denning. Published in Commun. ACM, (20)7504--513(unknown month), 1977.

Notes: "Information flow control" is a procedure for regulating the dissemination of data amongst program objects. Program objects are assigned to security classes (e.g. top-secret, secret, public) and a policy is represented by a relation between these classes. A "flow" is only allowed to exist between x and y (i.e. the value of y is influenced by x) if (class(x),class(y))\in policy-relation.

This paper proposes a compile-time mechanism for checking programs against information flow policies. Once certified, security policy breaches can only occur through out-of-band mechanisms e.g. faulty or sabotaged hardware or unmodelled communication through covert channels. Quite an old paper but well-worth reading. In particular the discussion of what constitutes a flow between two variables is interesting. Obviously the assignment

  x <- y
causes a flow from y to x. But more subtle flows are also possible eg:
  x <- 0;
  while (y > 0) do
    x <- x + 1;
    y <- y - 1;
  done

Read pdf   Download bibtex  

[/justread] permanent link

Just read: Obliq: A Language with Distributed Scope
by Luca Cardelli. Published in (unknown journal), (unknown pages)June, 1994.

Notes:

In lexically scoped languages, the binding location of every identifier is determined by simple 
analysis of the program text surrounding the identifier. Therefore, one can be sure of the meaning of 
program identifiers, and can much more easily reason about the behavior of programs. 

In Obliq, analysing the program text allows you to discover where a binding is located. When procedures are transmitted, free variables are sent as references back to their defining location. Lexical scoping has a security implication; incoming agents come with their own variable references and have no way of accessing state at the execution site.

Read pdf   Download bibtex  

[/justread] permanent link

Mon, 12 Sep 2005

Man-eating spider
This enormous (well by UK standards) spider has moved into a shiney new web just outside Eleanor's front door.

[/misc] permanent link

Mon, 08 Aug 2005

More rendering stuff
After much hacking I now have a reasonably nice text rendering engine (based on freetype, camlimages etc) built on top of a rudimentary SVG-like vector graphics system. It's a bit slow and inefficient but all I want it to do is display text and simple diagrams. Oh and it can easily generate SVG :) (Now all I have to do is wait until most web-browsers can actually cope with it...)

[/misc] permanent link

Fri, 05 Aug 2005

Fraser Research trip to the beach
This afternoon we drove down to Point Pleasant on the NJ shore. The weather was perfect for such a trip; very sunny yet cool with a nice sea breeze.

We had a nice meal here, in a restaurant next to the marina:

[/misc] permanent link

Mon, 01 Aug 2005

Camlimages, freetype and kerning
I decided to revamp the font rendering code used by my OpenGL apps. The font support (originally written by Anil) predates (I think) the time when camlimages had bindings for the freetype library. Now that the bindings exist it makes sense to me to take advantage of them. Anyway, I threw together a simple bit of code to extract font outlines (a mix of linear, quadratic and cubic curves) and perform adaptive subdivision to convert the quadratic and cubic curves to straight-line segments. This was a fairly straight-forward implementation of de Casteljau's algorithm with a slightly hacky "flatness criterion" for the time-being (some notes on this topic can be found here).

Once the basics were working I noticed that the camlimages/freetype binding seems to lack an API to extract kerning information (definition of kerning from wikipedia). So I added that and it seems to work! Check out these two pictures:

The topmost picture is without kerning enabled and the bottommost one has kerning enabled. Check out the relative distance between the "A" and the "V". Now to work on ligatures...

[/misc] permanent link

Wed, 27 Jul 2005

Jon and Emma's wedding
While I was in the UK last week Eleanor and I went to Jon and Emma's wedding. It was in a hotel called The Elvetham (described by its homepage as "one of Hampshire's most unique venues" - Steve Cougan would be proud), near where Jon's family live. As weddings go, it was pretty good. Naturally there was plenty of food (especially chocolate) and drink but for me the best thing was getting a chance to catch up with people I'd not seen in a while.

Obligatory photos:

We also got to meet Jill, Richard's girlfriend:

Here's a nice picture of Eleanor with me looking.. less silly than in most of the other photos:

Some more obligatory photos: (Any wedding with lots of cheese is fine by me)

I quite liked the "Guest Signature Mount" which we were forced encouraged to sign.

Interestingly the hotel included it's own chapel which looked like a building straight out of "Quake".. converted appropriately into a games room.

That's enough foor this entry. Next time I'll upload some short videos and yet more photos of the wedding aftermath...

[/misc] permanent link

Mon, 20 Jun 2005

Graphing
Never again will I force myself to use gnuplot! Never again will I have to edit the EPS output by hand to get the graph looking just right! I have at last got a satisfactory ocaml graphing solution. Well satisfactory in the sense that it has drawn one graph for me so far:

The red/pink line is my heart-rate during my previous run (about 5 days ago... far too long a gap) and the blue line is the measured rate during this morning's run. The first major drop after about 30mins is when I stopped running and started resting. I notice that my HR dropped to a plateau at about 120bpm last time but not this time. I don't really know why although it could be linked to the weather -- today was beautifully fresh while 5 days ago it was pretty hot and humid.

Now to make the graph plot data in real-time from simulations. Did I mention that it uses OpenGL under ocaml via lablgl - all pretty fantastic tools.

[/princeton-2005] permanent link

Sun, 19 Jun 2005

Visit to NYC
John, Michael and I popped into NYC to do the standard tourist thing. Everything went pretty smoothly apart from the odd hiccup... missing our train in the morning (just had to have another coffee), taking the wrong subway (could have sworn it said "uptown") and walking in the wrong direction (next time perhaps we should bring a compass as Michael suggested).

We went first to the Empire State Building where we saw -- and participated in -- the worlds longest queue (TM). Rumour has it that the Petronas towers in Kuala-Lumpur has a longer one but I frankly don't believe it. From the 86th floor (just below the "dirigible mooring mast" -- alas there were no airships going up today so we had to take the boring old lift) we got a pretty cool view of Manhattan:

It's a bit unfortunate they have to put up such a big fence to prevent people jumping/falling off.. it really obscures the view.

Also from the top you can see the World's largest department store (Macy's) and the World's most green island statue (the Statue of Liberty):

Next on our tour of Manhattan we headed south to check out the financial district and the site of the World Trade Center. I was quite impressed that they'd repaired the site's transport links -- the PATH station was functioning normally. It was also interesting to see quite a lot of damage to nearby buildings still remained after all this time.

While waiting for Donald Trump to give his approval for the plans to redevelop the site into some kind of memorial, there is an official set of memorial plaques as well as copious unofficial memorials from members of the public:

Next we headed further south to Battery park where we took a "sea taxi" out to have a close-up look at Liberty island:

[ 1Mb H.264 QT MOV ]
[ 400kB H.264 QT MOV ]

[/princeton-2005] permanent link

Tue, 14 Jun 2005

Just read: The Effect of DNS Delays on Worm Propagation in an IPv6 Internet
by Abhinav Kamra and Hanhua Feng and Vishal Misra and Angelos D. Keromytis . Proceedings of Infocom 2005, march 2005.

Notes: I found this paper linked from the Worm Blog. Memorable quote from the abstract: "It is a commonly held belief that IPv6 provides greater security against random-scanning worms by virtue of a very sparse address space. We show that an intelligent worm can exploit the directory and naming services necessary for the functioning of any network..."

Although they focus on low-level address-scanning worms, they do point out that email worms operate completely independently of the Internet address scheme. They describe models of hypothetical worms which would use pipelined random DNS name lookups and conclude that they could run almost as fast as raw IPv4 address scanning worms (so the worm would constantly guess names like www.somedomain.com)

They suggest employing traffic monitoring software near DNS servers to spot dodgy activity. I was wondering if we could usefully restrict access to the name system to slow down these attacks? Perhaps everyone has to authorise lookups via a smartcard/PDA and/or is rate-limited as well? It's a tricky one since obviously there is a tension between making good communication easy while making bad communication difficult...

It does beg the question of why so many computers have names as well as addresses. Since I never want to log into my laptop remotely, it doesn't need a name. However a lot of current applications seem to prefer all IP addresses to have associated names (to help prevent address spoofing?) and suffer large name lookup delays when they don't (like ssh - I had to add an entry to DNS for a laptop yesterday just because of that)

Read pdf   Download bibtex  

[/justread] permanent link

Sun, 12 Jun 2005

First proper run with the Forerunner
I went for my first proper run this morning, bright and early (the only time it makes sense to run really 'cos it's do damn hot and humid here). These maps show the route I took (not an especially good one but I am used to it):

I hacked together some scripts to analyse the data a bit. Here are some plots:

Heart rate vs time
Velocity vs heart rate
Velocity vs time

[/misc] permanent link

New GPS receiver
I bought myself a Garmin Forerunner 301 - a wrist-mounted GPS receiver with heart-rate monitor. So far I'm pretty impressed with the GPS function and the UI - not bad for such a small screen. The device can be recharged over USB which is a bonus considering I'll probably use it both in the US and the UK. One slight down-side is that it comes with training software for Windows which is not much use to me as all the machines I normally use are either OS X, BSD or Linux. However I might write my own custom software if it becomes necessary.

To transfer the data from the device to my Mac I'm using the latest versions of gpsbabel which can communicate with a large number of different GPS receivers and knows how to read and write numerous file formats (apparently the mapping world is plagued by lots of similar-in-purpose but yet trivially different file format standards). Unfortunately the particular model of receiver I just bought isn't completely supported yet by gpsbabel. Thankfully gpsbabel seems relatively easy to hack and I've made a few simple changes to help it understand the new format of "track point" data (it seems that recorded runs are called "tracks") (specifically the data type D/303 which is not covered by the Garmin specification). I'm not sure what the Garmin does with the heart rate data -- hopefully I'll get a better idea when I go for a run tomorrow. If I'm lucky it'll just be part of the track data... although I can imagine reasons why it might be stored somewhere else (e.g. consider that while GPS coverage may be patchy in a city one would expect a continuous stream of HR events... so perhaps they are indeed stored separately).

To test the receiver I went for a walk from the house to Small World coffee. Here's a plot of the route via google maps:
the street map
and the satellite version

Interestingly I seem to be walking parallel to Park Place -- I assume this is just systematic error in the GPS system. At the corner of Nassau and Witherspoon I actually turned right and walked under a whole lot of metal scaffolding. I presume the last point is some kind of reflection/ random error.

Speaking of google maps, it seems that everyone is busy finding uses for it these days. Here are some useful referencess:

[/misc] permanent link

Sat, 28 May 2005

Memorial Day Parade
The Memorial Day Parade went by the office window this morning so I nipped outside into the sunshine to take some photos. Unfortunately I missed the guys with bagpipes at the beginning... the whole thing took me a bit by surprise because I thought it wasn't scheduled to start until after lunch. The parade itself consisted of a varied bunch of people from members of the military, firefighters, ambulancemen, people in historical costumes and boy scouts. In between the groups of people and the bands were a selection of interesting vehicles:

Some pictures of the marching people:

Naturally I took some video snippets... unfortunately they're in a mixture of different formats -- sorry if none of them work for you.

[ 5.0 Mb DiVX ]
[ 1.2 Mb H.264 QT ]
[ 2.3 Mb DiVX ]
[ 1.1 Mb DiVX ]

[/princeton-2005] permanent link

Visit to Pittsburgh
I'm just back from Pittsburgh where the 100x100 project had a combined "retreat" and NSF review. It was pretty interesting, especially for me. The talks were all of very high quality (the average was much better than at all of the conferences I've been to) and it was useful to meet people who are also working on the project.

Before the main review started we had a practice session. Here are some pictures of the gradstudent poster session at which I presented the switch simulation (the demo is on the right, next to Sandy):

The demo itself seemed to go down well (probably because of all the flashy 3D graphics):

I didn't see too much of Pittsburgh while I was there but here are a few shots taken on the way from the university to the hotel. The leftmost shows the CS facility and the other two attempt to show how hilly the place was (the entrace to the building is on floor 4 and there is a ground-exit on every floor apparently). Notice the gothic looking building on the rightmost photo.

The leftmost picture shows a church near the campus and the rightmost one is of the Pittsburgh Software Engineering Institute:

Here's the impressive gothic building again -- certainly puts Cambridge's UL to shame:

[/research] permanent link

Wed, 25 May 2005

Silly Javascript microbenchmark
Insprired partly by the growing fad for client-side Javascript programming and a previous discussion about javascript interpreter performance in the lab I thought I'd run a simple microbenchmark. The program creates an array (of integers) and loops once over, incrementing each element. The program repeats the test 1000 times and outputs the average time. Four programs were tested; two in javascript and two in ocaml for comparison. The following graph have four lines, one for each of:

  • Safari's (in OS X 10.4.1) built-in javascript VM
  • Firefox 1.0.4's built-in javascript VM
  • Ocaml bytecode (on a 1.5GHz Apple PB)
  • Native ocaml code (on a 1.5GHz Apple PB)

As you can see, Firefox's javascript VM seems to run faster than Safari's. The final kink in the Firefox curve is probably when the program is suspended while the user is consulted with a dialog ("A script on this page is causing mozilla to run slowly.... Do you want to abort..."). Encouragingly, the javascript interpreters weren't that much slower then ocaml bytecode -- I didn't have to log any axes! So all we need is something to compile a nice language to javascript and perhaps we can do some proper client-side programming...

[/research] permanent link

Sun, 22 May 2005

Experimental tools for bibtex -> rss
I've been playing with bibtex2html (excellent bibtex parsing and prettyprinting) and ocamlrss (ocaml support for RSS, yay!) and have put together a primitive script for turning bibtex entries (which I try to create when I read a paper) into blog entries via blosxom . Hopefully I can integrate with Anil's forthcoming blogging tools to make a mega-super-research-blogging-kit.

[/research] permanent link

Just read: Rethinking the Service Model: Scaling Ethernet to a Million Nodes
by Andy Myers and Eugene Ng and Hui Zhang . Proceedings of ACM SIGCOMM HotNets, 2004.

Notes: Ethernet networks are popular because they are easy to setup and maintain while the hardware is relatively simple (and therefore cheap) to make. Some ISPs are now offering ethernet VPNs rather than IP VPNs. Signs are that people want to make bigger ethernet networks. They note that only recently have large networks with flat address-spaces become feasible due to the increase of transistor density and hence memory capacity.

The paper considers what would happen if someone tried to add a million end-systems to ethernet as it currently stands. Outlines problems with the convergence of "Rapid Spanning Tree Protocol" (RSTP); RSTP is intended to converge within 3x worst case network delay but in certain configurations it will actually take many seconds, during which the network reverts to inefficient broadcast flooding (they built a simulator to investigate various cases). They argue that the availability of a broadcast primitive has encouraged other protocols to rely on it, causing problems as the network gets bigger. The availability of broadcast means that RSTP has to be very conservative, never allowing forwarding loops to form. By banning broadcast, this can be relaxed and faster protocols used, essential for telecomm-style restoration.

Two different approaches are considered: a "thin control plane" and a "distributed control plane". The thin control plane has two aspects: a decision plane and a dissemination plane. The decision plane calculates all the forwarding tables while the dissemination plane talks to the decision plane, sending status information and receiving switch configurations. The distributed control plane has each local bridge offer a registration service in which a rebooting host places its MAC, IP and possibly other service info. The bridges synchronise this information globally. Broadcast protocols like ARP are modified to ask the local bridge where to send the traffic instead of broadcasting it.

They finish by describing simulation results which suggest they could use these techniques to allow a million node ethernets.

Read pdf   Download bibtex  

[/justread] permanent link

Sat, 21 May 2005

Silly time-lapse video
I thought it might be fun to capture an image every 2s from my iSight over the course of the day and stitch the results into a movie.

(Silly time-lapse video)
[DivX AVI, 8Mb]

[/misc] permanent link

Uh-oh apparently Immy can't read yet

[/misc] permanent link

Garden piccies

[/misc] permanent link

A sad day for the LCE
Kieran packs up his stuff from the LCE... before his corrections were even approved (I think). He's a confident chap!

[/misc] permanent link

Obsession with food
I've been told that that my blog makes it look like I have a good obsession; a suggestion I strongly deny! However it just so happens that I have some food-related pictures on my camera which I'd forgotten to blog. Starting with some example Small World Coffee breakfasts:

and moving on to a fantastic curry which Eleanor and I cooked a few weeks ago (notice the spicy mango chutney which Eleanor's friend provided):

[/misc] permanent link

Thu, 19 May 2005

The home office shed
The BBC had a recent article in their magazine called "Shed heaven" which described how more people are installing luxury sheds as "garden offices".

What a fantastic idea!

There are lots of interesting sites on the web including:

Obviously insulation and heating are serious problems to the would-be shed entrepreneur. Kieran pointed me at two suppliers of compact insulation material which might be useful, or at least a starting point for further research: At the more luxurious end of the market, rather than a shed you can opt for a log cabin instead.

[/misc] permanent link

Sarah and Dan's wedding
Sarah and Dan got married a few weeks ago but I've been too busy to sort out my photo collection until now. I didn't get very many good photos so here is a short selection of the best of the bunch:

I did shoot quite a lot of videos (in fact I managed to fill up 1GB of SD) which took absolutely ages to transcode into more web-friendly versions. The files below might require you to upgrade to the latest version of Quicktime (version 7) (free, non-pro version should be fine) because they use apple's new H.264 video compressor.

(Piano player at reception)
[QT7 MOV, 1.4Mb]
(Andrew speaks to a man about a dog)
[QT7 MOV, 600kB]
(First dance)
[QT7 MOV, 5.7MB]
(Father of the bride))
[QT7 MOV, 3.5MB]
(Bridgegroom)
[QT7 MOV, 2.0MB]
(Best Man)
[QT7 MOV, 5.6MB]

[/misc] permanent link

Back in Princeton for the summer
I flew back to the US on monday and am here for the rest of the summer, until september 3rd. I left Eleanor my laptop + isight + usb headset and we managed to get video-chatting working using iChat over her new broadband connection -- very cool. It doesn't seem to use a great deal of bandwidth... according to ethereal:

packets/sec

bytes/sec

So even though she's on the smallest NTL broadband package which has a monthly bandwidth cap of 3GB, she should be able to run a 30kB/sec video chat for about 30hours continuously before reaching the limit.

[/princeton-2005] permanent link

Tue, 19 Apr 2005

The folly of monorails
I used to be a big fan of monorails ... but no more! I took the train from Princeton to Newark airport on sunday evening on my way back to Cambridge. When the train arrived at the airport I wandered up the escalator to the "airtrain" monorail terminal and discovered that it was full of very angry people. I'd have taken some pictures of the events but I feared that I might become a victim of "airtrain rage" rage myself. Unfortunately the monorail had (partially) broken stranding the passengers at the terminal. Even more unfortunately the terminal is probably only 1 mile from the airport itself but it's not possible to walk or drive from there-- the only access to the building is via regular train and monorail. A lot of very angry people missed their flights and were taking out some of their agression verbally on the "airtrain" staff, who didn't seem to know what was going on.

Luckily for me I left plenty of time (5hrs or so) to get on my flight so I was fine. After a total outage of about 1.5hrs the system was working well enough to ship people to the parking lot, from where they could walk to all the terminals.

[/princeton-2005] permanent link

Sun, 17 Apr 2005

Gratuituous hardware pictures
More fiddling with my new camera:

[/princeton-2005] permanent link

Sat, 16 Apr 2005

More camera experiments (and dinner)
Frank and Sonali invited me to dinner at an Indian restaurant near Princeton. Naturally I couldn't resist taking another video snippet.. well who could resist playing with such a funky (and tiny!) camera? Besides the food was generally of quite an interesting shape and only moving pictures could be used to describe it adequately (particularly Frank's cylindrical dosa-- it's like the food was rendered with OpenGL or something)

[/misc] permanent link

Fri, 15 Apr 2005

The new camera even takes videos
I discovered this fact by accident when I pressed the wrong button on the camera this morning. So here is a test video, with the audio removed by ffmpeg and the video transcoded to DIVX by mplayer.

[/misc] permanent link

The new camera works!
I've no idea how to use it properly but here's what happened when I turned it on and pressed the obvious "shoot" button:

[/misc] permanent link

Thu, 14 Apr 2005

New camera!
I finally got a new digital camera delivered from B&H photo in New York. While I'm waiting for the battery to charge I took some pictures of it with my old camera(phone). It's so small! (Watch is in the frame for some scale, couldn't find a ruler)

[/misc] permanent link

Wed, 13 Apr 2005

Catching up with the blog
Unfortunately it's been a while since I updated my blog and I'm sure lots of exciting things have been happening but I've forgotten what they are... never mind! If you want to read about interesting things, I'd suggest you go read about Coffee Art over in Anil's blog.

[/misc] permanent link