NepidemiX G-S-A-L Animation

A preliminary video visualizing a recent simulation I am working on for a project page. Originally posted over at vimeo, but nice as that site is, it currently does not support free formats (ogv, or webm for that matter) that can be played in Firefox on Linux without flash. Thus, I’m providing a version here as well (with a bit more of explanation). For the future. (Actually the html video frame below includes both a ogv and mp4 version, and if your browser can’t do html5 I think things may still default to a flash player… As a final resort, you can download the files here: ogv, mp4).

 

 

Apologies for the, at times, jerky animation. This is preliminary rendering on a slow machine.

In any case, what is this?

This is a visualization of a small epidemiology simulation (we usually use much larger graphs, but for visualization purposes I scaled it down). The disease model has four state G – the General population (green), S – susceptible (yellow), A – acute illness (light red), and L – latent stage of disease (dark red). Disease propagation is G -> S -> L -> A .

The reason for having a General class prior to Susceptible is that there is actually two “diseases” on this network. One cultural – a meme affecting risk behaviour say – and one biological – a virus.

Thus, nodes in stage G is under influence from their neighbours in the S, L, A -states to take up some risk behaviour. Once that happens their state chances to Susceptible and they are can be infected by neighboring nodes carrying the disease.

The reason for having two disease stages – Acute and Latent – is in preparation for the future where we would like to also simulate testing and treatment strategies.

There’s also death in the simulation (shorter life span for infected nodes) however when a node dies it just switches back to the General state. I.e. network topology is kept constant. This is of course a limitation, but allow the degree distribution (wich could affect the simulations) to be held constant.

Nothing dramatic happens in the simulation. We start out by a mostly non-susceptible population, however a few susceptibles exist, as do some infected nodes. With time, more and more of the population becomes susceptible, and slowly also the infection begins to spread. Once highly connected nodes become susceptible they have high chance of also contracting the disease. With time the network develop a high prevalence of nodes in states A and L.

In reality we’ll be running hundreds or thousands of simulations, repeating runs to guard against random results, and with varying parameters to study influence the behaviour. This animation however is just to show what our numbers look like.

Credits

The simulation was done using NepidemiX an open source python software for setting up processes on networks that I’ve been part of writing (still in its early stages).

Visualization was done using ubigraph, and the music is by Snowflakes on Mars by Stereofloat.

Editing was done in Blender and I pulled the strings.

Netlogo on clusters – splitting up nlogo BehaviorSpace experiments

If you are looking for a script to help you construct individual simulation setup files from a Netlogo BehaviorSpace experiment I ended up writing one. It’s available for download over at github.

Half a year ago or so a student doing an internship at a research group I am working with at the moment wrote a Netlogo simulation for simulation antiretroviral drugs on some specific risk populations. It was a neat little experiment, especially for an internship. Fast forward to a couple of weeks ago, and my modelling colleagues wanted to expand the experiment somewhat, and try out a larger range of free parameters. As the student’s internship is over I was asked to have a look at the netlogo code and to get it running on the cluster.

The program turned out to be easy enough to update, but when I started looking in to distributing the simulations over a cluster I ran in to some trouble. While it is easy to set up experiments in Netlogo’s so-called BehaviorSpace editor, and running these multithreaded, it doesn’t seem like there’s any way of  distributing experiments on a cluster without manually configuring every experiment.

I ended up writing a script, split_nlogo_experiment, that simply takes a name of an experiment as well as the .nlogo file wherein it is stored and then proceeds to reconstruct all possible combinations of parameter values in the same way as BehaviorSpace does. Each combination corresponds to a unique simulation and is saved as an XML file which can be fed back to Netlogo using the –setup-file switch.

This means that you can use the BehaviorSpace editor to create your experiment and then split it up and run each simulation of that experiment individually. This should make it easier to distribute the jobs over a cluster of computers.

I also ended up including functionality to generate scripts, for instance PBS, from a template file. Useful if each job has to be submitted to a queuing system with a configuration file and command.

Posting this here in the hope that it will be useful.  I could not find anything similar online when I was looking. (That doesn’t necessarily mean that there isn’t any better way of solving the problem already out there, or even included in Netlogo without me knowing it. I usually write my cluster simulations in other languages, and have mostly been using Netlogo as a toy earlier.)

Download:

Brief examples and running instructions can be found in the README file or on the github wiki. Run splint_nlogo_experiment -h for help on switches and options.

.L

Sunday morning complexity

Wondering what to do with your Sunday? I know just the very thing: complexity!

Nature Physics has an insights issue on the subject (vol. 8 no. 1), and I have heard that the articles are free of charge until February 1, 2012 (the Nature journals are unfortunately otherwise quite fond of paywalls). There’s quite a lot of things to read (though I cheated a bit – I got some through early access and did not read it all on [Sun]day).

First, there is a good Commentary by Albert-László Barabási – The network takeover (doi:10.1038/nphys2188) – arguing that while we may not be seeing the end of reductionism, the advent complexity science and network theory is an important part of a new trend where the structure of component relations is studied. I agree, I think more and more of natural science is turning to studying emergent behaviour, putting back together that what has been taken apart, and the rigorous theories developed over the years in mathematics, physics, and information theory are providing new ways in for instance in the  social sciences.

There are also three good reviews in the issue, highlighting what perhaps are the main network science directions currently: the information theoretical view of a system, the analysis of structure in existing networks, and the simulation of dynamic systems as processes on networks.

Between order and chaos by James Crutchfield (doi:10.1038/nphys2190) address randomness and computational mechanics. Very nice review describing complexity from an information theoretical point of view, and therefore having a special place in my heart. Good if you are approaching the field, as I do, from that specific direction and have been telling yourself “Hey, this look awfully lot like computation to me.” It all comes down to \epsilon-machines.

Communities, modules and large-scale structure in networks by M. E. J. Newman (doi:10.1038/nphys2162). Looking at structure, and communities in networks.  Besides being an interesting problem, community detection has turned out to be a quite important problem in many applications (for example lumping you together with your social network friends in order to predict your behaviour — wait you did not think you were unique, did you?). Newman’s review is well written and I felt I knew the field better after reading it. Both the historic link to physics, the challenges, and the state of the research.

Modelling dynamical processes in complex socio-technical systems by Alessandro Vespignani (doi:10.1038/nphys2160) is an overview of what one may gain from viewing a complex system as a process on a network instead of as a compartmental model, and mean field approaches. Borrows the standard SI(R) examples from epidemiology, but it is of course the same process whether we talk about diffusion, epidemics, or memes on twitter.

The Insight issue also contain a progress article – Networks formed from interdependent networks by Gao et al. (doi:10.1038/nphys2180) – but I have to admit not having read it yet. It is more technical dealing with the issue of a network of networks. Something very interesting as I guess it may mean that some of the sub-networks are not any more in equilibrium, but also something I am not familiar with yet.

In any case, good stuff for a Sunday read, go grab the PDFs while you can!

If you still can’t get enough, or simply want a good introduction to the whole complexity thing, Newman has recently published another good general review Complex Systems: A Survey (properly in Am. J. Phys. 79, 800-810 (2011), I believe, but I took the liberty of linking to the arXiv.org preprint).

Have fun!

.L

Errata/Update to ‘Computer generated holograms from three dimensional meshes using an analytic light transport model’

Section 3.B; Equations 15 – 19

A few weeks ago I received an email asking about the article Computer generated holograms from three-dimensional meshes using an analytic light transport model by myself and three colleagues published in Applied Optics back in 2008. After taking a second look at the section in question ( 3.B) I had to agree, a couple of the steps were hard to follow, and Eqn. 16 seemed especially confusing.  So, let me correct this by pointing out how to get from Eqn. 15  to Eqn. 19. in some more detail than the paper allows for.

First however, let me correct some actual errors I spotted when looking at this section.

  1. Eqn. 16. The vectors \begin{bmatrix} x \\ y \end{bmatrix} and \begin{bmatrix} s \\ t \end{bmatrix} should change place. In addition it is perhaps not obvious how to get from Eqn. 15 to Eqn. 16; see below for a (hopefully) clearer derivation.
  2. \mathbf{J} at this point in the text is not strictly a Jacobian determinant I guess. Just a plain old determinant. The Jacobian one comes in later for the change of coordinates. Writing error there.
  3. The switch of s,t and x,y coordinates seems to have crept in to Eqn. 18 as well.
  4. Another typo: Eqn. 19 – the first argument for F_{\Delta} should be \frac{(a_{22}u - a_{21}v)}{J}.

Expanded explanation

Now, let me take you from roughly Eqn. 15 to Eqn. 19. We have two ‘triangle functions’ (defined earlier in the text so I’ll be brief here) in the plane: f_{\Delta} with vertices \left(0,0\right), \left(1,0\right), \left(1,1\right) (The triangle \Delta); and f_{\Gamma} with vertices \left(s_1, t_1\right), \left(s_2, t_2\right), \left(s_3, t_3\right) (The triangle \Gamma).

Moreover we have an expression for the  Fourier transform of f_{\Delta}, denoted F_{\Delta} (it is given earlier in the article and rather  long, so I’ll just use a symbol for it here), and now we would like to know if we can express the Fourier transform of f_{\Gamma}, denoted F_{\Gamma}  as a function of this.

Turns out we can; reference 16 in the paper: ‘Affine theorem for two-dimensional fourier transform’ by Bracewell et al. is a short note showing how an affine transform relating the domains of two functions can be used to relate the corresponding Fourier spectra.

Now,  as \Delta and \Gamma are two triangles it is clear that we can set up an affine transform relating them. This is the coordinate transform in Eqn 15:

\begin{bmatrix} s \\ t \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix} a_{13} \\ a_{23} \end{bmatrix} .

Here, the xy-vector represents the f_{\Delta} coordinates and the st-vector the f_{\Gamma} coordinates.  Finding the elements a_{ij} is straight forward. If we define the following relation between the vertices of the two triangles: \left(0, 0\right) \mapsto \left(s_1, t_1\right), \left(1, 0\right) \mapsto \left(s_2, t_2\right), \left(1, 1\right) \mapsto \left(s_3, t_3\right) we can set up the following relations using Eqn 15:

\begin{bmatrix} s_1 \\ t_1 \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{bmatrix} \begin{bmatrix} 0 \\ 0 \end{bmatrix} + \begin{bmatrix} a_{13} \\ a_{23} \end{bmatrix}

\begin{bmatrix} s_2 \\ t_2 \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{bmatrix} \begin{bmatrix} 1 \\ 0 \end{bmatrix} + \begin{bmatrix} a_{13} \\ a_{23} \end{bmatrix}

\begin{bmatrix} s_3 \\ t_3 \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{bmatrix} \begin{bmatrix} 1 \\ 1 \end{bmatrix} + \begin{bmatrix} a_{13} \\ a_{23} \end{bmatrix}

Performing the matrix calculations leads to the following system of equations:

\begin{bmatrix} s_1 \\ t_1 \end{bmatrix} = \begin{bmatrix} a_{13} \\ a_{23} \end{bmatrix}

\begin{bmatrix} s_2 \\ t_2 \end{bmatrix} = \begin{bmatrix} a_{11} + a_{13} \\ a_{21} + a_{23} \end{bmatrix}

\begin{bmatrix} s_3 \\ t_3 \end{bmatrix} = \begin{bmatrix} a_{11} + a_{12} + a_{13} \\ a_{21} + a_{22} +a_{23} \end{bmatrix}

Which solved for a_{ij} gives the following transform (Eqn. 15 witha_{ij} filled in)

\begin{bmatrix} s \\ t \end{bmatrix} = \begin{bmatrix} s_2 - s_1 & s_3 - s_2\\ t_2 - t_1 & t_3 - t_2 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix} s_1 \\ t_1 \end{bmatrix} .

This transform maps from triangle \Delta to triangle \Gamma.  However, using the technique of Bracewell et al. requires a transform from the domain of f_{\Gamma} to f_{\Delta} because we want to take evaluate the former function as a look-up using the latter. That is, we need to map from st-coordinates to xy-coordinates, which is the inverse of the affine transform in Eqn 15.

Calculating the inverse is straight forward. If the original system is expressed as

\begin{bmatrix} s \\t \end{bmatrix} = \mathbf{A} \begin{bmatrix} x\\y \end{bmatrix} + \mathbf{a},

where \mathbf{A} is the 2×2 matrix of Eqn. 15, and \mathbf{a} is the 2×1 vector,

then its inverse is a new affine transform

\begin{bmatrix} x \\ y \end{bmatrix} = \mathbf{B} \begin{bmatrix} s\\t \end{bmatrix} + \mathbf{b} ;

where \mathbf{B} = \mathbf{A}^{-1} and \mathbf{b} = - \mathbf{A}^{-1}\mathbf{a}.

Using the values for a_{ij} calculated above give the transform

\begin{bmatrix} x \\ y\end{bmatrix} = \frac{1}{J}\begin{bmatrix}t_3 - t_2 & s_2 - s_3\\ t_1 - t_2 & s_2 - s_1 \end{bmatrix} \begin{bmatrix} s \\ t \end{bmatrix} - \frac{1}{J} \begin{bmatrix} s_1 (t_3 - t_2)+t_1 (s_2 - s_3) \\ s_1 (t_1 - t_2)+t_1 ( s_2 - s_1) \end{bmatrix}

where J = \det{\mathbf{B}} = (t_3 - t_2)( s_2 - s_1) - (s_2 - s_3)(t_1 - t_2).  (The determinant of \mathbf{B} which I still chose to call J to stay with the notation of the paper.)

The above are then the corrected versions of Eqns. 16 – 17.

From here it is quite straight forward to plug the result directly int0 the expression from Bracewell et al. to yield Eqn. 18 and Eqn. 19 of the paper, however because the notation is not very clear I will explain it further.

Our paper uses a_{ij} to denote the matrix elements used in Eqns. 18-19. These are meant to refer to the elements of the matrix in Eqn. 16, however since a_{ij} is used in Eqn. 15, this is quite confusing. Following the notation in this post, the elements should rather be called b_{ij}; with Eqn. 18  expressed as (while also correcting the switch of xy/st coordinates):

f_{\Gamma}\left(s,t\right) = f_{\Delta}\left(b_{11} s + b_{12}t + b_{13}, b_{11} s + b_{12}t + b_{13}\right).

Eqn. 19 then, does not change (except that we now use b_{ij}, and the correction of the misprinted index):

F_{\Gamma}\left(u,v\right) = \frac{1}{|J|}\exp\left\{\frac{2\pi i}{J}\left[\left(b_{22}b_{13}-b_{12}b_{23}\right)u+\left(b_{11}b_{23}-b_{13}b_{21}\right)v\right]\right\}\\ \; \; \times F_{\Delta}\left(\frac{1}{J}\left(b_{22}u-b_{21}v\right),\frac{1}{J}\left(-b_{12}u+b_{11}v\right)\right).

J = \det B as defined above, and b_{ij} taken from Eqn. 16.

I hope this extended explanation/derivation explain things and will help future readers of the paper.

Thanks to Zhang Jianquang for asking me about the mathematics and thus prompting me to take a second look.

Please let me know if you find any errors in this post, or in the paper itself and I will try to correct them.

When I have time I think I will check through the rest of the paper. When writing this I had a thought regarding the generated wave field and I think that a diffusing field may be needed as well.

.L

Print this document

The following essay was written October-November 2010 and presented to a creative writing group in Vancouver, B.C. I have since then edited the piece to its current form. For printing reasons it is in PDF format: Print_this_document.pdf

.L

 

 

Readers and robots

Publishing, on this side of the digital divide, has become not only simple but automatic. Messages are copied from storage to storage. Everything is a printing press, and we are all writers – producers of texts. But then, what does it mean to be read?

Write something and put it on-line. Within hours it has been read by a handful of robots – small programs crawling the web – indexing information for the search engines. But this is not what we want, is it? We want to be read. By a person. Not parsed by a program. We would like someone to react to the words we have written. But programs react. Sorting our text they reference it with actions that reflect on both syntax and semantics. With an increasing degree of complexity, I should add. So not mere reaction then – we want emotion. Irrationality.

Are there readers for all texts written? I’m guessing that there are already pages never visited by anything else than robots. Pages waiting to be read. All waiting for emotional response. Trees in a forest, falling. Can programs hear?

We are all readers, programs and persons alike, but what are the human role in a networked world? As publishing became free the value of our attention went up. That unique attention we bestow on someone when reading what they wrote; allowing ourselves to be influenced; allowing a message to stir up emotion. Reactions neither rational, nor random.

Is it our egos, digital prejudice, that makes us value human attention over that given by programs, or is there some quality in emotions that can not be programmed? The human reader, a gold standard in information economy. Perhaps today, but both humans and robots evolve.

‘Information overload’ is sometimes a term used to describe the stress and frustration felt by people who are too connected. I wonder if it really isn’t more a question of growth strain? Most of us have been taught to analyze as readers, but we are changing into someone who has to associate and react.

To cope we shorten our attention span. On line texts today must be short and to the point. Many texts are likely competing for the reader’s attention. Therefore, articles become summaries, blog posts are reduced to status updates and tweets – all evolving into information that may be take in at a glance and then dismissed, flagged as ‘liked’, or re-tweeted. Thereafter forgotten. The brief texts contains links to be followed or ignored. The footnote is the message.

We send pictures saying more than a thousand words, but only require a glance before it is decided if they will be shared in turn. But a picture does not say the same thousand words those who see it, even if it may convey a similar message to all. It is associative, approximate, and quick where the text is exact and time demanding.

Maybe this is the connected reader of the future. Our role as analysts is over, instead we associate and react. At most appending a sentence or a tag to the incoming message before it is forwarded on to the network again. The reader acts as relay of information, associating, sorting, but not analyzing.

But wait, isn’t this the role I gave robots? The same programs that did not count as readers? Not far from, and as the programs get more advanced and the readers more connected both start playing similar roles, indexing information.

It may be that such future carry a small gem. A chance to understand what it is to be human; to be alive.

When all complexity is peeled away from the human onion, and what remain is a future reader – a connected entity, merely relaying and tagging information – can we replace her with a program? Can we replace everyone?  If yes, have we then proven that the mind is nothing more than a Turing machine; and if no, what secret lies there in humanity’s core?

But it may be that this entire strategy is in vain. Perhaps any network of future readers, people and programs alike, is dead. Defunct. Maybe the human magic that made it tick lay in the skins we peeled away?

This essay was written October-November 2010 and presented to a creative writing group in Vancouver, B.C. I have since then edited the piece to its current form.

A brief update for the new year: 2011

So, here is one of those oops-I-haven’t-updated-the-webpage-the-last-few-months kind of rants. Usually try to avoid them – else they would be the majority of texts I would write. Anyway, a few months between posts are healthy, and probably more of a rule than an exception on these pages. As the year is new (2011) I thought I would post an update in any case.

I am still living in beautiful Vancouver and working as a post doc for the UBC. My research focus has changed a bit however in a very exciting direction: I am currently working with processes on scale-free networks related to disease spread. This has given me really wonderful opportunities to learn more about mathematical epidemiology and network theory. Very interesting stuff but lots to learn. Another reason why I have neglected my web space.

Been feeling an urge to write lately, but nothing really finished yet. Joined a non-fiction creative writing group back in October 2010 and much of my writing time went in there. The aim was to edit a few of the texts I wrote during that time and put up here, but not really happy with those texts. Yet. More editing needed. Funny that because some of the book reviews I’ve uploaded have been more or less un-edited, and some quite bad when I’ve gone back and re-read them. Be that as it may, one day I will work my way through these all posts and edit. Perhaps.

In any case, I hope to have some essays I’ve been working on posted during the next few months.

I have of course been reading and I meant to whip up quite a few reviews (bunch of fiction, some non fiction, including Kurzweil’s The singularity  – very disappointed) during the Holiday break… but chance intervened and instead of a clean writer’s desk I ended up with the engineer’s workbench:

Power supply error search.

A couple of years back I bridged a wi-fi network home in Sweden using a pair of Linksys GL routers, directional antennas, and the excellent dd-wrt firmware. Just when I returned to my house for some relaxing time off something decided to stop working. Finding the error was easy: power supply. To fix/build/adapt a new one wasn’t too easy out in nowhere. In the end everything worked out however.

In any case, now all is back to normal, and I am back to work. I hope to have something more interesting posted soon. Hopefully a bunch of short book reviews at least.

’till then!

.L

Shop class as soulcraft by Matthew B. Crawford

I borrowed Shop Class as Soulcraft from the local library after seeing it displayed at book shops around town. At first I wasn’t sure if I wanted to read it. The wink, or rather play at Robert Pirsig classic Zen and the Art of Motorcycle Maintenance, seemed a bit too obvious: the under-title is ‘An Inquiry Into the Value of Work’ while on Zen and the[...] it is ‘An Inquiry into Values’. In addition there are motorcycles on the cover. Enough to make me suspicious rather than curious.

But I learned that the author, Matthew B. Crawford, really does repair old motorcycles – so I could not complain about the cover – and to be fair: the under-title could have its source in an all too creative editor. Besides, the book did make me curious. I recently spent some time at the UBC bike kitchen building a bicycle, and the joy of those hours make me coming back to the workshop.

The main idea presented in Shop class as soulcraft is that practical work – based on skill and craftsmanship – give something of value back. It is also hinted at that this is something society and market need in order to function.
Crawford base his arguments on his own experiences in academia and industry, in his work as an electrician, and a motorcycle repair man. However, he also back up the arguments with many references to work in philosophy and economy.

He observes that few feel happy in today’s management and human resource-controlled corporate hierarchy. Not even the ones at the top. The reason according to Matthew B. Crawford being they are stuck in an abstract system where the relations to others become more important than what you do or create. The rules and the structures create a deadlock where no real creativity is possible. He traces this back to Taylorism and the birth of the modern industry.

Crawford argues that the almost algorithmic rules for work introduced at this stage created an environment where skilled craftsmen begun to disappear. There might have been a demand for skill, but no environment where it could thrive. Further there was no understanding of the connection between skill and creativity. This phenomenon has since spread to much of the professional world.

Shop class as soul craft is also a call for a return to practical work and craftsmanship in America. Crawford argues moreover it is more rewarding than today’s office work, and that it can not be outsourced, making it a safer form of employment. In a way he may be right, there is nothing implying a pure ‘knowledge-based-economy’ is not another bubble. Practical work is to different degrees anchored in everyday needs.

I have a very divided opinion about Shop class[...] On one hand I do agree with many of the observations. What Crawford writes about the life-draining work at a desk in some modern company is spot on, and his thoughts on the use of colleges today somewhat echo my own: why is everyone forced on to a path towards university?

(Footnote: My own opinions on universities are many, and I should be brief here. For sure society needs educated people, but many go to university today to get three letters added to their names, not to gain the knowledge that those letters should represent. This deteriorates society. Further, academia is becoming a career path which I am not sure is good for science. Instead teach kids to think like a scientist when they are in elementary school. Then you have the foundations of a good society.)

Even though I agree on much there are also things about the book bothering me. At first I thought it was just me being silly and getting annoyed at Crawford’s sometimes, in my eyes, too confident style of writing. This is of course small stuff, and I should not let it come in my way of enjoying the book. Which I did for the most, but I also felt the book fell short in some other aspects. Shop class[...] sometimes present office work as demoralizing and ‘bad’ and practical work as something high-spirited. This is half the truth, because I believe it is not the work you perform that drain your energy at the desk. It is the environment. A programmer, for instance, can be as much a craftsman as a motorcycle mechanic. But give him enough TPS reports and creativity goes away.

So I would argue the divider is not between workbench and office-desk. It is about creativity and numb, uninspired work. As such, the divider is work allowing a skilled person – taking pride in her craft – to be creative. It is really a discussion on quality.

So, we have arrived again at Zen and the art of motorcycle maintenance. Shop class as soulcraft begs for the comparison. While the two books are very different in style and aim (I see Shop class as soulcraft as applied work focusing on processes where its author found meaning) they both are about quality.

I shall say like this: If Zen and the art[...] is a quest for the core of the quality concept – the idea, the platonic truth – then Shop class[...] chases the shadow – the projection, the special case. It is applied to the DIY trend of today.

Shop class as soulcraft is worth reading if you are looking for a discussion on modern work culture. I found it inspiring to read, as I am sure many other will. It is by no means a bad book, on contrary it is interesting, and it gives a very good case why practical creative work may be more rewarding than office-hell. If you are interested in the heart of the problem on the other hand, and have not yet read Zen and the art of motorcycle maintenance, you should start there.

.L

At Home by Bill Bryson

I was browsing the bookshop in Heathrow, Terminal 3 (almost the only thing worth doing on Heathrow – what you might rightly think is the most horrific airport in the world until you have been to O’Hare) when that feeling started creeping over me – it would be nice to read something by Bill Bryson again. I did not have my hopes for a new book up however. But, to my surprise, there it was, At Home – A short history of private life by Bill Bryson just lying there!

I bought it. I read it.

The subtitle playing on Bryson’s most well-known book: A short history of nearly everything. In a way it also reads like a distant cousin of that enjoyable publication. It is an explosion of fun facts, information, and even statistics as Bryson jumps from subject to subject. Reading At home is like a warm up at jeopardy boot camp!

As we learn from the main title however, this time it is about our homes, and not the natural history of the world. Something that may seem like a much smaller, and maybe not such an interesting undertaking. Of course Bill Bryson proves this wrong. Using his own home, an old rectory in the English country side, he ventures from room to room and provide an amazing amount of facts regarding construction, technologies, and activities even remotely associated with every space. From waste, plumbing, and toilets in the bathroom, to pregnancy, gardening, and telephones elsewhere; then even injury statistics associated with the staircase. I am amazed.

In fact I think that the scope proved so amazingly huge that Bryson had to limit himself. Although the book is almost 500 pages is stays in the western world geographically. In the U.K. to be specific (with some interesting excursions to America). Time-wise it is centered around the Victorian era, again with the odd excursion to historic times.

All of that is of course fine; the time and place is set around the industrial revolution when much happened that define what we today call a home. Also, given that the authors own house is used as a model it is appropriate. Still, I guess homes might vary in different cultures. Ancient Greek houses. Japanese gardens. Imagine having also their history presented! On the other hand, then we would probably be looking at a three-volume publication. At lest. So I understand Bryson.

My only real critique is that, to my surprise, I had the impression that the first few chapters were a bit sloppy edited. No real examples, just a feeling. Something that surprised me to some extent given the author. (On the other hand who am I to criticize? I still shudder when I re-read some of the posts I made on this web page.)

However this feeling disappeared quickly and I was thrilled by the amount of facts presented. This is really the lasting enjoyment of reading At home. It is quick and fun. I can not think of a better way of gaining general knowledge than reading Bill Bryson; the man is brilliant.

Actually, while reading it struck me that this book would be the perfect companion to role playing geeks. I am not as much into gaming as I once was, but I remember the discussions. How would a world in a historic setting work? Bryson’s book is perfect for this! Better than any history text because it tells of everyday life and not on war! The Victorian focus is appropriate as well given today’s steam punk hysteria. Yes, I would give this to any role player.

Finally, beside the multitude of facts and character portraits, At Home leaves me with appreciation for the range of improvements to western living we have seen the last few hundred years. It is easy to think that it was better before, but one marvels at how much of today’s comfort that is actually the result of just 200 years of development.

We know that western living is not sustainable, however comfortable. At Home then show that we can not really go back to a world with 18th century technology either. It would be a very demanding place to live. Filled with death, illness, and filth. In fact many on earth are still forced to live like that today. Left is the question of how to use the knowledge we have gained to change our homes so that everyone can be comfortable and safe. It may be very unlike the places westerners have grown used to, but it can still be home.

.L

Iorich by Steven Brust

What is it in the way Steven Brust writes that make it such a thrill for me to read his books? I have tried to figure this out. My best theory to date (as I have said before) is that it is how he builds the tales of that Dragaeran world of his. The feeling that it all fits together somehow maybe? It is plausible but totally fantastic, it is not the future and not the past. It is fantasy but not quite.

In any case, I repeat myself from earlier posts on his books. The newest Vlad Taltos book, Iorich, has been out for a while now, and I have been eyeing it intensely on every visit to the bookshop or the library (if eyes could drool then mine would). A Brust book is nothing I just can go and pick up however. It will inevitably devour a time-chunk of my life in which every other action (often including food and sleep) is put off until the last page is turned. It is dangerous; it is not something that can be done while trying to fit into normal society.

I could restrain myself however, because I knew that I had a golden opportunity to read it coming up: a ten-hour flight from Vancouver to London. Perfect. I was reading the first paragraph a fraction of a second after fastening my seatbelt and did not even notice the take off.

I will only briefly tell you what the book actually is about. It is fiction after all, and Iorchi is part of a series; there is just so much I can say without giving things away. In any case Iorich is interesting because it isn’t only the latest book in the publication order but also the latest book in the Vlad-timeline as far as I can tell. We find out what happens when he decide to return to Adrilankha once more.

Vlad is still on the run, and does not really feel like returning to the capital of Dragaera. He decides to do so in any case when he hears that his friend Aliera has been imprisoned and accused of treason. Well back it is time for him to figure out what is going on and why? This book ties into some of the politics of the Dragaeran empire and to the legal system. The latter allows Brust to investigate and play on the role of the law in society and of those who work with it.

The form of the book is quite standard for the series: we follow Taltos as he tries to figure out what is going on, and how to do something about it. A nice twist however is that he get to know ‘why’ quite early in the story, but then has to find a solution.

On the side of the main story we are also updated on the lives of some of the recurring cast of the story, and of course given a few more elusive hints on the bigger picture and how the world works. (I think that is why I am hooked on this series. The small hints that says that Brust knows something I do not, and that there a riddle for me to solve!)

All in all, another nice piece of the Taltos puzzle. As for my flight reading: I interrupted it briefly for dinner but otherwise read the book in one session. Afterwards I was bored by everything around me for the remaining 4-5 hours of flight – nothing on the flight entertainment could match Iorich.

.L