Rachel
Friends' Entries 
11th-Nov-2009 11:13 pm - Thoughts on the time of year.
Caution: those of you who know me well probably have an inkling of what I'm about to say here. And many of you may well disagree; which is your right and your duty.

verbiage within... )
11th-Nov-2009 11:09 pm - At the going down of the sun
In Flanders Fields the poppies blow between the crosses,
row on row. We cannot even count our losses,
a generation scattered to the winds like seeds
on stony ground. The flesh grew into leaf, to bud,
to crimson petals (glibly signifying blood
to other generations' poets), faces turned
towards the sky. So many left, so few returned
to tell us what the petals meant, the mud
that silently obliterated, where it should
have fed (perhaps, in better times) the growing seeds.
Sharp retorts are laid to rest beneath soft mosses
in Flanders Fields, where poppies blow, between the crosses.



(with apologies to Lieutenant Colonel John McCrae)
11th-Nov-2009 10:18 pm - Sleep
We enforced bedtime for Emer tonight. It's time. She's about ready for the slow transition, we're about ready for the extra work. We're not willing to do the scream-herself-sick method, so it will take a little longer, but that's ok.

She actually seems to need 10-11 hours a night, I think.
11th-Nov-2009 09:44 pm - Lost in a Book
Apart from leaving Amnesty wonderful books, people leave wonderful things in the books. Photos, letters, tickets, drawings, etc. This is one of the oldest finds and still one of my favourites:

black and white photo of blonde white woman
"To Rosalie with lots of love from Elisabeth"

Googling turned up a little bit of info on the photographer, Philip Gotlop, but nothing on her.

For a while I wasn't sure what to do with all these finds, but I've finally started scanning in some more of the best and have put the first dozen or so in a found objects gallery. Let me know what you think!
11th-Nov-2009 07:56 pm - Cute. Hah.
The self-consciously cute, nasal, high-pitched baby-voice can stop ANY TIME NOW. Emer is three, she knows how to speak such that I don't want to hit my head on the wall.

To be fair, she does amend it when I ask her reasonably, it's only when I'm at the end of my tether she pushes it.
11th-Nov-2009 05:21 pm - Drugs
I know drugs policy has been in the news a lot recently, and possibly there's a whole other post on scientific advice to government. Nonetheless, I have been of the opinion for a while that prohibition isn't the answer to "the drugs problem", despite having never partaken myself.

This short rant seems to cover quite a bit of the ground pretty well.
11th-Nov-2009 05:09 pm - When electrons aren't so fast
I'm amused.

Yesterday, I came to the conclusion that I needed a new data cable for my phone - the cradle I've used for the last couple of years doesn't connect properly anymore, though it does fine for charging purposes. So I went online, and ordered one.

A moment ago, I received an email telling me the item has now been shipped.

I'm happy to be able to say that I was already aware of that, since I've already used it to backup the phone.
11th-Nov-2009 02:38 pm - Software Developer Wanted
Must have 5 years experience of the Go programming language. Willingness to relocate an advantage.
11th-Nov-2009 01:44 pm(no subject)
Another creepy phonecall last night. This time to Rob's phone, which is like mine but +1. He answered, so there was silence and then the call ended.

So I slept really well. Right.

This morning Emer slept until TEN, which was irritating, because I'd have preferred her to get those extra two hours last night but she was too excited and interested in cutting things out; she can cut around the outlines of things really quite alarmingly nicely for a three-year-old.

Linnea loves that I got her some Sainsburys own-brand malted wheat cereal. I had some myself and it was quite nice. It's amazingly high in salt though.

Coming up to noon we were visited by the lady across the road and her baby, which was nice; they brought chutney. We had coffee and ginger biscuits and after they left the children and I had lunch - ham, chutney, tortilla wraps, and bread. Apparently vegetables are not welcome today.

I'm freezing cold and loving my legwarmers. I am not loving my housework, which is going much more slowly than I'd like. Also, we hoped to collect a wardrobe today and didn't manage it because Rob couldn't take his usual lunchbreak because of all the sick people.
11th-Nov-2009 09:31 am - Woe, plague
Charles and I both had mild coughs on Monday evening. Yesterday morning I was a bit borderline as the cough was worse but went to work as I had a presentation to give. Felt fine while doing presentation, felt much worse as soon as it was over, left work a little early as a result. Charles apparently fine all day with J.

Yesterday evening I developed high temperature, shivering and all-over muscle aches along with the rest of the cold. The online assessment says hello flu, here is an antiviral code for you. I will send Tony or Jonny for them today.

Charles coughed a bit last night and then spent most of the night feeding. Now he is full of beans with very mild cold symptoms. Meanwhile I still ache all over, plus the rest but the temp has dropped a little. Ironically Charles is due a flu jab next week because his heart murmur makes him "high risk" for catching flu. When I can cope with phone calls again I may ring up and check whether we should postpone/cancel.

Everyone else in the house is fine and we are following basic hygiene precautions to keep it that way. Half the family are visiting this weekend; as long as Tony and Charles don't succumb I think it's not worth cancelling, but I will have to be antisocial until I'm asymptomatic. It's not a completely disastrous time to be off work, but fairly inconvenient. Bah bah bah. I want my brain back; also to stop aching now please.
11th-Nov-2009 09:08 am - Odyssey price rise
The price for attending Odyssey is due to go up on Monday 16th November.

The current prices are adult £55, unwaged £45, supporting £25, junior £25.
From Monday, these will be £65, £55, £30 and £30, respectively. All other prices stay the same.

There will be an Odyssey table at Novacon in Nottingham this weekend, and that's a good opportunity to join at the current rate. Alternatively, you can join via the Odyssey web site at:

http://www.odyssey2010.org
11th-Nov-2009 06:08 am(no subject)
I'm on earlies this week. Yesterday I took my heap-o-work to the director's office and created a to-do list. Of 42 items. Back in my own office, between 9.45 and 4.30 I achieved six of the tasks. And naturally more jobs came in over the course of the day. I'm getting better at all delegating, but even so.
Today I have training from 9.30 to 1 then a meeting til 2. Then a short team brief. I'll have maybe three hours for yer actual work. Tomorrow I have training from 9.30 till 4. I will get v little work done at all.
I hate to think what my to-do list will look like on Monday.
10th-Nov-2009 11:59 pm - Holding page

I've written today's blog post on paper. I'm on a train. Will update tomorrow!

Posted via LiveJournal.app.

10th-Nov-2009 09:29 pm - Want to sort out my Xmas menu for me?
Poll #1483598 Stuff the turkey !
Open to: All, detailed results viewable to: All, participants: 19

Stuffing flavours

View Answers

Rice, apricot and nut
9 (47.4%)

Barley, spinach and chorizo orzotto
4 (21.1%)

Sage and onion
8 (42.1%)

Chestnut
9 (47.4%)

Traditional sausagemeat
7 (36.8%)

Stick a lemon up its bum
5 (26.3%)

Secret family recipe not to be shared with you plebs
1 (5.3%)

Other
2 (10.5%)

Nothing
0 (0.0%)

Hungry now ...
4 (21.1%)

10th-Nov-2009 08:50 pm - Random Dutch Observations
Things that have jumped out at me while in the Netherlands for a few days recently:

The famous Dutch coffee brand Douwe Egberts has its own chain of cafés. Apparently, Amsterdam has had one for years, but the one in Den Haag, where we sheltered from the rain, seems to be relatively new. As usual, coffee is often served with a special little biscuit, tea generally without. Discrimination!

A photo of men driving mobility scooters in the Remembrance Sunday parade was on the front page of de Volkskrant on Monday.

Delft and Leiden seem to have turned into building sites. Den Haag Centraal is still a building site.

Had a nice chat with a woman on the train from Roosendaal to Rotterdam about this and that. Including something I called "varkensgriep" (swine flu) which she had to think about for a moment. The term had been changed to "Mexicaanse griep". The Netherlands is big on pigs: there's almost 12 million of them. Slightly less Mexicans, so they just have to put up with being maligned.

Every now and again, the Albert Heijn supermarket chain causes a frenzy with its collectibles. Right now, each 15 euros worth of shopping gets you one Snow White-themed figure. The supermarket even organises swap meets. Thus, an unaccompanied adult doing the week's shopping might well find themselves the target of hopeful children's eyes.

Regarding the Dutch and their love of cheese sandwiches, I discovered that some put sambal on their cheese to liven it up a bit. Reinier then said he's happy to put just sambal on bread, but I think that's only for very special snowflakes.
10th-Nov-2009 06:43 pm - Small Wall Stories
Twenty years ago yesterday the Wall was broken down. I saw it on TV and understood it was important but it didn't mean much to me. I was too young and too far away.

On my last day in the Netherlands yesterday, I heard a couple of stories that made it more real and personal.

In 1989, visitors from Dresden were due to bring paintings over to the Netherlands for an exhibition. Before the Wall came down, arranging the loan of paintings and other objects was a complete pain. It was difficult to get permission, embassies had to be involved, etc.

They weren't the only visitors. In the 1970's, someone came over from one of the Moscow museums to do archival research. She asked if she could copy some things and was directed to the photocopier in the corridor. After five minutes she came back to ask where the man for the photocopier was. It was explained to her that the staff did their own copying.

After some confusion, she said that she would never have been allowed to use a photocopier in the U.S.S.R., a man had to do it for you. Imagine if you sneaked a Western book or article in among the papers!

Anyway, like everyone, the visitors from Dresden knew something was brewing. They had free access to TV and radio in the Netherlands, and the museum staff kept them updated as well. When the news finally came, they went crazy with joy.

The thing the teller said they'd always remember is that the Dresden people took their van, now empty of paintings, on a trip into the centre of the city. When they returned it was crammed to the roof with Western appliances. Washing machines, TVs, everything. Because now they were allowed across the border.
10th-Nov-2009 05:20 pm - Still on the road, sort-of

I'm back home today and tomorrow, but off again on Thursday to Novacon 39 in Nottingham. Oslo was about as cold as Edinburgh, and about as dark; although a good time was had by all, all this rushing around in the dark is leaving me somewhat tired, and even a portable battery-powered daylight lamp for dealing with SAD (which has begun hitting me earlier and harder with each passing year since I turned 40) isn't helping much. (No surprise, if you bear in mind that I live 50 miles or so north of Moscow, some way north of every significant city in North America except Anchorage).

In the meantime, I have little to say except that I'm still thinking about the long haul in extra-planetary travel. Running a biosphere (as the past couple of discussions suggest) looks to be a lot harder than most people imagine — we don't even know where all the critical paths lie, and the longer it has to operate the more complex it gets (with failure modes that mostly appear to be ghastly variations on dying painfully and slowly of exotic trace element and micronutrient deficiency diseases). But there's another question that occurs to me. What are the other problems with building and running a biosphere in space?

Here's one: waste heat dissipation.

Vacuum is, as has been noted in the past, a good insulator. At the same time, it looks likely that any long-term human space habitat is going to need shielding from high-energy cosmic radiation (which is probably going to be physical, rather than electromagnetic, given the multi-GeV energy spectrum of the radiation in question). And for long-duration habitability, biospheres are going to need to be complex, multiply-redundant, and to include pathways to recycling micronutrients and exotica (not just for cycling carbon dioxide and water back into oxygen and glucose).

Approximating a space-based biosphere to a sphere would seem sensible — you can maximize the inhabitable volume per unit of external surface area, and the mass of the radiation shielding goes up in proportion to the external surface, not the interior. But radiation shielding works in both directions: biospheres take short-frequency light and down-convert it into long-wavelength thermal energy (the second law of thermodynamics is in play, here). Don't underestimate the amount of heat we need to dump. Per kilogram, mammalian muscle tissue ("us") puts out more watts of waste heat than an equivalent mass of the sun generates through fusion reactions! The waste heat a biosphere produces ought to be proportional to the mass of metabolizing organisms; and that is going to scale with the volume of the biosphere.

So, while it might make sense to make our spherical biosphere as voluminous as possible (to make best use of the dead mass we're hauling around as shielding), it's going to need radiators to dump the waste heat into space (background temperature: 2.725 degrees Kelvin). Their area is going to go up in proportion to the volume of the biosphere, not its external surface area. And they're not going to be a useful contributory part of the biosphere — they have to be outside the cosmic radiation shielding.

What other gotchas associated with the mechanical supports for an in-space biosphere can we expect to run into? (NB: I'm deliberately ignoring propulsion, political/profit motivation, and crew. If you want to talk about the requirements of running a biosphere, that's the previous topic.)

10th-Nov-2009 05:40 pm - My long weekend

Rae and Adam invited us and Fluffy for dinner on Saturday to say thankyou to Mike and Fluffy for being bridesmaids. So we got the train to Cardiff arriving late Saturday afternoon with just time to take the dog for a muddy 45 minutes walk before it got dark. Dinner was lovely, with good company and much playing of estimation whist and then hearts after dinner. On Sunday we got up and out of the house about 10:30 and took the dog for another much longer walk, about 2.5 hours with me on the lead for much of the time. I'm still surprised such a small dog is so strong, and so hard to wear out! We ended up with a nice walk along the cliffs though, and Mike and Monster made it down to the beach, although it was a bit too muddy for the rest of us to attempt. We finished off the weekend with a cheap and very plentiful lunch in the pub, and a lovely pint of Brains Dark, before Adam dropped us at the station.

Having gone all that way it seemed like a good idea to take a couple of days off work and go visit Mike's parents too. So we got a train to Newport, and the bus to Chepstow and a lift home from there to their house, for a lovely curry for dinner and much amusement for me with Gina's Wii Fit Plus: I've already put a copy on my amazon wishlist but Mike now tells me I may need to remove it again :) After dinner Evan dropped us at Phil's house for a pleasant evening of gossip and Rock Band.

On Monday we got up late and headed out after breakfast at nearly 12 for a nice little bike ride. 23.1 miles and 2100ft of climbing (and descending again!) in around three and a half hours rather completely wore me out, especially after all the walking the previous days. So we slumped on the sofa for the rest of the afternoon before trying to take Evan and Gina out for dinner. But despite us saying it could be a late birthday present to them they still insisted on paying for their half!

It was lovely to see them anyway, and we had a nice time, and have spent today travelling home again without having to worry about anything more disruptive to the rail network than a cow on the line at Roydon leading to a 15 minute delay. Tired now!

10th-Nov-2009 09:57 am - The ACPI Embedded Controller
Of course, the event model I described before is far too simple to be worthy of a place in the ACPI spec. At the most basic level, there's more possible events than there are GPEs to attach them to, so there's a need for some further complexity. This manifests itself in the form of the ACPI embedded controller (EC).

The EC is typically a small microprocessor sitting on your motherboard, often implemented in the same hardware as the keyboard controller. It shares a lot in common with the keyboard controller - on PCs it'll usually appear in system io space, with one register for writing a command or reading a status, and a second register for passing data back and forth[1]. There's 256 registers available, so a typical interaction might be to write the READ command (0x80) to the command register, write the EC register address to the data register and then read back from the data register to get the EC register contents.

The embedded controller will often be responsible for tracking information about the hardware, such as the temperature. Attempting to read the temperature through ACPI will execute an ACPI method - in the case of the temperature being monitored by the embedded controller, this method will attempt to read from an EC register. The EC driver then performs the read and returns the result, which gets converted into decidegrees kelvin and passed back to whatever made the temperature query.

But, as mentioned above, the EC also generates events. These may be in response to a user initiated event like a hotkey press, or may be triggered by some change in hardware state like a thermal trip point being passed. The embedded controller will then raise a GPE.

Unlike normal GPEs, the EC GPE is not handled by looking for a _Lxx or _Exx method. Instead, the ACPI tables provide information about the GPE that the EC is using. This may be in the form of a _GPE definition in the EC object in the main ACPI tables, or alternatively may be provided in an ECDT (Embedded Controller Descriptor Table), an optional table that provides all the EC information. In either case, the OS knows which GPE will be triggered by the EC. It then installs a handler that will be called whenever the EC raises that GPE.

Things get a touch confusing at this point. The first thing this handler does is read the command byte, which functions as a status byte on reads. It then checks whether the SCI_EVT bit is set. This informs the system that the GPE was in response to a hardware event, and so the EC handler writes a query command to the EC command register and then reads back a value between 0 and 255 from the data register. This is then mapped to a _Qxx method, with xx representing the number of the EC event read from the data register. Like the _Lxx and _Exx methods, the _Qxx method is then executed.

The problem with all of this is that the EC isn't that fast. When a byte is written to it, it's necessary to read back the status byte and check whether the IBF bit is set. This is set when the OS writes a byte to the data register, and cleared once the EC has processed it. The straightforward way to deal with this is to poll the status byte until the bit is cleared, and then write the next byte, but polling is slow and wastes CPU time. The EC can instead be set to interrupt mode, where it'll fire a GPE when the IBF bit clears.

The EC has one additional function. The ACPI spec allows for an i2c bus to be implemented through the EC, with EC registers mapping to i2c registers. The observant among you will realise that this means that there's an indexed access protocol being implemented on top of indexed access hardware, which is more layers of indirection than seem sane. For additional humour, this is usually only used to add support for ACPI smart batteries. ACPI batteries are generally abstracted behind a set of ACPI methods that provide information. Smart batteries instead speak i2c directly to the OS[2] for no real benefit. Linux handles these devices fine, and while the chances are you probably don't have one, the chances are also that if you do you haven't noticed.

The final quirk of ACPI events is that there's yet another means of delivering events. The term "fixed feature" is used to describe an ACPI device that isn't described in the ACPI tables. A power button may be implemented as a fixed feature device rather than a normal ("control method") device. This is indicated by a flag in the fixed feature block. Hitting a fixed feature power button will generate an ACPI interrupt, but no GPE. Instead the OS has to read the fixed feature block and note that the power button flag is set there. It then notifies userspace appropriately. Sleep buttons can also be implemented this way, but other devices will be in the normal ACPI tables and will generate either GPEs or EC events.

[1] On my laptop, these are ports 0x62 and 0x66 - compare to the keyboard controller's use of ports 0x60 and 0x64

[2] As directly as indirection via the EC can be...
10th-Nov-2009 09:08 am(no subject)
Hmm, the problem with dealing promptly with a letter from the National Insurance people ("It appears you have not paid enough NI contributions for the tax year 2007/08 to count towards your pension. Would you like to make an additional payment?") is that you can send them a cheque, and have it cashed before they update a record and realise I didn't have any shortfall after all. Still, they're usually helpful about repayments.

Am feeling kinda wobbly and exhausted this morning, hope it's only stress and not flu :-)

Ooh, pretty shiny earrings and necklaces and beads are further reduced (they're lovely, and just reading the list of names is like skipping through a book of fairy pirate stories)... Has small thoughts about tax refunds and cost of necklace that makes me happy to look at it and timing
9th-Nov-2009 10:06 pm - ACPI general purpose events
ACPI is a confusing place. It's often thought of as a suspend/resume thing, though if you're unlucky you've learned that it's also involved in boot-time configuration because it's screwed up your interrupts again. But ACPI's also heavily involved in the runtime management of the system, and it's necessary for there to be a mechanism for the hardware to alert the OS of events.

ACPI handles this case by providing a set of general purpose events (GPEs). The implementation of these is fairly straightforward - an ACPI table points at a defined system resource (typically an area of system io space, though in principle it could be something like mmio instead), and when the hardware fires an ACPI interrupt the kernel looks at this region to see which GPEs are flagged. Then things get more interesting.

The majority of GPEs are implemented in the ACPI tables via methods with names like _Lxx or _Exx. The xx is the number of the GPE in hex, while the leading _L or _E indicates whether the GPE is level- or edge-triggered. If an ACPI interrupt is fired and GPE 0x1D is flagged as being the source of the interrupt, the ACPI interpreter will then look for an _L1D or _E1D method. Upon finding one, it'll execute it. What this method does is entirely up to the firmware - on most HP laptops, GPE 0x1D is hooked up to the lid switch[1] and so executing it will send a notification to the OS that the lid switch has changed state. The OS will then evaluate the state of the lid switch (generally by making another ACPI query) and send the event up to userspace.

How does the lid end up triggering GPE 0x1D? Things get pretty hardware specific at this point. Intel motherboard chipsets have a set of general purpose io (GPIO) lines that can, for the most part[2], be used by the system vendor for anything they want. For a lid switch, one of these lines is hooked to the switch and the BIOS configures the GPIO as an input. Pressing the switch will cause the GPIO line to become active. The GPIO lines are mapped to GPEs in a 1:1 manner, though with an offset of 16 - ie, GPIO 0xd will map to GPE 0x1d. If GPIO 0xd becomes active, GPE 0x1d will be flagged and an ACPI interrupt sent. The ACPI code will then do something to quash the interrupts, such as inverting the polarity of the GPIO[3], as well as send the notification to the OS.

Why are the GPIOs offset by 16 relative to the GPEs? The lower 16 GPEs (again, talking about Intel hardware) have pre-defined purposes[4]. These range from things like "Critically low battery" to "PCIe hotplug event" down to "This device triggered a wakeup". And the latter is what I'm most interested in here.

Various pieces of modern hardware can be placed into power saving states when not in use. The problem with this is that the user experience of having to turn on hardware before you can use it is not a good one, so in order to make this the default behaviour we need the hardware to tell us that something happened that requires us to wake the hardware up.

There's something of a chicken and egg problem here, but thankfully most of the relevant modern hardware has out of band mechanisms to tell us about things going on. The PCI spec defines something called Power Management Events (PME), which are driven by an additional current that's supplied to the hardware even when it's otherwise turned off. On plug-in PCI Express cards, firing a PME generates an interrupt on the root bridge and a native driver can interpret that, but for legacy PCI devices and integrated chipset devices the notification has to come via ACPI.

The example I've been working on is USB. It's a good choice for various reasons - firstly, there's already support for detecting when the USB controller is idle. Secondly, modern USB host controllers have support for generating PMEs on device insertion, removal or (and this is important) remote wakeup. In other words, as long as the USB bus is idle we can power down the entire USB controller. If the OS tries to access a USB device, we'll power it back up. If the user unplugs or plugs a device, we'll power it back up. If a previously idle device suddenly responds to some external input, we'll power it back up. And it's all nicely invisible to the user.

How does this work? The controller retains a small amount of power even when nominally pwoered down. This is used to keep the detection circuitry alive. When it receives a wakeup event, it asserts the PME line. The chipset detects this and fires a GPE. The OS runs this GPE and receives a device notification on the ACPI representation of the USB controller, telling us to power it back up. We do so and process whatever woke us - if the bus then goes idle again, we can power down once more.

The astonishing thing is that this all works. The only problem we have is that it relies on the machine vendor to have provided the ACPI methods that are associated with the GPEs. If they haven't, we can't enable this functionality - even though the hardware is capable of generating the GPEs, we have no method to execute to let us know which device has to be woken up. The GPE is never answered, we never acknowledge the PME and the hardware keeps on screaming for attention without getting any. And, more to the point, it never gets powered up and your mouse doesn't work.

There's a pretty gross hack to deal with this. In general, we know what the GPE to device mappings are - they're pretty static across Intel chipsets, and while AMD ones can be programmed differently by the BIOS we can read that information back and set up a mapping ourselves. This trick also comes in handy when some vendors (like, say, Dell) manage to implement one of the GPE events wrongly. Everything looks like it should work, but the method never sends a notification because it's buggy. In that case we can unregister the existing method and implement our own instead.

This code isn't upstream yet, but patches have been posted to the linux-acpi mailing list and with luck it'll be there in the 2.6.33 timeframe. My tests suggest about 0.2W saving per machine, which isn't going to save all that many polar bears but seems worth it anyway.

[1] _L1D = lid. Sigh.

[2] There's a few that are reserved for specific purposes

[3] So where before it had to be high to be active, it now has to be low to be active - this means that it'll now trigger on the switch being opened rather than closed, so you'll get another event when you open the lid again.

[4] You can find a list in the documentation for the appropriate ICH chip - the relevant section is "GPE0_STS" under the LPC interface chapter.


by t!

When you raise chickens for meat, the logical endpoint of the raising is, of course, the slaughtering and butchering. And you have two choices about how this will be done: (A) by you, or (B) by someone else. We have decided to kill our chickens ourselves, and the several books we own which describe raising chickens all assume that this is what the reader will be doing. So far, so good.

However, the authors of these books have been raising chickens for quite some time. They enjoy it, they are good at it, and their books are designed to make chicken raising seem both fun and easy enough for anyone to do. The same goes for the slaughtering. It is easy enough, but there are a handful of tiny things that came up which I think deserve a mention, and these books did not quite warn us about.

- We use the broomstick method. What this is, is you lay the head of the chicken on a flat rock, place a broom handle across the back of its skull, place your feet on the handle, one on each side of the head, and yank up on the chicken’s legs. This breaks the chicken’s neck instantly, killing it. If you do it right. If you don’t, you will just damage the chicken horribly, probably paralysing it, but it will still be alive and frightened. Then you will have to pick up the injured terrified animal and kill it a second time. The key word here is to be *decisive.* Kill the chicken, with certainty, on the first try. This isn’t cruel; in fact *failing* is cruel.

- Also, some indication of how hard you should pull on the legs would be nice. If you pull too hard, the head stays behind.

- If you can keep the chicken’s head on when you kill it, afterward while you’re butchering you don’t have to worry about the gizzard spilling its contents out the top of the neck.

- You’ve heard that chickens flap around after they’re dead; everybody hears this. But it needs to be stressed: Chickens really *really* flap around. A lot. Enough such that we were glad the legs were tied so the corpse couldn’t run off down the road.

- The books play down how difficult it is for a caring human being to kill a chicken. One expects that the authors have become used to it, or that they don’t want the readers to think they can’t do it, which is all fair enough. But there should be some warning about the eyes. Once the chicken is dead, do *not* dwell on its eyes.

- Also the books do not warn you about the *feel* of that first chicken. You catch him, pick him up, and hold him steady, ready for the end. Since you rarely get this close to a chicken, you look him over. You’ve done well as a homesteader; he’s a good-looking animal. His chest is warm. You can feel it moving in and out as he breathes. He feels just like a kitty. You want to stroke his belly. Hang on – this is *not* the proper mood for poultricide! You’ll need a few sharp moments to rearrange your perspective and remember that this creature is food. It’s not too difficult to do, but I would have preferred it if I’d been prepared for that moment.

- If you read about killing chickens, you will be told that holding a chicken upside-down by its legs will cause the blood to rush to the chicken’s head, knocking it unconscious and making things easier on you and the chicken. Everybody agrees this will happen. Nobody will tell you how much time it takes for this marvelous passing out to occur. We’ve suspended the chicken and waited patiently; out of 11 chickens not one has ever passed out. But each of us has had a chicken try to escape by bending itself upward and pecking our hands.

- When you are cutting the legs off a chicken, the blade presses into its tendons. This causes the toes to curl. Therefore, when you cut into a chicken’s leg, the dead claws will grab your finger. This is rather startling the first time it happens. The second time, it’s still pretty creepy. I don’t know about the third time. I’ve changed the way I hold the leg.

- You hang chickens upside-down with their carotids cut (or heads missing, depending on how you killed them), to allow the blood to drain out of their bodies. This is better for the meat, and means less mess during innards removal and other butchering. The books all recommend you hang the chicken upside-down for a half hour, but they don’t tell you how much blood should drain out. We had one chicken that looked like it had clotted after two minutes, there was so little blood. But it did not bleed during the butchering. Our last chicken dumped a lot of blood into the pail for its half hour, and then bled some more in our garage, and then bled all over the counter during the butchering. Maybe the books don’t tell you how much blood is normal because it always varies? Perhaps this last chicken bled so much because it was one-third heavier than most of our others. Or maybe it had been taking Aspirin.

- With practice, one gets better at catching chickens. However, it does not get easier. The first ones you catch are the small and slow ones – the losers. The later ones are faster and more clever, plus there are fewer bodies remaining to get in their way when you chase after them. We were down to our last three roosters: The alpha, the second biggest, and the smallest. We decided, naturally, that the smallest should be killed, so that should anything happen to the alpha his replacement would still be a large bird. Well, it turned out the smallest one was also the fastest ever. After five minutes – a very long time when you’re trying to catch one specific chicken and all around you the other dozen are running flapping and shrieking – we gave up on him, and nabbed the second largest. He was *much* slower. Darwin has spoken; the one best able to avoid predators (or farmers) has prevailed.

We call him Speedy.

9th-Nov-2009 10:01 pm(no subject)
I'm having more and more trouble finding something I can constrain into just one blog post, something that doesn't just sprout tendrils of arguments all over the place as soon as I get one sentence into it. There's a big long post I've started writing a couple of times now and I've come to the conclusion that it's actually several essays about things I don't know enough about to write them properly, or rather I know the shape of things but I'd need to do some actual planning and fact-checking and re-drafting rather than just writing them off the top of my head, and that's scary because it feels like investing real work in something that will probably never come to anything. Maybe real writers feel like this all the time. Maybe I should have gone for NaNoFiWriMo, non-fiction-writing instead of novel-writing. But I know that when I get to the point of thinking "I'd rather sit on this until I can write it properly" it means I'll probably never write it. Maybe I should make more time to sit on these things decisively until they either suffocate or hatch. Maybe I should just shut up.

I've spent a lot of time recently pulling up nettle roots. The things in our garden that pass for flower-beds (the bits where the lawn completely fails to appear) are so choked with roots that as soon as you turn over a bit of soil it looks like somebody's tried to dig a shallow grave for a macrame bedspread. The nettles keep coming back, but smaller and fewer each time; I don't think I'll ever get rid of all of them, but I think I'll get them under control. The problem is, you see what looks like a tiny nettle (barely an inch high) growing out of the soil, so you pull it from the base of the stem, and up comes a tiny spindly root, and if I don't break off the spindly root I find that it's joined on to a bigger root. So you stick the fork in around and under the bigger root until you can get a good hold on it with my gloved hand, fingers scrabbling through the soil underneath, and you give the bigger root a good solid tug until it starts to come out of the ground. You pull it up until it hits another root going over it, and either break it off there or try to pull that one up as well... the second root turns out to be lodged under a third root, which is thicker than a tree-trunk and buried deep in the soil. Pulling that up, bits of it break off; you dig down to try to get them out and find that they're buried under more roots. Eventually you get to what feels like a decent run of root which isn't trapped under something, and as you pull it you watch the soil parting, and the lawn parting, like a zip unzipping, and the root rips a line through the grass for a couple of feet before breaking off with an unsatisfying little snap which tells you that there's plenty more nettle roots down there, oh yes, and they're just biding their time. The other trick they play on you is to creep under the fence, so you pull one up and it peels backwards and backwards and lands right up against the fence, at which point you can either start tunnelling under into next door's garden like a badger, or you can break it off (watching bits of rotten fence splinter off soggily now that they're no longer supported by nettle roots) with an exasperated sigh. By this time you've forgotten all about the first root you were trying to pull up, but it's still there, probably growing even while your back's turned. Digging at a bit of apparently clear soil, I find another knot of rat-tailed roots to start picking apart; the Gordian approach does not work.

It's absolutely neverending, and yet somehow satisfying -- I think perhaps it's because it's a physical metaphor for all the things my mind gets stuck on: the arguments I try to construct where I get distracted by all the possible rebuttals, tilting at all the straw men who come staggering out of the mist, led astray by the will-o'-the-wisps of other interesting arguments who lead me further and further into the swamps of endless deferral; the projects where each task becomes a mini-project, not merely cans of worms but matryoshka dolls full of many-headed mini-hydras. Because it's a physical task, it doesn't come with all the emotional baggage of guilt and expectation; it's just a thing I can do with my hands. I can see the physical progress in the pile of roots I've excavated (heaped up on a spare recycling-bin lid) and the slightly-clearer soil, but that's not why it's easier, exactly; with less physical tasks I can often see a result: items crossed off a list, RT tickets resolved, link-checking reports coming back with fewer errors. (Ironically, the nettle roots are trying to fix their web, their links, their network, and I'm trying to bring them down; like the internet, they route around damage, rebuild their series of tubes, and all I can do is keep pulling their plugs out of their sockets.) And it's not that it gives me hope that tasks can be finished, because destroying their network is as unfinishable as fixing the web. It's more that it's a thing that I can do with my hands, setting my mind free from the guilt of unfinishable thoughts for a while. Maybe it is just a thing I can do with my hands, and that's enough, without giving it emotional significance. Maybe I am better at pulling things apart than making them grow. Maybe a nettle root is just a nettle root, and my hands are just my hands.
9th-Nov-2009 10:21 pm - Home ...
We're home after our long weekend away . Panda has sat on me virtually non stop apart from brief forays to Mount Roger or to nibble my hair.
9th-Nov-2009 10:19 pm(no subject)
Poll #1483109 Brussel Sprouts for Xmas ???
Open to: All, detailed results viewable to: All, participants: 25

Brussel sprouts???

View Answers

No, no,no! How many times do I have to tell you ?
4 (16.0%)

Boiled for thirty minutes or until transparent.
1 (4.0%)

Stir fried with ginger and garlic
15 (60.0%)

Nom, nom,nom
15 (60.0%)

9th-Nov-2009 03:54 pm - Looking to the past
It’s an oft-voiced suggestion that rather than looking at the bad things that happen in our communities, we should focus on the good things. There’s a number of highly successful geek women already – should we not be concentrating on encouraging more of them, rather than scaring people away with tales of thoughtlessness, discrimination and outright abuse?

Let’s draw an analogy. One day, a $20 charge appears on your credit card. You didn’t make it. You report it to your credit card company, who assure you that they take fraud seriously and then do nothing. A few days later, another $20 charge. Your credit card company tells you that such events are rare, unrepresentative of the general credit card experience and continue to do nothing. A week afterwards, another charge. This time your credit card company describes how they’re planning on implementing a brand new anti-fraud system, but that this is unrelated to any events that may currently be occuring and will give no details as to when it’s going to be rolled out. And proceed to ignore any further reports you make about fraudulant transactions.

Would you stay with this company? Or would you take your business somewhere else?

The problem with the “Let’s look to the future rather than spending too much time getting stuck in the present” argument is that it assures people that things will get better without providing a roadmap for getting there. It does nothing to validate their concerns or make them feel wanted within a community. It assumes either that people will stick with a community that doesn’t respond to their complaints, or that it’s possible to construct a community that’s welcome to an assortment of genders, ethnicities and lifestyles without any of those people being represented in the first place.

Ignoring people’s concerns is an excellent way to drive them away from your community. Doing so because of a potential future that’s probably conditional on you having those people in your community is short sighted and self defeating. Ignoring the present doesn’t benefit the future. It benefits the status quo.

(Originally posted here)
9th-Nov-2009 06:00 pm(no subject)
You can have health care as long as you give up your right to abortion.

I may have read this wrong. I don't think so.

Thank you [info]opalnipotent.
9th-Nov-2009 08:39 pm - Tonight's hot-night dinner:
Sliced capsicum spread with cream cheese.

Pretty good!
9th-Nov-2009 06:17 am - Happy Birthday
to [info]mockduck - I hope it's a lovely day and you get nice things!
8th-Nov-2009 11:31 pm - Some kind of ferret tail
Technically I think I'm one post behind, because instead of blogging last night I was at [info]khalinche, [info]ewtikins and [info]hairyears's housewarming party, where there were lots and lots of lovely people (whom I'm not going to attempt to list in case I upset anybody by missing them out, but everybody I talked to was lovely!), a very cute ferret, and a mightily impressive serpent ... plus a piano, an oboe, a tenor recorder, several voices, and more lovely people enthusiastically playing (with) all of the above. There was also, as promised, a scale model of the Standing Stones of Calanais made of gingerbread -- I didn't get a photo, sadly (though I did get several pieces of gingerbread OM NOM NOM) but it certainly knocked my gingerbread pyramid into a cocked hat.

[info]addedentry and I should really actually get round to organising a housewarming party, but it probably won't happen until we've got a kitchen (because otherwise I can't make cake, and it's not a proper party if I don't make cake). Which I should also get round to organising. Yes.

Does this count as the missing post? :-}
8th-Nov-2009 08:53 pm - There's still time to sell my soul
So, somebody already wrote a big part of one of the blog posts I was going to write. But rather than abandon it, I'm going to use theirs as a starting-point. Read theirs first, and then imagine me scrawling tiny essays in the margins with my scratchy pencil, illuminated by a library's fluorescent lights.

*
the things you own end up owning you )
8th-Nov-2009 06:11 pm - Sick count
Emer: coughing again.
Linnea: stomach upset, wet bed, slight cough.
Ailbhe: slight fever (very slight), massive tiredness - probably vaccine reaction, not sickness.
Rob: TIRED.

Tomorrow I need to get the house a bit sorted, it's been not great this week. We visited people with a Roomba the other day but our house isn't tidy enough for one. I think we need to stop faffing and make decisions about the kitchen so that we can get the kitchen things out of the dining/living room, really, because it's annoying me. We're in a halfway stage now.
8th-Nov-2009 02:22 pm - Some new definitions
I am currently at [info]fjm's cat-sitting Ms P.

Laptop Computer. n. A device that a Food Monkey uses to indicate an urgent desire for attention from a CAT.

Mug of Coffee. See 'laptop' but more so.

Feline CPR. Urgent efforts to resuscitate a Food Monkey presumed DEAD because it has gone back to bed after feeding CAT at 6.15 am.
I read this book sitting beside its author on a trans-Atlantic plane flight, which is an unusual level of interaction. It is a tremendously detailed account of how, in the aftermath of the 1994 genocide, the new Rwandan government invaded its neighbour Zaire (now the Democratic Republic of Congo) kicking off a conflict that sucked in military interventions from Burundi, Uganda, Zimbabwe, Angola, Chad, Sudan and Namibia, and which also entangled Libya, the Central African Republic, Congo-Brazzaville, Zambia and South Africa before it ended in 2002. Roughly four million people were killed. The conflict was complex and remote, and got almost no coverage in international media. The Rwandans essentially got a free pass from the rest of the world because of the genocide, and because nobody like the Zairean/DRC rulers. Prunier details the horror that resulted, and does not spare his criticism of the local and international actors who made it possible. He even criticises his own earlier book on Rwanda, where he admits having believed the government when he should not have. (Interesting to note that his Rwanda book is quoted several times by Jared Diamond in Collapse.)

An excellent final chapter reflects that probably there will not be another African conflict that is as far-reaching geographically, although the basic conditions for future smaller wars remain. Prunier also analyses the failure of international policy-makers to get to grips with the realities of African political life. I found this point particularly compelling (it should be read as if all in the present tense):
These states were universally weak because they lacked both legitimacy and money. Legitimacy was the biggest problem because even those states that did or could have money, such as the mining states, were also weak. Loyalty to the state is not an internalised feeling in today's Africa... Internally states are seen as cows to be milked. But because there is little milk and the cow can go dry at any time, it would perhaps be better to say that the state is a cow to be bled quickly before it slips into somebody else's hands. The state is an asset for the group in power, but that asset is fragile, there are no commonly accepted rules for future devolution of power, and things have to be grabbed while they last... The state is always somebody's state, never the State in the legal abstract form beloved of Western constitutional law. It is the Museveni dictatorship for the Acholi [Uganda], the Arab state for th southern Sudanese, the mestiço state for UNITA [Angola], or the Tutsi state for the Hutu [Rwanda]. When tribes are not the main problem, pseudo-tribes or other groupings will do.
There is nothing deterministic about conflict: these wars begin because of rational choices made by individuals in leadership positions, reacting to the set of circumstances they find themselves in. Ending them, however, is much more difficult.
A totally fascinating book looking at how the human impact on the environment can cause societies to collapse or disappear. The particularly memorable chapters are on Easter Island and the Viking settlements on Greenland, both cases where the natural resources were exploited to the point of mass death. There are lots of other case studies as well, mostly dealing with larger societies or states, but none quite as dramatic or as detailed.

The final chapters are an excellent synthesis of the message of the book. Diamond has a not very profound but interesting take on the nature of political decision-making, and why it goes wrong; on business and the environment (I would like to know more about the Marine Stewardship Council, and why it has had so little impact in Europe), and finally on future prospects for saving the world, where he is cautiously optimistic but not complacent. He is clear that our current patterns of environmental exploitation are not sustainable, but hopes that a sufficiently conscious public will be able to pressurise its leaders into taking action. The book will certainly help.
This is the book which begins by escribing its heroine as "blond [rather than blonde] and ovately willowy". Thanks to everone who has speculated on the meaning of the last two words there; I guess I am convinced that she is thin with wide, childbearing hips, but it is possible to imagine a more comprehensible description.

Anyway, Freda Caron is a botanist working on some strange flowers from a newly discovered planet. That's basically the plot. Boyd appears to be trying to say deep things about sexuality and sexual politics, and the nature of humanity, but it really doesn't work. I was surprised to discover that the book dates from as late as 1969; it feels of an earlier 60s vintage. The ending, where spoiler ), is particularly silly.
7th-Nov-2009 11:29 pm - Busy day
I went to the doctor for my swine flu vaccination, and when I got home Rob started sorting out the wiring in the attic - he's beginning with the lighting circuit, because once that's sorted out we can move the ladder around and finish the ceiling. Then he can do the plug sockets circuit and we can do the walls, but that bit needs a real electrician; we might be able to find someone who can do that and move the radiator at the same time.

I used my lovely new computer to run a spreadsheet (the old one had refused to do that without grinding!) and updated our finances, and phoned the energy suppliers and the credit card people to sort things out, and now we're in less debt and have smaller ongoing payments and nice things like that.

We had a snack, and lunch, and then went out to a bonfire party. It's just over a mile away, so it took 30 minutes to walk with Emer in the buggy. Linnea was Not Herself while we were there and came in from the chilly garden feeling very hot. Actually, the children weren't half as interested in the bonfire and fireworks as the adults, though the fireworks had been specially selected to be Not Loud (I was very grateful).

We got the bus back because Linnea ended up being obviously unwell - she's in bed now moaning in her sleep while her stomach makes much louder noises - and the children had a bath to get the toffee apple remains off them. I've never understood toffee apples but Emer liked attacking it.

Emer brushed her teeth fairly cheerfully and went to sleep on the sofa, in spite of her earlier nap. And it didn't rain, so we got most of two loads of laundry dry.

Now I am running a slight fever - vaccine probably - and going to go to bed soon. I have a Kate Adie autobiography which I expect to enjoy.
7th-Nov-2009 06:04 pm - More spam bot signatures

There's another spam bot heuristic which is the exact complement to the one described in my prevous post. The idea is to keep rack of how many different HELO domains an SMTP client uses.

  defer
    message   = Probable spam bot HELO varies between $sender_rate domains
    # whitelist checks go here
    ratelimit = 2.2 / 1w / per_conn / strict \
      / unique=$sender_helo_name / $sender_host_address

This is mostly the same as the code in my previous post, but the lookup key is the client's IP address, and we only increase the measured rate if the client uses a different unique HELO domain.

This check also works very well at detecting spam bots. When testing it I noticed that one particular bot likes to use a HELO domain consisting entirely of random upper-case letters, and it only talks to one of our servers with the lowest IP address. So I added a specific (cheaper) check to deal with it. This causes the bot to go away, and legitimate senders will retry with a different server.

  defer
    message   = Probable spam bot HELO - please try another server
    condition = ${if and{{ eq{$primary_hostname}{ppsw-0.csi.cam.ac.uk} } \
                              { match{$sender_helo_name}{^[A-Z]+\$} }} }

There is a small risk of false positives with the variable HELO domain test. Some outgoing mail server clusters are behind a NAT, so we see HELO domains from multiple servers coming from the same IP address. I also found a number of false positives for the popular HELO domain check (most prominently rediffmail.com and easyjet.com). The way I'm dealing with them (which I hope will work in the long term) is as follows.

For the popular HELO domain check described in my previous post, I maintain a lookup table of legitimate HELO domains that trigger the check. The following replaces the hard-coded check for localhost.localdomain that appears in my previous entry.

    condition = ${if !match_domain{$sender_helo_name}{cdb;DB/helo_ok.cdb} }

As well as allowing through clients whose HELO domain can be verified, I now also check dnswl.org for well-known legitimate senders, and I maintain a table of sending hosts that slip through the other checks.

  ! verify   = helo
  ! hosts    = +helo_ok
  ! dnslists = list.dnswl.org

To avoid problems with false positives, my anti-spam-bot checks return a temporary error code ("defer" in Exim-speak instead of "deny"). I then have a nightly audit script which looks for hosts that appear to be repeatedly retrying a messages and which should be added to my whitelist tables. It might be possible to automate this table maintenance, again using the ratelimit feature, but I expect that will require a bit more experience to determine the right thresholds.

7th-Nov-2009 02:13 pm - Geek Story Hour: Parser of Death

[info]crazyscot's recent LJ post about a factor-of-20 speedup of some code reminds me that I've never written down in here the story of my first summer job, despite it being a standard anecdote I use in real life when I get into those ‘the worst code I've ever encountered’ geek war-story conversations.

some of the worst code I've ever encountered, and how I too sped it up by a factor of twenty )

The boss took one look at the speed test, and shook his head. ‘We can't ship that,’ he said, ‘it's far too embarrassing. We'll have to deliberately slow it back down again, and ship lots of incremental speed upgrades.’

I laughed.

He turned out not to be joking.

7th-Nov-2009 01:54 pm - Decent firewalk pic
Weeeeeeee, I got a decent pic from one of the professionals there. I'm really chuffed with it although the I wish I looked a little less... well tongue sticky out :)

whatever you do, don't look down )
7th-Nov-2009 01:43 pm - Children's Sex Ed books
This is crossposted a little so I'll cut it: Read more... )
Imogen's fundraising appeal is featured in Cambridge Evening News today. Lovely photo and it gives you more of her story, if you are interested.
7th-Nov-2009 11:23 am - Algorithmic win
It's not every week that you get to make an entry in your work status report of the form: "Completely rewrote [some code] and achieved a 21x (yes, twenty-one times!) speedup". And there was much geeking about Error Correcting Codes. )
7th-Nov-2009 08:16 am - Riddle me this
The book I am reading right now begins by describing the heroine as "Blond and ovately willowy".
Poll #1481960
Open to: All, detailed results viewable to: All, participants: 80

If you are writing about a fair-haired woman, which is correct:

View Answers

blond
1 (1.3%)

blonde
61 (78.2%)

both can be used
16 (20.5%)

Can a thing or person which is ovate also be willowy?

View Answers

Yes
6 (7.7%)

No
45 (57.7%)

Sometimes
4 (5.1%)

I don't know what ovate means
23 (29.5%)


If you think you know what the author meant by "ovately willowy", please explain to me in comments. Extra points if you identify the novel in question.

(I am about to get on a twelve-hour transatlantic flight from Istanbul to New York so it will be a while before I can respond.)
This page was loaded Nov 12th 2009, 7:51 am GMT.