Zola

In my last post, I said that I have moved to Zola from Wordpress. In this post, I thought I would share a few reflections about how that went. I had decided up front that I was going to move to a static site generator, because of the flexibility that this gives me in terms of the site hosting. I quite wanted something fast because, well, fast is better than slow. I looked a Hugo which is a main contender in this market. It looks nice, but I found the documentation unclear. In the end, I went for Zola because the documentation was pretty clean. I also liked it because it is implemented in Rust and I know how to code that and this is often useful with any tool that you are using. My main worry was that Zola has an "all in one binary" ethos; I can see why this is important, but it a…

Rebooting and Restarting

Well, this is my first post after quite a few years. Well, there has been a pandemic in between and like most of us it has had a significant impact. There has not been much time for anything other than day-to-day activity. However, I have had a desire to get back to posting for quite a while. In the past I have found the blog useful when writing papers, because I have an historical record of the work that I have; that's perhaps more important these days as the gaps between my research can be quite variable. I also fancied revisting my earlier tendency to write some crazy ideas up. One of the main blockers has been technological. The very first version of this blog used an Emacs mode, muse, to generate static files. After that, I moved over to Wordpress and even added to it extensively, so …

Rust 2019

I've been thinking of writing a post about my experiences with Rust for a while, but haven't found the time. The call for Rust#2019 posts seems like an good opportune moment to contribute. My rust experience is extremely limited. I've written a single library in Rust, called Horned-OWL, [@url:github.com/phillord/horned-owl] for manipulating OWL [@url:www.w3.org/TR/owl2-manchester-syntax/] I started it in August 2017 and it took over a year to full implement the spec complete with parser and renderer; a length of time that is more reflective of the sporadic availability of time that I have to work on these things rather than anything else. And the experience has been positive. There is already a good and complete library for manipulating OWL called the OWL API [@url:github.com/owlcs/owlapi]…

Configuring the Marble Mouse for Ubuntu 18.04

Another day, another Ubuntu upgrade, another broken Marble Mouse. Have I written this before? Well, yes, several times before. With the release of 17.10, everything broke because Wayland was bought into replace X. With 18.04, wayland is out again --- something which I am pretty glad about, because in my experience it was pretty unstable, with the desktop crashing out to login fairly often. The 17.10 solution appears to have been: gsettings set org.gnome.desktop.peripherals.trackball scroll-wheel-emulation-button 8 This fails again on 18.04. Fortunately, the solution is quite simple which is to just return to the libinput configuration that we had before. xinput --set-prop "Logitech USB Trackball" "libinput Scroll Method Enabled" 0 0 1 xinput --set-prop "Logitech U…

Configuring the Marble Mouse for Ubuntu 17.10

Oh dear, if it seems that we have been here before, it's because we have. Another Ubuntu upgrade, another broken Marble Mouse. Took my a while to work out this one, but the answer is hidden in a bug report for RedHat. Actually, if I had read my last blog post I might have worked it out also. What happens is Wayland, the new, er well what ever it is, for 17.10 looks at the marble mouse, says "it has no scroll wheel", so disabled the input method. Which is unfortunate because then the emulation doesn't work. The solution is to turn it on again: xinput --set-prop "Logitech USB Trackball" "libinput Scroll Method Enabled" 0 0 1 xinput --set-prop "Logitech USB Trackball" "libinput Button Scrolling Button" 8 Dearie me. Update Worked. Was happy. N…

User and Developer

Abstract [kblog-inc server="arxiv"]1709.08982[/kblog-inc] Plain English Summary Ontologies are a mechanism for organising data, so that it can be generated, searched and retrieved accurately. They do this by building a computational model of an area of knowledge or domain. But, building ontologies is a challenge for a number of reasons. One of the main problems is that building an ontology requires two skills sets: the use and manipulation of a complex formalism, which tends to be the job of an ontologist; and, the deep understanding of the area that it being modelled, which is the job of a domain specialist. It is fairly rare to find a person who understands both areas; so people have to collaborate. In this paper, we describe new mechanism to enable this collaboration; rather t…

Is a Sperm a Person?

A chicken is an eggs way of making another egg One of the joys of Ontology building is that you can end up in some fairly obscure arguments; the one I got in today is whether a sperm is a human being. Of course, this is silly, but mostly because of the limitation of our language. I would like to describe here why a sperm is a human individual and why it is important. One of the long running discussions in the ontology community is how we define function. With respect to biological organisms and biological function this is particularly challenging; in fact, biology continually raises questions and exceptions which is part of the fun. I added my contribution to definitions of function several years ago [@arxiv:1309.5984] built largely around evolution and, more importantly, homology. One o…

On Patterns and Reuse

Abstract [kblog-inc server="arxiv"]1705.08730[/kblog-inc] Plain English Summary Bioinformaticians store large amounts of data about proteins in their databases which we call annotation. This annotation is often repetitive; this happens a database might store information about proteins from different organisms and these organisms have very similar proteins. Additionally, there are many databases which store different but related information and these often have repetitive information. We have previously look at this repetitiveness within one database, and shown that it can lead to problems where one copy will be updated but another will not. We can detect this by looking for certain patterns of reuse. In this paper, we explictly study the repetition between databases; in some case…

Configuring the Marble Mouse for Ubuntu 17.04

Years ago, after problems with my wrist, I moved to using a trackball when ever I can. Good move it was too, but I am left with one pain. I use a Logitech Marble Mouse and it has no scroll wheel; this is sad because I have loved scroll wheels since they came out. So, instead, I use scroll wheel emulation --- you hold down a button and trackball moves are interpreted as scroll events. Now, this leaves me with one remaining pain. For no readily apparent reason, the method for configuring it has moved from one place to another, normally every couple of releases. At one point, it was in xorg.con, then in HAL, for a joyful period with the gpointer-settings GUI which then broke and disappeared, and I ended up with xinput run from a shell script. Having just upgrading to Ubuntu 17.04 guess what? …

Roy Harper at Bridgewater Hall

I've been listening to Roy's music for years: originally, I read an article in a guitar magazine, and then heard down the grapevine about his live peformance, and I thought it sounded fun. This all happened when I was about to go to university. It was this collection of circumstances that has meant that Roy had a formative place in my musical upbringing. I bought a copy of his album Once, and shortly after saw him play live. Before this, my life music had been limited to blues in the local pubs; Roy was the first "real" gig that I saw live. After this, Roy along with John Martyn [@url:www.russet.org.uk/blog/667] (who was responsible for the second real gig I went to), became a regular. I would see him play every year or two, I bought a lot of his back catalogue and listened to it…