Rapid Prototyping for Java using JRuby: A Presentation

On Thursday 30th of August I will be presenting a talk as part of the LRUG BOF (Birds of a Feather) session at NFJS, No Fluff Just Stuff. It will be my first time presenting outside of an academic conference and I am really looking forward to it. I’m going to be talking about how JRuby can be used to rapidly prototype new features into a Java application.

I must admit, the biggest concern I have is about estimating the audience. It’s quite a varied conference, mainly Java and Agile, and it’s not clear what proportion of the audience will know anything about Ruby, and what proportion will be experts. Figuring out what level of understanding in each language to pitch the talk at is going to be an open question. It won’t be until I start the talk that I will really know if I have got it right.

The BOF session is free, but you need to pay if you wish to attend the rest of the conference. On the plus side, as valued readers of this blog you get a discount. Simply quote NFJS-BLO182 when you register and you get £100 off the registration fee.

NFJS Logo

By |July 30th, 2007|Uncategorized|0 Comments

Using JRuby to rapidly prototype changes in a Java codebase

Today, as an exercise, I coded up a simple piece of java and ruby integration, via JRuby.

The task I set myself was simple. Start with a java only application, and then use JRuby to rapidly prototype adding a new feature to it. I used my favourite sample application: A library with three entities, books, borrowers and loans (the first application design I was ever taught – way back in A-levels). The design is pretty simple; a borrower is associated to a number of loans, each of which is associated to a book. There is also a link from each book to all the loans it’s refereced in.

I intentionally made a limiting design decision however. Each book’s author is saved as a string, and the meaning is lost when someone tries to enter several authors to a book

public class Book {
<snip>
private String author;
<snip>
}

Book jrubyBook = new Book(“JRuby for beginners”,
“Ruby Guy, Java Guy”, //second argument is author
“12365437890”,
LoanType.ONE_MONTH);

The feature I wanted to add was the ability to look at a book, and see what books influenced its authors. The logic used is:

  1. use the book.author property to find out the author(s) of the book
  2. look at the loans associated with the author(s)
  3. get the books for those loans

Not a very complex piece of logic, but good enough to demonstrate the point. Ideally the author field of book should be refactored to be a collection of people which would be created as a new super-class of borrowers. But before I go and do some refactoring, (which in a real project would mean quite a bit of changing the persistence mapping too) I want to get the functionality working to see if it really is useful. JRuby’s ability to load up some java classes and quickly change them allowed me to simulate doing these changes.

require ‘java’

include_class ‘com.wildfalcon.library.model.Book
include_class ‘com.wildfalcon.library.model.Borrower’
include_class ‘com.wildfalcon.library.persistance.Books’
include_class ‘com.wildfalcon.library.persistance.Borrowers

class Book
def authors
author_names=[]
getAuthor.split(“, “).each { |author| author_names << Borrowers.findByName(author)}
author_names
end

def inspirations
list = []
authors.each {|author| author.books.each{|book| list << book}}
list
end
end

I can then call the inspirations method:

book = Books.findByName(“JRuby for beginners”)
book.inspirations.each {|a| puts a.title}

all of which I put in a prototype.rb file an execute as follows:

ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName(“jruby”);
InputStream is = new FileInputStream(new File(“prototype.rb”));
try {
Reader reader = new InputStreamReader(is);
engine.eval(reader);
} catch (ScriptException ex) {
ex.printStackTrace();
}

Indeed when I execute it I find out what books have been read by the two different authors of “JRuby for Beginners”:

  • Java for beginners
  • Ruby for beginners
  • How to tie a tie
  • History of fairy tales
  • Cooking Italian Food for Large Groups

This quickly allows me to realise that looking at the books read by the author isn’t good enough, before I can deliver the feature I need to find some way to tell which books are relevant and which are not. But I found that out with a very small amount of coding, and without having to make any changes to the existing java application. I can happily go back to the drawing board without worrying that I broke something in the meantime.

By |July 23rd, 2007|Uncategorized|0 Comments

Checking that it is true that true is true should not be hard!

I spent most of the last day or so playing with testing in ruby on rails. It should be pretty easy, after all rails has testing built in, right? Well that’s what I thought, and I was right, but only to a point.

Starting off with a simple example

class ItemTest < Test::Unit::TestCase def test_truth assert true end end

Not much to go wrong there. Check if true is in fact true, and if it is, say its true. Always best to start with a trivial example - something that clearly will work. Of course, this is the real world. Did it work? Did it hell!

Instead I get printed a nice little line telling me that there is an error in testing.rake, line 35. Looking at line 35, it is a pretty simple little line: “If there was an error, show error message”. Great, this is going well.

I probably should tell you a bit of background here. I’m not trying to use a database. All my data is going to be obtained from a nice sexy web service, in a way that is really quite cool, but apparently beyond the expected uses of RoR. James Andrews pointed me in the direction of recipe 14 of Rails Recpies, and a blog post on databaseless rails application testing. Both were of course out of date. So here is what you need to do, of course, this only works for ruby 1.1.6 for sure, and revision of 5832 of edge rails. Who knows if it will work for any other version.

1) Change the file test/test_helper.rb so it reads as follows:

ENV["RAILS_ENV"] = "test"
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require_dependency 'application'
silence_warnings { RAILS_ENV = "test" }

require ‘test/unit’
require ‘action_controller/test_process’
require ‘action_controller/integration’
require ‘action_web_service/test_invoke’
require ‘breakpoint’

class Test::Unit::TestCase
# Add more helper methods to be used by all tests here…
end

This basically just removes any reference to databases from the test framework

2) Add a file in lib/tasks called something like “remove_database_dependency.rake” and put the following in the file

["test:units", "test:functionals", "test:integration", "test:recent", "test:uncommitted"].each do |name|
Rake::Task[name].prerequisites.clear
end

This goes through all the rake testing tasks, and removes all of their prerequisites (which in my version of rails only consists of loading the database)

There you go, after all of that, you can now tell that true is true!

By |January 4th, 2007|Uncategorized|0 Comments

Photographic websites

Photography and websites; sometimes they mix well, but so many of the photography web sites I have seen out there just don’t work. They look ugly, or flat, or are just somehow lacking. As both a photographer and sometimes web developer, this is something I have had running about in my head for ages now. The basic problem seems to be, to my mind at least, that the “goals” of creating a good web site are somewhat contradictory to the “goals” of presenting photographs as works of art.

A good website should be usable and accessible. A good work of art should be presented in a way that reinforces the piece. These are not fundamentally conflicting, but it seems that people either care about one, or the other, rarely both.

A friend of mine from Imperial has written Gallery as a general put-some-photos-on-the-web type thing. He is very keen on AAA web accessibility, and making things work for all people in all situations. The site is very good: it works in different sizes; different browsers and even has meaningful behaviour. From a purely computing point of view, its one of the best sites available for photos. But just look at it, I hate to say it about something a friend of mine wrote, but it’s ugly :(! Who wants to go to the effort of taking a photograph they are proud of when it’s going to appear surrounded by so much visual noise, all distracting from the photo?

Flickr is much cleaner in terms of its view, and it’s a very nicely written site (even if it does have long strings of numbers in most of its URLs). But it still doesn’t give any control over the context that your image is placed in. It’s always on a white background, always with the Flickr menu, and so on.

The photographic course I’m attending has, along with reading on the subject, really got me thinking about presentation. A large part of the impact of any piece of art is the surroundings you see it in. A reproduction of a famous oil painting on my wall has different associations to the same work of art elsewhere. It now shows that I have chosen to place it on *my* wall. That says something about me, something that clearly wasn’t included in the original painting. The colour of the wall has an effect, as do the other things on display in the room. If they look like the something depicted in the painting that can change what you see when you look at it. In short, presentation is vital, a photo where the presentation is not decided on is like a piece of writing that hasn’t been spell-checked.

So let’s look at some websites that are designed by photographers rather than computer scientists:

Harriet Logan has a beautiful web site. I think it could do with a bit more text setting a context for the photos, but its beautiful, simple to navigate, and the photos are stunning. It’s also written using Flash. In this case, the Flash is totally unnecessary. The only thing it adds over basic HTML is the nice way that the panes animate when you change from one part of the site to another. You loose the ability to link to a specific photo, and I don’t think an animated bar is worth it, even from a design point of view. Flash makes too many assumptions about the viewer’s environment. This is a debate I often have with my dad. I think I have finally got an argument that will convince even him. I have two monitors connected to my computer – as I imagine do many professional art directors. When I look at this web site, it automatically maximises across both of the screens. The effect of this is that the left half of each photo appears on my left monitor, and the right half on the right monitor. This really is not good. I can imagine a few pissed off magazine editors being so too!

Next we have Lesley Aggar. Lesley is a friend of my dads and an absolutely amazing darkroom printer. Her web site has some very strong point, but ultimately I think it’s a failure. The strong points first. The design is stunning. It’s so elegant that its breath taking. The bad points are that it is in Flash when it doesn’t need to be (see above), but the biggest failure is that a computer monitor simply cannot come close to a fine art print. When I look at one of Lesley’s prints I am speechless, but the computer version just can’t compare. A web site simply cannot work here.

Finally we look at Nick Briggs. Having complained about the last two sites use of Flash, this site doesn’t, it is pure HTML. The site is very simple, but effective. It’s easy to get to the photos, though I do have a few bugbears with it. I don’t like the font, nor do I like the names “portfolio 1″, “portfolio 2″. However there is no denying the fact it doesn’t look as slick, or as smooth as either of the two previous sites. I said before that the Flash doesn’t add much that you can’t do in HTML, and that’s true, but it’s not easy to do the HTML for a site that looks that slick. It’s certainly not a skill that many photographers are going to have.

So I’m left with a conclusion that I don’t really like. It’s possible to make a website that is both good from a computing, usability, and accessibility point of view, and from an artistic point of view. But it’s very hard. It requires both a combination of skills that is rare, and a caring about detail in two very different disciplines, ones that don’t often go together.

By |February 20th, 2006|Uncategorized|1 Comment

Discordant Photography?

The photo course that I am doing is turning out to be exactly what I needed. Last week we were working on concept, the theme behind series of photos, and it turned out (unsurprisingly) that I find it hard not to be too literal. This week we were given the task of shooting to a piece of music: “Choose a piece of music that describes or inspires you, and then use that as the theme for a series of snapshots”. On Saturday we will present the photos first without, and then with the accompanying soundtrack.

I set aside today to do the photos, but first I had to choose some music. This was really hard. I think so literally minded (which I hope in changing) that on glancing though my collection of music I would see “Homeward Bound” and think that it was perfect. I could photograph the route home from the tube station. These thoughts would last about three seconds before I was bashing myself over the head metaphorically (mostly), about being too literal.

I thought about “Le Tango De Roxanne” from Moulin Rouge. I love the song, and I can’t hear it without feeling inspiration. Listening to it over and over I started to feel the grandeur, passion, and even a delicate softness. But no matter what I ideas I came up with for how to portray these in photos, I found myself being drawn back to the scene from the film where it is played. Maybe I just can’t pull myself away from it, but I think I just agree with it so much. I like to think given a free reign I would have shot that scene identically. So in the interests of not just copying Baz Lurhmann I tried to go for something different.

Like I said before, I found this hard. I sat here, at my computer going though my collection rejecting song after song. I pissed off several online contacts trying to get their advice. I started to feel frustrated, and torn in several different directions because I needed to get this done, and had a long list of other things that also needed to get done. I felt like I was being overwhelmed with conflicting requirements, and needs. Then the random play list on my computer started to play “Because You Can Can Can”, also from Moulin Rouge, and one of the few songs I really don’t like from the soundtrack. Its too noisy, too many things going on at once, too much of an auditory overload. In short, exactly how I was feeling. So it seemed an obvious song to pick.

Having done that, the ideas for how to portray it came easily. I wanted to show lots of people, rushing round all with conflicting aims, and directions. Where better than a crowded public hub, like Kings Cross station in rush hour?

The decision made, I allowed myself some down time before leaving in time to reach Kings Cross at the height of rush hour. I spent a merry three quarters of an hour wondering round the underground station, the main station foyer and so on photographing the crowds. Which actually, when you look at it with an eye that wants crowds, are not that dense. Before too long the camera started to die, with a flat battery. So I moved to a corner ready to change the battery.

That is when the police arrived.

I was approached by two community support officers, who wanted to know if I had a photography permit. I did not. They very politely explained to me that it was illegal to photograph in Kings Cross, and that I would have to stop at once, and delete all my photos. They would have to take down my name, description, and carry out a name check with the police central computers. Now I know they are not allowed to demand that I delete any photos, questions on the law are a common feature in the photographic magazines, but I wasn’t about to argue with a police officer in a crowded train station. I wasn’t sure about the rights to photograph in Kings Cross. On public property you are allowed to photograph anything, on private property I am sure you are allowed to photography anything, but that might be US law?

They took my name, and wrote out my description, giving me a nice pink receipt, and didn’t do a name check because their radio was jammed or something. The receipt they gave me does not contain their badge numbers, in theory I have no way of identifying the incident to the police if the paperwork goes missing, as it did once before when a friend was involved in a road traffic accident, so I made a note of their numbers myself.

Most oddly though, they didn’t actually ask to delete all my photos, despite earlier saying they would. So I still have the full set of photos.

After they left I went home, and with the help of my friend Alex, and his friend, and his friend’s friend, and maybe even his friend’s friend’s friend (I got a bit confused) did some research:

  • The TFL Conditions of Carriage specifically ban flash and tripod photography. This is their only mention of photography, so they do allow it.
  • The TFL FAQ says that photography is banned without a £300/hour permit. They admitted that this was nonsense and contradictory to their Conditions of Carriage when asked on the phone.
  • TFL then rang back, and informed us that photography on the underground is totally illegal, though they were unable to say under which law, and admit that no-one at TFL knows.
  • The British Transport Police when asked (again by phone) said they do not know if it is legal or not.

That’s about it so far. I am going to contact the police tomorrow and see if they can tell me under what law I was stopped. I am also going to research photographer resources, and see if someone has summarised the law on deletion of photos, where I can take photos and so on. I will let you know what I find out…

As for the photos, I haven’t looked at them yet…

Technorati Tags : , , , , ,

By |February 1st, 2006|Uncategorized|10 Comments

Snapshot

More and more I am feeling the urge to sit down and write something. Today for example, I want to write something, anything. Well not quite anything, I have to write the last bit of my PhD corrections, and I don’t want to do that, so I’m writing here instead.

There are lots of things I feel like writing about today, my recent phone interview with Google, though as the interview was only four minutes, it wouldn’t be a very long piece, so I will wait till I have had the next interview with them for that. I could write about the absolutely amazing hand of bridge I played last night (my partner and I bid game with only 9 points between us, and it would have made if the opponents hadn’t bid higher) but that will no doubt bore all of you. Instead, I think I will write about the photo course I started on Saturday.

As some of you know, and those who don’t might have guessed by looking at the site, I’m into photography. I love it, but while I have always found the technical aspects of it, like shutter speed, and ISO settings easy (they are just applied physics) I have always felt pretty incompetent at the artistic side of it. I have taken some stunning photos, but always by playing to my strengths – technicalities. The dance photos are good because I have trained myself to photograph the moments when the dancers do something impressive. The people photos are good because I have learnt to use the same “capture the moment the subject does something” technique when looking at people interacting. I’m very proud of the technique I have in my photography, but I have always felt a bit of a cheat when it comes to being artistic. Hence the photo course – The Art of the Snapshot at Central St. Martins, taught by Karl Grupe.

I have to admit, I was a bit worried about what the course would be. Carina, who has some other courses at CSM told me she had heard the snapshot course was quite basic. It is, but in the way I want it to be. It’s basic in technique. We have already covered the entirety of the technique we are going to do for the course: “If you don’t know how your camera works, just set it onto automatic”. The course really does focus on art. We spent the first session talking about how all the things that you put into the photo: style, concept, content, symbols and experience all combine to create a reaction, which is then interpreted by association in the audience. That ties in exactly with the MindHacks book which claims “The human brain is an association engine”. The style, or voice of the photographer is very important, and we spent the rest of the day on exercises about personal voice. We did a number of exercises, mostly drawing, where we had to express various concepts, including ourselves graphically. Karl then shows how for most people their voice is consistent, or at least has some consistencies throughout their work, including photos they had brought in. I am very clear and bold in my voice. If I’m depicting a tree, in any medium, I will show a tree, and it will be in the centre of the frame. Where else would it be? It’s a depiction of a tree! But of course there are other approaches, you could just hint at a collection of leaves in one of the corners. That is a very different way of doing it, but just as valid.

I tried hard to stretch myself for the last part, a visual presentation of “me” on A0 paper. I resisted the temptation to put an icon or depiction of me in the middle, but it ended up there anyway. Each of the four parts of my personality (work, home, sports/dance, and photography) ended up having a clear area on the page that didn’t really overlap. But I did manage to have quite a chaotic (messy?) selection of colours, and I even went so far as to try and signify the feeling of not being artistic by ripping off the part of the paper that was going to represent the artistic side of photography. Despite ending up with something I didn’t like, I think I made progress. Some of the other people on the course seemed to not like their work either, despite everyone loving everyone else’s work (at least I really liked all the other ones). Maybe it’s just common for people to not like what they have done?

There was a really good cross section of people on the course, lots of different ages and professions. I’m looking forward to getting to know them better in the weeks that come.

Technorati Tags : , , ,

By |January 23rd, 2006|Uncategorized|1 Comment

Online Communities

I have been thinking quite a bit recently about online communities. Not just the technology that allows them, but what exactly is their role. No doubt this has been inspired by my recent work on Paso, a replacement web based online community tool for IVDA.

My friend James pointed me in the direction of Joel Spolsky, who has written a bit about how the tools provided by an online community can have a drastic effect on its culture, and its sociology. For example, putting a “reply” button at the end of a thread rather than the beginning increases the likelihood of people actually reading the thread before replying.

From there, I did a little bit of research about Ray Oldenburg, who has written a book, The Great Good Place, in which he talks about a “Third Place”, somewhere other than work or home for people to gather, and be social. Joel Spolsky pointed out that more and more online communities are becoming a “Third Place” for people. This strikes me as both very true, and very unfortunate. I find that an online community, such as UDS is capable of providing enough social interaction to remove the feeling of loss that can otherwise drive people out in search of a Third Place, but, falls short of providing the social needs that such a place should satisfy. This raises the question, are online communities doomed to be pale shadows of real communities, or have they just not yet reached the point at which they can compare? I think the answer is somewhere in between. They will never (I hope) replace real face to face interaction, but I think the can serve as a great way to maintain social links when its not possible to be physical present, and I think they have much more potential to catalyse real communities. Over the next few months I will be thinking about how this can be achieved in UDS, and no doubt I will be posting some of my thoughts, and maybe even my conclusions here. I would say that the problem of creating viable online communities is no more than 10% solved.

Finally, I would like to point out a talk by Marc Smith, at Microsoft research, who studies online communities, to analyse behaviour patterns. He did a talk that is available on IT conversations. Well worth a listen.

Technorati Tags : , , , ,

By |January 9th, 2006|Uncategorized|0 Comments

Agile Web Development

Recently I have been trying to teach myself eXtreme programming. Without repeating all the ideas and concepts, one of their key arguments is “Do the most important stuff first, the rest can wait till later”. That’s all well and good, and I like the idea, I would even go so far as to say I agree with it, and think it’s a damn good idea.

As an example, Paso, the web software I am writing for IVDA needs some new features before it can go live. It needs to be able to have a forum board that only people at one university can see. That way all the people at Imperial College have a place for gossip, and team discussions, without allowing Oxford or Cambridge to read it and steal their ideas. In fact this is the one biggest thing that’s currently missing from Paso, so XP dictates that I should add that feature right now, as it provides the biggest business advantage.

Web development is different from other forms of development (sorry for the quick subject change, but it will make sense later – promise), and one of the key differences is URIs – those bits of text starting with http:// at the top your window when you are viewing a web page. Every single thing I want done has to be expressed as a URI, and sometimes, some extra data. We all know that cool URIs don’t change, ever!

Often, if you look at the URIs  you will see it contains long strings of numbers and implementation specific details  such as http://www.some-forum-site/viewtopic.php&topic=13487282. This is bad a bad URI! It says what software your site is written in (PHP – but do your users care?), lists what number that topic is (13487282) which is not something that anyone is going to remember. Its really good for your traffic if someone can grab a beer mat in the pub, and scribble down the URI for a topic they were reading, the person they give the beer mat too is much more likely to read the site, then if you say “go to some site, and search for a topic on blah”. Finally, that little “&” says to many search engines “ignore the rest of this URI”, so your actual content doesn’t get indexed. Lots and lots of missed searches – less traffic – bad!

So your site is doing to do better if your URL is something like http://www.some-forum-site/topic/what-fake-tan-is-best, but URIs of the first form are much much easier to develop. I’m using ruby on rails a lot at the moment, which for the most part, produces really nice URIs, but still falls into the trap of putting strings of numbers into the URI. This is probably the most minor of the URI issues, but still one I want to avoid.

The problem comes when you try and combine XP with web development. The business value side of me says “Get university boards up and running”. It’s more important than nice URIs, the part of me learning XP says “Do the university specific boards, then at a later date, sort them out with nice URIs”, the part of me that buys into the cool URIs don’t change mantra, says “ARGHHHHH”

So what to do? In my first few iterations I spent the time creating nice URIs from the beginning. It was great, Paso forums have really nice URIs, I’m very pleased with them, and proud of them. However it added lots of time to the development, and its still not done, The short names (what-fake-tan-is-best) need to come from somewhere, If I ask the users to type them in they are just going to bash away at the keyboard, and I’m going to get meaning less garbage. Auto generating them is a hard problem that will take a long time to get right. Already I’m thinking about how to solve a problem that not that important from a business value point of view. XP says that’s wrong.

My gut feeling is to think: sod it, this is still under development. I will have static URIs once the key features are fixed and done. But I have lots of cool things I want to add to Paso, and fighting with short-names and nice URIs are holding that up, the project becomes less fun, I get less motivated, and less productive. It’s a bad cycle. I know how I work, I really want nice URIs but I want a working site more. I want a site that people can use without caring about the URIs – to be honest, most people don’t. So I’m going to lay off on the nice URI mantra for now. And get the site working. Once that’s done, I will enjoy playing with it to get the URIs nice. And the dance community will enjoy using their new software, or at least, they will enjoy telling me what’s wrong with it :-)

Technorati Tags : , , , ,

By |January 1st, 2006|Uncategorized|0 Comments

Refactoring and Correcting

Spending a lot of time at the computer has one big benefit: I get a lot done, or at least can do :-)

Last night I spent a few hours while watching TV and chatting to friends refactoring the forum software I have written, which eventually will be used to power the universitydancesport website. Its called paso and is coming on very nicely, though pretty slowly as its very much a side project while I do my PhD corrections. I had bumbled into my first Ruby On Rails project not quite sure how to go about it, and still not feeling very confident with the eXtreem Programming philosophy. I ended up with one big forum controller than did everything, boards, topics, posts, all done in one long file that was getting unwieldy. I realised that putting everything in one big file was a mistake, and that boards, topics and posts should each have their own controller. So I did just that. It was easy (if a bit dull), and thanks to my test suit (which is nearly twice as long as my actual code!) I’m sure everything still works. Cool. The next step will be some form of access control, watch here for details

Today I started on my corrections. Much of the day was spent making sure all the LaTeX source files still worked, getting the version I submitted checked into CVS and tagged all nicely (which took quite a while, the file system was convinced the files were in CVS, and the CVS system was convinced they were not!). After that I had to get LaTeX working on the new Linux install I set up between submission and the viva. With that all done, and after the minor panic when my thesis shrunk to 11 pages for 5 mins, but its back again now. I then had another go at going though the corrections, and came up with 13 stories, each one a small card with a task to do. When I have done them all then I will have done all the corrections. One of them I might write out as two or more new stories as I cant’ see myself doing it in one day. So if I write that one out as two new stories I will have 14 stories, each of which should take about a day (roughly). That means that in theory I can do the corrections in 2 weeks. Allowing for how any project always takes longer than expected, I might just get it done within the 3 month limit :-)

Oh I did actually do some corrections today as well. I changed the structure of the top levels (chapters etc) to reflect the new structure, and started moving some of the larger blocks of text to their new locations. Tomorrow I will try and complete one of my stories, and get that one step closer to finishing.

Technorati Tags : rails, ruby, refactoring, phd, thesis, corrections

By |December 13th, 2005|Uncategorized|2 Comments

Dr Laurie

A week ago I sat the viva for my PhD. I passed! I’m now a Doctor.

I’m only just starting to find it sinking in. I spent a day or so convinced I was going to get an e-mail from the examiners saying they had changed their mind, then a few days thinking I wouldn’t be able to do the corrections in time. Of course these thoughts probably have more to do with being dragged out drinking by well meaning friends for several days in a row, and then coming down with a cold, which I’m finally recovering from.

A few days ago I got a copy of the corrections that they examiners want. Maybe I should stop for a moment end explain the exam procedure. After I submitted my thesis a copy got sent to both my examiners, who then had to read it (for which I apologize to them). They then came to Imperial for my viva. It lasted four hours, and the spent the time asking me lots of detailed questions about my thesis, which bits they agreed with, some bits were badly written and they couldn’t follow in the format it was in.

They have a number of options they have to choose from. Firstly they had the option of a straight pass, Secondly they could pass me with minor corrections, in which case I have 3 months to do the corrections they ask for. Then they could have specified 18 months of corrections, which I think would have counted as a fail, as I would have had to redo the submission process. There are some worse options available to them, like down-grade the degree from PhD to DPhil, but those are too horrible to consider.

After four hours they asked me to leave the room while they conferred between them what they thought. I spent a few minutes very restlessly. Then they called be back in and told me they were recommending pass with minor corrections. I remember thinking it was strange they use the word “recommending” but I guess that’s because there is a PhD committee who technically do the passing based on the examiners recommendation, or maybe it was just a phrase. Anyway they then outlined the changes they want.

So now I’m off to the bank to get the name on my credit cards changed :-)

Technorati Tags : , , ,

By |December 8th, 2005|Uncategorized|3 Comments