Category: Sci/Tech

Spring Cleaning (by )

I've spent more time building infrastructure than using it, I suspect. I love building infrastructure, so I've often built it because I can; however, with everything that's happened in the past six years, I've ended up struggling to maintain the infrastructure I already had. So I've had to change tack and become much more pragmatic about my infrastructure astronautics, such as getting rid of my limited company and migrating from a tightly-bound cluster to a single box for my hosting platform.

This has given me some time to tidy up and simplify the infrastructure I want to keep.

So this weekend, I got around to rebuilding the Kitten Technologies web site. This is where I publish my open-source creations; they were all version-controlled in Subversion, and I had a PHP site with some static pages, then a dynamically generated project browser that would pull out files called VERSION.txt and README.txt from the SVN repositories to build a description page, offered up tarballs of all released versions for downloading, and linked to an SVN web interface for browsing the repo. I wanted to get around to implementing ticket tracking at some point so folks could submit tickets.

However, for a while I've ached to migrate to Fossil for version control, mainly because it has integral ticket tracking and a wiki for each project, along with integral repository browsing; it provides a fully-featured project Web site, and it's a distributed VCS to boot, which is also useful. However, I wanted it to still all look like a nice integrated site for all my projects. So what I've done is to write a Fossil skin stylesheet that has my new look in it, then to build the wrapper site using the same CSS (eg, by using Fossil's names for div classes and overall page structure), based on Hyde; the CSS is actually generated from an scss master file that Hyde processes to generate the CSS as part of the static site, which the Fossil repos just refer to. My deployment script rolls the skin out to all of my repositories whenever it's updated, so they are all kept magically in sync. It still has a few rough edges (I want to improve the navigation with a consistent site-wide nav bar above the Fossil menu bar, that has the current project highlighted; this will be slightly more complex as I'll need to make the script modify the skin for each project to highlight the correct one) and I am still incapable of making non-ugly CSS, but it means that Kitten Technologies is now live on Fossil. I've a lot of projects still to migrate, but after I've done the "fiddly" ones that need some level of manual tweaking, I hope to produce a script to automate handling all the rest.

Secondly, I've been tidying up the home fileserver. It was down for some time for various reasons, which means that I've ended up with a new archive of photos, music, and PDFs forming on my laptop. I pulled our music collection out of the backups onto my laptop, too, which meant that I then had a diverging fork of that (as there was some new music on the file server since the last backup, which I later retrieved from the disks), so the re-unification of all those tens of gigabytes of files has been fiddly. But, it's now largely done, which is great; and there's now precisely one master copy of everything, and the home wiki is back up to date and pruned of outdated TODO items from several years ago.

However, this has increased my desire to implement Ugarit's archival mode. Rather than manually curating directory structures to organise my stuff (and the pain of merging changes to them), I'd love to just be able to pour files into a Ugarit library and tag them with metadata (maybe some time after the original import, if I'm in a hurry at the time), then create virtual filesystem views on that which reflect things like "All my music, organised by artist/album/title" or "All my photos, organised by who is in them, year, then event title". Combine that with the proposed Ugarit replication backend, and it will even manage replicas on my laptop as well as the home fileserver, all kept seamlessly in sync; having a home fileserver was easy when I worked from home on a desktop machine so I could just permanently mount the filesystem from the server, but it's a bit trickier with a modern laptop-based lifestyle.

Also, as the archive is already backed up into Ugarit, migrating it into a Ugarit "library" will be fast and efficient - Ugarit will automatically recognise that it already has the content of the files, and just need to upload the metadata!

I think with that and my workshop sorted out, I'm done with spring cleaning - my urgent tasks are now sorting out paperwork for my Cub pack, fixing an offline external disk on my fileserver, getting Ethernet to the workshop so I can do useful computer work in there (and move the home fileserver out of poking range of the baby, who loves to turn it off), resurrecting my salmonella install, hacking Ugarit, ring casting, and getting the foundry working so I can cast bronze, and wearable computer work! Not to mention endless minor DIY things in the house - we've got pictures to put up, dents in the plasterboard walls to fill, a flu to install for the fire, walls to repaint, ...

Not The Oxford Literary Festival 2012 (by )

Poetikness of Me at The Not The Oxford Literary Festival

On March 30th I headed to Oxford to read some of my up coming collection Political Converse. Earlier that day I died my hair what was supposed to be purple - it came out not but that didn't matter. I had a weekend then week then month of readings and workshops, it was time to get rid of the four inch roots plus I was nervous and this sort of thing helps me cope and actually go and perform.

Then there was the issue that due to scare mongering there was no fuel to be had so we had which set up a panic but was quickly solved and we were on our way.

We arrived in plenty of time and then spent an hour trying to find somewhere to park - we didn't use the park and ride as our experience with it have not been good and as I'm still struggling with walking we need to be somewhere relatively near the event.

But we arrived in time to catch the end of an interesting session on self publishing and small indie presses. Including a talk from Dennis Hamley who I remembered from my school days! Though this didn't stop me saying that if he ever met my dad and drink was involved - they would never stop discussing the war (as in WWII).

We then had some fantastic music.

Funky Music at Not The Oxford Literary Festival Cute guy playing the guitar at Not The Oxford Literary Festival

And no I don't remember anyones names 🙁 And that goes for the poets too!

UnCut Dude

This guy had been involved in the UnCut protests and got himself arrested for being in a shop and reading poetry which is menacing behaviour - if I understood it correctly.

War Veteran reading about the homeless etc...

This guy is an ex-solider and has PTSD - his poetry was powerful and I also found out that Westminster is trying to make it illegal to help the homeless to get rid of the problem before the Olympics which makes me sick. I shall be looking into that one a bit more - the guy is involved with various charities.

Dan Holloway Reading at Not The Oxford Literary Festival 2012

Dan Holloway the organiser and runner of Eight Cuts Gallery.

I'd bought a posse:

Alaric being forced to listen to poetry Nim being forced to listen to poetry

And then sang my Shit Creek I was very nervous and struggled to get my voice out - Alaric said it was just quiet at the beginning but I still did it 🙂 I then read my poetry.

Me preparing to read at the Albion Beatnik Me Singing at the Albion Beatnik Poetikness of Me at The Not The Oxford Literary Festival

More Poets:

Occupy Poet Bird Eating Your Spin Poet Prison Underware Poet

The whole thing was run in the loveliest book shop in the world (that I have found so far). The Albion Beatnik in Oxford - it is almost what me and Alaric wanted to ran our Salaric Emporium (books, gifts, tea, think), back in my uni days.

Word Roses Visual Poetry VisPo as Ceiling Art Tea! At the Albion Beatnik

The night ended on a high with much laughter and deep thought. People left to put poetry to the public - stringing it on fences and what nots. We left to grab a veggie kebab and drive back to Gloucestershire.

Poetry Out and About

p.s. my set was similar but not the same as I read at the Art Tournament No Hoax on the Sunday which Alaric videoed.

Sound quality is naff sorry about that!

The Five Commandments of Sarah (by )

My five commandments (in response to the author Anne Rice's question on Facebook)

  1. Love all including yourself
  2. cause the least possible harm
  3. think for yourself
  4. listen to others but make up your own mind
  5. Do not be wasteful

What I found interesting was that many people just rehashed the biblical code with no thought as to the base concepts. I do not like the 10 commandments mainly due to them reguarding me as possession of my husband/family. But there was some under laying concepts there thickly overlain by the culture of the time. My 5 have no divine providence they are just the result of me thinking how I would like to live my life and how I think others should too.

The fifth is really part of the second in the same way that making up your own mind is thinking for yourself. Taking responsibility for your own actions I could have slipped in there but erroniously felt it was part of the thinking for yourself - though in hindsight it would make a good fifth.

Bringing Science-Art to All (by )

Science-Art - sponsor me/give me crowd funding have a little read to see what I am upto and what I need money for!

Ok so as many of you know I did a piece of 3D textural science-art for the exhibition In Braille at Centre Arts last year. I have since been asked to do a second piece - but more interactive so I have designed a sound/sensory cave to show through several media the order and structure of nature.

As you can image it contains proper electronics this time (not just the ipod and speakers) which are going to cost me quiet a bit so I am looking for sponsorship in exchange for things like downloads, art prints and the like. The more you sponsor the bigger the gifts.

Also I have been talking to a local gallery about running a Science-Art Exhibition next year (this is a response to my post about National Science and Engineering Week which very few people had actually heard about!).

Now there are several reasons I feel doing this is important and excess funding over and above component costs will go to fund the exhibition and maybe bigger and more far reaching things in future.

The first is that art is art and stimulating and helps creative thought and then there is science-art which helps communicate the glory and wonder of science - showing people it is not a boring and dead subject. Many people feel science and technology is not approachable so I want to make it approachable - less scary but showing concepts using the medium of art.

It is part of communicating science to the general population for - I am not saying the art is science - just a way of showing concepts.

Secondly - if I am doing this - I want to really comunicate it too everybody reguardless so I am very happy to initially be working on a piece with accessiblity in mind.

Thirdly - Science-Art is not really know in the UK, in other countries there are degrees you can take in science illustration and the like. If this art and science combo had been avalible to me I would have probably gone for that. I did look at Art, Archeology and Art History but was told to reapply for a more scientific degree :/

Art as a form of communication is very important especially for engaging the next generation - that was why even during my degree I was writing kids stories to show concepts with pictures and stories. To show investigation and thinking!

So part of this is to get Science-Art out there to inspire the next generation. Anyway there is a video and things and the list of gifts so go look 🙂

Server upgrade (by )

I host a heap of web sites (including this blog), email domains, source control repositories, mailing lists, and various other things (such as one of the official Chicken Scheme egg mirrors, a Jabber server, and an IRC server with bots). I do this with a combination of dedicated server hardware which I hire space, power, and connectivity for in London for the primary stuff, and a virtual private server in California for backup services and rapid DNS lookups from the USA.

This is a costly hobby, but it gives us a platform upon which to do interesting things, and lets me help other people out with free hosting; as I need to put in the time and money to run the infrastructure anyway, the spare capacity on it is essentially free.

The most demanding part is server upgrades. Periodically, I buy a new physical server, install it with all the software it will need, put it alongside the current hardware in the data centre, and transfer the data and settings across and configure everything that needs configuring on the new server until it works just like the old, then switch them over. I do this when the current hardware is getting full or overloaded or unreliable or just plain out of date, as I don't trust in-place updates of the core system software - it's too easy to end up with NOTHING working.

However, this has been overdue for several years. I bought the new hardware (this time, with a contribution from my biggest user of disk space!) nearly two years ago, and installed it in the rack nearly a year ago, but only yesterday did I get the chance to spend a day sitting next to it in London coaxing it into readiness then doing the final switch over...

It didn't go entirely to plan, of course. I'd previously written a script that used rsync to copy all the user data over; the first time I ran it it copied everything, then subsequent runs only had to copy the differences. The idea was that I would have less down time while I copied the data from the old server to the new (which has to happen with both servers offline, so that nothing can change during the copying process) if there was only the final changes to copy. However, I realised that the accounts of my biggest user of disk space weren't covered by my script as they had been slightly hacked to accomodate their growth.

And the whole process of moving the software configuration was made more complex by the fact that I had previously been running two servers in a kind of symbiotic cluster, in order to meet the load with the hardware of the time. Nowadays 64-bit multi-core behemoths with gigabytes of RAM are cheaply available and well supported by NetBSD, so everything can be done on one box. This is a much simpler setup, but it means that I had to undo the complexity of the previous setup when transferring everything across!

I ran into a few other unexpected problems, too; I noticed that the clock on the new server was terribly wrong, despite it running NTP. I did a manual ntpdate, and then just in case, another to check that it was now only a few millisecond out - but it was already half a second out again! It quickly became apparent that the clock was ticking about one second in every two seconds of real time...

Looking in the output of sysctl -a, it became apparent that I had a choice of time counter sources: it was using the TSC, but I also had an HPET, a clock interrupt, an APIC clock, and the good old 8254; my machine was brimming with alternate clocks. I tried switching to the HPET with sysctl -w kern.timecounter.hardware=hpet0 and suddenly time was running as expected. I popped that in /etc/sysctl.conf so it would come back on reboots, resynched the clocks, and everything's been fine since. I can only presume that the kernel was reading the CPU clock speed wrong, or some kind of dynamic clock scaling is happening, so that the (CPU-based) TSC wasn't having its ticks converted to seconds properly.

I had a big setback with the email setup, as NetBSD comes with Postfix as part of the base system but I wanted a more recent version from packages, but I ended up getting tangled with what version was being run in various situations and what configuration file was being used, which took a while to sort out. And then of course there's Mailman, the mailing list server software, which is complicated by needing write access to its filesystem-based state when run from the mail system (for incoming mail) or the Web server (for the web interface), so uses lots of setgid binaries and group-writable files and the like, and so always takes a lot of fiddling to get working properly.

But... I did it. And so, having completed my tax returns earlier this year (which is what freed up the time to prepare for and do this mission), I have now gotten rid of all the major obligations that have been hanging over me for the past few years.

I still need to visit London again - I've left the old servers running alongside the new in case I missed any files that need to be transferred; I'll give people a chance to check I've not missed any of their stuff before remotely powering them down (to save electricity, which I pay for) and coming in to take them (to free up the space). But that's relatively easy!

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales