Living in Groups (by )

Until relatively recently in human history, people tended to live in small but relatively intimate groups, sharing a lot of domestic arrangements; a party would go out hunting, another went out gathering, others looked after the children, others cooked the food, and so on.

This was, quite simply, more efficient. Economies of scale meant that a small team could cook for a large group in less total person-hours than each person cooking for themselves - especially when you compare the time consumed making and maintaining cooking equipment and the like.

These days, the same economies of scale have had the opposite effect - food is now produced in factories, and easy-to-cook ingredients and ready meals are cheaply available; this, combined with all sorts of other socio-economic factors, has lead to it now being quite practical to live entirely alone, spending your days working then coming home to a small meal you cook for yourself in minutes, cleaning your dishes and clothes in a machine, cleaning your floors with a machine, and so on.

And, thus, I suspect the loneliness of bachelor living is probably a modern phenomenon. Without ready meals and domestic appliances, moving away from home would be an unattractive prospect until you had a partner to team up with in order to form a breadwinning/homemaking duo (and the fact that sexist role models enforced a certain split of duties is, I think, entirely orthogonal to this issue) - and when you team up with a partner is precisely when you really start to want to be away from your parents...

Some of the best living arrangements I've had have been as a student, when the also-interesting economics of the cost of a place to live in London would force us to share houses (and sometimes rooms). Although we rarely actually cooked for each other, living in the same house as several other people was psychologically comforting for me. I really don't function well at all when living on my own; I've never officially done it, but in situations where all my housemates happen to be away for a few days, I've definitely started to slide into depression.

I currently live with my wife and daughter, so I'm basically OK, but even then, we still wish there were other similar couples we could share some resources with; if our house was larger we'd have lodgers. Personally I think my ideal would be having my own bedroom, office, bathroom, and kitchen (although I'd often cook for others), but sharing a big living room and garden, and being in the same physical building. There's increased security in a house that's rarely totally empty, and efficiencies in sharing resources (such a house would take up much less space than several individual ones, and consume much less energy), and increased convenience (you'd be quite likely to be able to find somebody to help you with something). And you'd have good times together.

This was a nice thing about what I did last weekend, which was to go on camp with my cub scouts; you might think that, with my legendarily complicated and busy life, the last thing I need is to donate my time to a voluntary organisation. But I work solving complex mental tasks (mainly on my own), face the difficult challenges of supporting my family under trying circumstances (shared with my wife, but we still feel quite 'alone' as a small family without much support from our extended family); after weeks of that, a weekend of hard work solving relatively simple problems (how to wash the puddle of sick away from outside the tent full of sleeping children, when it's raining heavily and the sick is slowly being washed downhill towards the tent? Answer: get digging equipment, dig a trench in the little gap between the tent and the puddle, scrape it all in there with the spade then wash it in with water, then close the trench) as part of a team is a delightfully refreshing change. Much more refreshing than a holiday spent just doing nothing; I'd be fretting too much about all the jobs I should be doing at home. Volunteering means I'm doing something somebody needs me to do, but working with others so it's a fun team activity rather than an ordeal.

But I wonder how many people would be happier living in 'communes'. A friend of mine is a Hare Krishna; I'm indifferent to the religion, but their culture is excellent - and part of it seems to be a high acceptance of living in groups sharing resources, which I think is very healthy.

Perhaps there's an opening for a property developer to set up some buildings with little apartments that then share living areas. Obviously they couldn't just be sold as independent units; perhaps they'd need to be owned by a limited company of some kind and the mortgage repayments, rent, or other expenses paid by all the residents paying a share, since the residents would need to be able to vet and veto potential new housemates, as rifts occurring in such a community would be fatal.

In the meantime, I wish our house had room for lodgers 😉

Version Control and Leadership (by )

For many years now, most of my home directory has been under version control of one form or another. I have a laptop, a desktop machine, and a server I ssh to; keeping stuff in synch between three working environments is very valuable, as is having efficient offsite backups and history.

I started my version control career, like most folks, with CVS - since for a long time CVS was the only open-source version control system in widespread usage.

Then along came Subversion, which was clearly Much Nicer, and I quickly switched my personal version control system over to using it. As a freelance software engineer I use it commercially, and now run a virtualised trac/svn hosting system that lets me easily add new projects, which many projects I'm involved with are hosted on. And my open source projects run on a similar platform.

However, more recently, there's been an explosion of interest in the distributed version control model, with lots of products appearing, such as Darcs, Mercurial, Monotone and Git.

I've been quite interested in the distributed model; sure, Subversion is working well for me, but the distributed model interests me because it's more general. You can set up a central repository and push all your changes to it so it's the central synch point, like a Subversion repository, but you don't have to; you can synch changes between arbitrary copies of your stuff without having to go through a central point. And given two approaches, one of which has a superset of the functionality of the other, I'm naturally drawn towards the superset, even if I only need the features of the subset - because I can't predict what my future needs will be.

Also, these distributed version control systems seemed to have better branch merging than Subversion, which until recently required manual tracking of which changes had been merged into a branch from other branches. And being able to do 'local commits' to a local repository, while working offline on my laptop on a train, then commit them to the server as a batch would be great. Subversion really can't do very much without a network connection to its server at the moment.

Now, I was starting to gravitate towards Mercurial, since it's written in Python and seems quite widely available. But then I saw the following talk by Linus Torvalds on git (which he originally wrote):

Two things struck me.

  1. I do like the architecture of git. Subversion stores history as a set of deltas; each version the files have been through are encoded in terms of their differences from the next version, while git just stores multiple as-is snapshots of the state in a content-addressable file system not unlike Venti, which automatically replaces multiple copies of identical data with references to a single copy of it. So it can pull out any version of the files very quickly, and doesn't really have to worry too much about how versions are related; Subversion stores everything as explicit chains of diffs and has to walk those chains to get anywhere. Git makes a note of which revision led to which revision(s) - it can be more than one if there was a branch, and more than one revision can lead to the same revision if there was a merge - but that's just used for working out the common ancestor of two arbitrary revisions in order to merge them; git can efficiently and reliably merge arbitrary points in arbitrary branches by skipping along the links to find the nearest common ancestor, generating diffs from that to the source of the merge, then applying those diffs to the target of the merge. There's none of the complex stuff that Subversion has to do with tracking which changes have been applied and all that. NOTE: I'm talking about "Subversion vs. Git" here since those are the examples of each model I know much about - I'm really comparing the models, not the precise products, here.
  2. Linus Torvalds makes an act of calling people who disagree with him "stupid and ugly", and making somewhat grand claims such as stating that centralised version control just can't work, and generally acting as though he's smarter than everyone else. Now, he does that in a tongue in cheek way; I get the impression he's not really a git (even though he claims he named git after himself), although I couldn't be sure unless I met him. Indeed, I used to think he was a bit of a git from reading things he'd said, but seeing him in action on video for the first time made me realise that he seems to be joking after all. BUT, I think this may be part of why he has become famous and well-respected in some circles. There's a few quite cocky people in the software world who push their ideas with arrogance rather than humility, steamrolling their intellectual opponents with insults; Richard Stallman comes to mind as another. Now, people who do this but are notably and demonstrably wrong get 'outed' as a git and lose a lot of respect; but if you're generally right and do this, it seems to lead to you having vehement followers who believe what you say quite uncritically. Which is interesting.

But I still can't choose. I see a lot of git vs. svn vs. hg vs. monotone vs. darcs - most of them complaining about problems with the loser that have been fixed in more recent versions. They're all rapidly moving targets! It looks like the only way to actually choose one is to spend a few months working on a major project with recent versions of each... in parallel. NOT GOING TO HAPPEN!

I dunno. I'm kinda leaning towards moving to git, but I'm worried that this might just be Linus Torvalds' reality distortion field pulling me in. Next I'll be using Linux if I'm not careful...

Workshop shelf (by )

As part of my tireless service to the village of Cranham, I'm now a member of the Cranham Village Hall Committee (and so a trustee of a second charity!)

This has its perks. In particular, when they renovated the hall, a big thick solid shelf was torn out, and I saved it from the skip to put it in my workshop. It's a bit battered, so not very pretty, but as a workshop shelf it'll only get more scarred, so that's fine.

After some trials and tribulations, I managed to mount it on the wall:

My workshop shelf

Mainly, I had to cut gaps in the brackets to let them fit over the black power conduit (while maintaining their structural integrity), despite the conduit being level with the wall but not level with the shelf, as the line of the blockwork in the wall is not level with respect to gravity. No surprise when you consider that the building had shifted somewhat since it was built.

So, for the record, despite the shelf looking quite wonky, it's level:

The shelf is level. It's the wall that's wonky.

I also had the choice of 75mm or 50mm screws. 50mm screws would have only protruded about a centimetre into the wall, which would not bode well, while the 75mm screws had a good centimetre spare, so I cut little blocks of wood and ran 75mm screws through them, then through the brackets, then into the wall. There's something really satisfying about screwing a long, thick (6mm), screw tightly into a fresh, virgin, wall plug.

The 50mm screws were perfect for screwing the horizontals of the brackets to the undersides of the shelf, mind.

Finally, I mounted a strip of angle iron under the shelf, for clipping my set of clamps to:

Under my shelf is a bit of angle iron to clip things to

Much nicer than having them languishing in a bag...

Some brief proposals for how to make the OpenPGP encryption standard more widely used (by )

The OpenPGP standard isn't perfect, but it's good enough - and it's sufficiently widespread (in geek circles) already that it might be possible to push it into widespread usage.

Here are some ideas on things we could do to push it beyond the realm of geeks emailling each other to become a more pervasive security infrastructure.

Read more »

Learning basic manual metal arc (stick) welding and MIG welding (by )

A long time ago now, when this blog was in its infancy, I wrote about how I had picked up a cheap manual metal arc welding set from B&Q since I needed to make some tools that would survive within the environment of the furnace. My existing metal-joining technology, silver soldering (aka brazing) would produce joints that would melt like butter at 600 degrees Celsius or so, which is a far cry from the thousand-degree environments I play with...

But as I mentioned slightly earlier, arc welding is easy to get wrong. I learnt from a book, so had only written descriptions to go by, and I was hard put to know what I was doing wrong that made my welds all messy.

Well, today I attended the Insight into Welding course at the Rural Skills Centre, which is near Cirencester, a short drive away from where I live. I had been looking for a welding course for a while - most of the courses I saw advertised at local colleges were formal affairs that took several days and ended up with you taking some kind of assessment, and ending up with an NVQ. All rather formal and constrained.

The Rural Skills Centre, however, does lovely little one-day or several-evening informal courses in all sorts of useful workshop skills. My welding course began with the instructor asking what the seven participant's past experience was, and what they hoped to learn - and then taught us just what we wanted to know, starting at the right level for us. Rather than having a fixed syllabus to be assessed against, we were basically paying to spend a day in a workshop with an experienced welding instructor. Which was perfect!

He quickly sorted out my arc welding problem - I held the electrode too far from the work, so it spattered all over the place and didn't heat the metal properly, thus creating a weld consisting of lots of little blogs sitting on top of the metal rather than bonding into it. Easy once you've seen how it's done properly 🙂

So having already got my money's worth before lunchtime, I practiced with the manual metal arc machine for a while, then moved up to try MIG welding - Metal Inert Gas. This is a much fancier setup than arc welding; the machine feeds a metal wire and shielding gas into the work for you when you pull a trigger, rather than you needing to manually control the distance between the end of an unweildy electrode and the work to within a few millimetres. As long as you have the voltage and wire feed speed controls on the machine set correctly for the wire you're using, the metal you're joining, and the kind of join you're doing, it's point and click - just hold the tip of the tool to the metal, pull the trigger, and keep the tip moving along smoothly, and you end up with lovely nice welds. Of course, knowing how to set the controls up right is the hard part, but we were taught foolproof techniques to home in on the correct settings.

So I spent much of the day practising with that, producing various kinds of joins in various thicknesses of mild steel. I'm quite taken by MIG welding - the equipment is a bit more expensive to buy and run than manual metal arc kit, but it produces vastly superior welds, and can be used on aluminium (manual arc can't do that).

But the best process for aluminium is TIG welding. A TIG welder doesn't put any metal out at all - it just produces intense head by driving an arc from a tungsten needle to the workpiece, while spraying the area with shielding gas like a MIG welder does. You have to feed your own extra metal in by hand to make the joint. But it's incredibly neat; the arc is tiny, and still - in the other processes the arc always seems to jump about a bit. The TIG arc was like a little flame a few millimetres long, and underneath it, the metal melted into a shiny puddle. Since it was so small you couldn't go very fast with it, but it produced incredibly neat welds! However, sadly, the TIG welding equipment is quite expensive, since the power supply needs to do some quite specialist regulation to create that easy-to-control neat arc!

So I'm going to keep practising my arc welding - but I'll be keeping my eye out for a MIG welder if I find one cheap or if I get rich... and I certainly wouldn't say not to a TIG if I somehow manage to find one I can afford!

WordPress Themes

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