Nephew’s Verdict

January 18, 2010

I was really pleased with my 10 year-old nephew’s response to Oom, especially since I have had a little criticism that the book is too advanced for a ten year old. Could my 10 year old nephew be telling white fibs to make me feel better? It’s definitely possible. Here is his email, which I hope he won’t mind me publishing in full, so you can judge:


Marketing Experiment 5: Amazon Discussion

January 12, 2010

I thought starting a healthy discussion about aliens on Amazon might be a good experiment. See here:

dj webber says:

I don’t believe in UFOs but I do believe in aliens, so if I’m right why have we never seen them?

1) Aliens cannot physically travel to Earth. They must have invented a technology that allows them to explore here undetected, something a bit like Google Earth perhaps?
2) Aliens have a code which states they cannot reveal themselves to us. If you see aliens as just humans-in-the-future, you can understand why. If we had a time machine, it would be irresponsible to go back and interfere with our past wouldn’t it?

David, author of Oom

On every product page on Amazon that has been tagged, some relevant community discussions appear at the bottom of the page. That means that if I could get a good discussion going I would get an indirect link to my book page from all alien related products.
I found some of the replies amusing even if it led to zero book sales 🙂

Giveaways Complete

January 3, 2010

My giveaways are complete now. I gave 5 to librarything members and 10 to goodread members.

Hopefully they’ll all read and review it.

Thoughts about the Universe

January 1, 2010

This is a bit indulgent but I am supposed to be a sci-fi writer so here’s some scientific thinking:

There is a problem in modern physics that doesn’t seem to want to be solved. That is, the incompatibility between Relativity and Quantum Mechanics. String Theory and M-Theory are our best attempts to unify quantum mechanics and gravity (don’t ask me how), but there are a couple of things I don’t like about String Theory.

The idea String Theory hooks you with is elegant and easy to understand: that all sub-atomic particles are in fact all manifestations of the same tiny “strings”, but the strings vibrate at different frequencies giving the different particle properties that we see at the macro level. Then it gets trickier: the strings actually are only one dimensional (what the?) and they vibrate in eleven dimensional space (they’re taking the piss). What’s more, dimensions 5 to 11 are too small to see. They are “curled up” apparently – tinier than atoms (what do they take us for?).

Somehow I don’t think Einstein would have liked the theory because it is impossible to imagine. It is unsatisfactory because it is impossible to conceive of those 11 dimensions (although it is fascinating to try). It is similar to the problem I have with the big bang theory as it stands, which states that everything started from an insanely tiny point in space that was insanely dense that exploded in a Big Bang and has been inflating ever since. I mean you cannot imagine all space and time being compressed to a tiny point because you immediately start thinking about a little dot in, well, an empty space. But the empty space is not supposed to have existed before the Big Bang, because all space and time supposedly came from that little dot. My intuition tells me that if a theory cannot be properly imagined then it must be bollocks.

My dad, John, got me thinking when he described a theory he has about all this. I can’t do it justice here because I don’t understand all he was telling me, but some of his ideas were something like this: The matter in galaxies was not all created in the Big Bang, but is in fact generated continuously by the galaxy. At the centre of most galaxies is a super-massive black-hole, which according to hawkins, are not completely black – they radiate something or other. These black holes, in my dad’s theory, are actually made of antimatter and so repel the ordinary matter that it creates. The black hole will “weigh” roughly the same as the matter it creates, and so if you add all the matter and antimatter from a galaxy together (i.e. the stars and the super-massive black hole in its centre) you get nothing. Well, actually you will have a little more antimatter because the stars will have radiated heat and light and since E=mc squared the energy loss means some mass loss. So the repulsive force slightly outweighs the attractive pull of gravity (from all the stars) and so over millions of years you get the spirally shape of the typical galaxy. Of course, if you believe this theory then the entire big bang model is put into question. Fred Hoyle’s steady-state model becomes more attractive.

Anyway, I think this idea is very elegant, that galaxies are kind of fundamental and self-sufficient. John Webber has an explanation of what is going on at the quantum level too. Again, these words are only an interpretation of what he told me. His idea is a bit similar to string theory in that the most fundamental “thing” is something that has a variable property to evoke the different particles of matter that we observe in experiment, electrons, protons and so on. But he evokes a model reminiscent of the old “ether”, which is interesting. Now, the ether was proven not to exist a long time ago, but this idea is not the ether, only something similar. I would like to call it the “mesh” instead of the ether. The mesh, like the old ether, is something that exists everywhere, and everything that exists exists in the Mesh. The mesh is a three dimensional grid of points, and each point has a value. It could be modelled in a computer as a 3d array of integers, where empty space is a 3d array where all the values are zero. The 3 dimensions of space and 1 dimension of time that we experience is not the same as the Mesh but are isomorphic with it, just like a running computer program is not the same as the code, but is isomorphic to it. A running computer program is a manifestation of the code running on the machine. Our reality is to the Mesh as a running computer program is to the code. If you alter a line of code in a program you might change something in the running program, like the colour of some textual label on the gui or even cause a bug. If you alter a value in the mesh you could cause a particle to change into another particle in reality, or perhaps trigger some nuclear reaction.

How does the mesh help to explain anything? Well for one, perhaps it gives some idea as to why the speed of light might be constant, because perhaps the speed of light is isomorphic to the speed with which value changes ripple through the mesh. In Einstein’s theory of general relativity (which of course I am not questioning because it has been proven by experiment) the speed of light is constant but gravity and/or relative velocity alter one’s perception of the passage of time and the perception of space. In other words space and time is “curved” by gravity. I’ve never been happy with this description. It curves with respect to what? If we have the Mesh, we can say that space and time curves with respect to the Mesh.

The Mesh might also begin to explain why we cannot reconcile quantum mechanics and relativity. The two theories accurately predict measurements we make with experiments but they seem to contradict one another. For example relativity allows the singularity (the point of infinite mass from the which our universe has supposedly sprung from) but this is an absurdity in quantum mechanics. I wonder if the two theories cannot be reconciled because in fact they are describing different things. Maybe when we study the very very small – matter at the atomic scale, we are actually “seeing” the Mesh. Intuition tells us that our everyday spacial dimensions, as measured by say, centimetres, can always be made smaller. You can always have 0.1 cm or 0.01 cm or 0.001 cm. When we study very tiny objects we have always assumed that the object can actually be measured using our everyday measurements. But in fact they can’t because when we study the very tiny we’re actually looking at the Mesh.

This begs the question: well which one is reality then?, the Mesh or the everyday world? The answer is that it is the Mesh which is the reality. Quantum mechanics models reality, whereas relativity only models what is projected into our human worlds by the Mesh. Or to put it another way Niels Bohr was looking at the code whilst Einstein was looking at the running program.

Knowledge Jam

December 30, 2009

This next Novello feature will blow your brains out!

First, some background. One of Novello’s main concepts is to steal ideas from the IDEs that computer programmers use. I use IntelliJ, which has got lots of little features to make you more productive. Most IDEs try to make it easy for the user to do everything they need to do with the keyboard alone. The learning curve is steeper than with a mouse, but once you’ve learnt a few keyboard shortcuts you start to feel the power sparking in your fingertips.

When you’re writing code with Intellij, the first magic keyboard spell you learn is control-space. Control space will do different things depending on where you are in your code. So I have made control-space the all powerful command in Novello. When you’re typing away, spewing forth your literary masterpiece, control-space will always be there to help you. It is also there if you are reading through someone else’s work in Novello.

Anyway, control space brings up a (as yet small) menu of commands for you to access. The one I’ve just added is a Wikipedia integration. Here’s how it works:

  1. Either select the phrase you want to look up, or do nothing if you want to look up the word where the cursor is located and do control-space:
  2. Choose “Lookup: (your word)”:
  3. You are then presented with snippets from all Wikipedia articles that are closely related to your word:
    You can then either hit “escape” to return to the editor or select one of the snippets to open it in your web browser.

If you’re interested, I used Wikipedia’s webservice API documented here.

While I was looking for this webservice (which was difficult coz when I googled for “wikipedia webservice api” I just got hits about webservices and apis in wikipedia itself) I also tried to find a Google webservice that I could use. Interestingly, Google has recently removed their webservice claiming that their new AJAX API is much better and easier to use. This is bullshit. The only reason they have removed their webservice is because then it would be possible for computer programs like Novello to do google searches without dishing up the ads to go with it. Google is indeed becoming evil.

More on Collaborative Stories

December 28, 2009

Why collab stories? Well one of the features of Novello is the SVN integration, which effectively means I get a backend for free. Subversion is normally used to allow developers to work on the same code. So I thought maybe writers could use it to work on the same texts. Code and text are pretty similar you know. Actually code is just another kind of text.

Collab novels and stories have been tried (and have failed) before, so I’m not jumping around thinking I’ve invented the next big thing, but it is fun to play around with the idea. Even if collab stories don’t work, there is still a lot of value in having your document stored in a safe location and allowing others to edit it. Google docs offer this but I think I could do better than them, because using SVN means that users don’t have to store their life’s work in Google’s cloud, they can decide where to put it.

Perhaps it’s more realistic to say that I can’t really beat Google, but can offer a niche tool especially geared for writers, whereas Google has to try and please all the people all the time.

Collaborative Stories With Novello

December 28, 2009

This is an attempt at trying a collaborative story with novello.

To try this:

1) Get a username and password at sourceforge. This is where I am hosting the collaborative workspace for now. You can trust them, they host some of the world’s biggest and best open source projects. Their servers are a bit slow though.
2) Launch novello.

3) For SVN Location choose:

4) For Location choose somewhere where Novello can save its files on your harddisk. I use C:\Documents and Settings\davidw\novello on my windows laptop

5) Enter your username and password that you got in step 1

6) Press ok and wait (for some time) for Novello to download the workspace from sourceforge. Then, have a play around.

Leave comments here or mail me direct to ask for help and give feedback


December 22, 2009

I found someone out in cyberspace who reads and reviews books called Cassie Snow. Check it out here. I paid her $4 to read it! However I think it was well worth it because I finally got someone I don’t know personally to read my book. She also posted a link to my book on her blog and added a review to

Having said that I still think she was almost too kind, perhaps because I was the first “customer” for her book reading service!

Novello – Thesaurus

December 18, 2009

This is nowhere near finished yet, but I have added a thesaurus feature to novello. It is fun to play with. Just start Novello and then, when the cursor is in a word press control-T and you get a popup of suggested words:

MS Word also has a thesaurus, but in Novello the user is forced to access the thesaurus via the “control T” key combo. Therefore users learn to work faster!

The thesaurus service is currently pointing at a webservice provided by . We get 10,000 word lookups per day for free.

The code is really simple to do the look up. Line 14 downloads the result from bighugelabs and the rest of the code parses the result. The m_cache variable stores results for words we’ve already looked up, therefore we don’t use up any of our 10,000 requests unnecessarily!

public class ThesaurusService
    private static final String URL = "";

    private Map<String, List<String>> m_cache = new HashMap<String, List<String>>();

    public List<String> suggest(String word)
        List<String> options = m_cache.get(word);
        if (options == null)
            options = new ArrayList<String>();
            m_cache.put(word, options);
            String result = FileUtils.downloadToString(String.format(URL, word));
            if (result!=null)
                String[] lines = result.split("\n");
                for (String line : lines)
                    int i = line.lastIndexOf('|');
                    if (i != -1)
                        String option = line.substring(i);
        return options;


December 11, 2009

I just planted another seed and started a Ning social network:

Join now and help shape it! Not sure what it will be yet. Maybe it will just be a chatroom for the family, maybe we could become a group of science enthusiasts discussing how the technology in the book might be made possible for real in the future.

It was childishly simple to set up a Ning social network. Ning was recommended to me by my computer savvy mum a while ago. Ning looks VERY much like facebook with a different CSS stylesheet, but the difference is you can have your own little bubble for you and your friends. I guess Ning hasn’t really taken off like facebook, precisely because its networks are closed. But it’s great software!