Category: Sci/Tech

Differentophobia (by )

At the time of writing, there's been recent controversy about a fast food chain called Chick-fil-A, whose management have made statements against gay marriage, and who financially support organisations campaigning against it. I'm not going to go into detail about that, as it's just one more battle in a long war against the idea that it's OK to fail to understand that people who are different to you are still people.

There's a natural human tendency to categorise people into Us and Them. We have emotional reactions like empathy towards "Us", as we can imagine ourselves in their situations. We tend to trust "Us", and help "Us" when they are in need, and would rally to defend "Us" from harm.

"They", on the other hand, are assumed to be attempting to take something from "Us". "They" are not empathised with; we do not imagine what it is like to be "Them". We merely see that "They" are different, and therefore, we cannot imagine what "They" are thinking; and we imagine that "They" must feel the same about "Us", and therefore not have our best interest at heart; we assume that "They" will feel no compunction against causing "Us" harm if it's in "Their" interests, so we are quick to defend ourselves against "Them", including pre-emptive strikes. If "They" ask for something, it is clearly "Them" trying to take things from "Us", rather than "Them" and "Us" negotiating to find a compromise over some shared resource, and we must stand up against it or "They" will take everything and leave "Us" with nothing.

This general mechanism is behind a lot of pain and suffering in this world. Once somebody has been classified as "Them" in somebody's eyes, it's very hard to lose that classification, as all the good deeds they do and other evidence of trustworthiness are easily interpreted as deceit. Meanwhile, the criminals in the "Us" group use their implicit trustworthiness to great advantage. This simple classification into "Us" and "Them" presumably did us some good when were crouching in caves, but now we're a globally interconnected society, it's harming us.

I have suffered little from it, personally; I am white (and live in a country where that's normal), male (and live in a society where sexism has abated, but is still rife), without any visible disabilities, living in the country I grew up in, with an accent and mannerisms which can fit into most social "levels" (I come from a lower working class background, but went through elite education into a profession, so I have experience of all sorts of people), straight and cisgender. My only "minority" trait is being an unabashed nerd, which is something I can easily hide when amongst people who would be bored stiff by a thrilling discussion about logic circuit design; and I hide that in order to not bore people stiff, rather than out of a fear of discrimination.

But it still deeply irritates me, because it's just a stupid waste of happiness. The human race has enough to worry about without us being nasty to each other.

I like meeting people who are different, as it's interesting to try and find my own limitations and boundaries. How much of who I am is because of the limited range of experiences I've had, rather than inherent limitations of my human brain? I'd still really like to sit down with some gay and bisexual people of both genders, to try and really find out what the experiences of love, limerence and sexual desire are like for them; there's clearly some underlying difference because the objects of their attraction are different, but does that extend to differences in what it feels like for them? Bisexual people would be well-placed to compare, but then their experience might not be representative of what purely homosexual people feel. As I was at an all-male school when I became really interested in girls, I've never felt I've entirely understood heterosexual flirting/dating/courting protocols, and I'm quite interested in how much is purely social convention rather than fundamental parts of our evolved mating mechanisms; finding out what it's like from the perspective of homosexual people, who have been forced out of the social conventions in the first place and had to form their own in originally hidden communities, might provide me with insights into my own heterosexuality! I watch the activities of my polyamorous friends with interest!

I am not, however, immune to the fear of different people. If I suddenly find myself in an unfamiliar cultural environment, I feel a twinge of alarm. This is partly justified; in an unfamiliar culture, my social protocols may be incorrect, and might cause offence, and somebody who is not familiar with my own culture might not realise that this is unintentional. So when I find myself in such a situation, I am well advised to pause and think carefully about how I act - but purely to ensure that I present a respectful and friendly first impression; I then try to find common ground and establish an understanding that I can expand upon until I am comfortable with the new situation.

When a group of hoodie-wearing black youth rush past me in an alleyway, yes, I am mindful that they might try to mug me. But I am also just as mindful that a group of smartly-dressed white females might mug me, too. After all, if I wanted to mug somebody, I would carefully avoid mugger stereotypes in order to lull people into a false sense of security! If I ran a Fagin-esque gang of pick pockets, I would train little old ladies in martial arts and equip them with knives to be my agents! But I digress... I do not discriminate in my distrust. And yet my distrust is provisional; if I know nothing about somebody, I will assume that they might be a threat, and I will take care not to give them an opportunity to harm me or those in my care in any way; but I will not show hostility towards somebody unless they prove their bad intententions by makin a move to attack first. And on the other hand, I will extend trust towards people who have earned it, but I do so proportionally, assessing the cost of losing the thing I have entrusted them with against the benefits of trusting them.

It's also important to recognise when people are being afraid of you because you are different to them. Their initial reaction to you might be to flinch, to be defensive, or even to assume that you conform to their culture's stereotype of yours. And if you are feeling skeptical of them being one of Them, then their initially negative reaction would just needlessly reinforce your suspicion. If you then act in a way that makes you seem hostile and defensive in their eyes, then your relationship has gotten off to a probably irreparably bad start.

So, dear reader, when you feel that frisson of fear and distrust when you meet, or hear about, strange people doing strange things, recognise that feeling for what it is: a quick warning that these people might find you strange and frightening, so you must be polite and welcoming; and try to turn the other cheek if they exhibit knee-jerk defensive reactions towards you. The more you can learn from them about the amazing variety of the human experience, the better a person you will be.

Getting kids into programming (and what the Raspberry Pi is lacking) (by )

Back when I were a lad, if you bought a computer, you'd bring it home and plug it into the telly and turn it on and a BASIC prompt would appear.

Tough luck if you wanted to do practical tasks like word processing, but you could type a single command (such as CIRCLE 100,100,50) and be instantly treated to a circle appearing on the screen. Before long, my generation were writing programs to crunch numbers for our statistics homework, and lots and lots of games. And thus a generation of software engineers was born.

Getting started in programming is trickier for the contemporary twenty-first-century child; they have to install a software development environment (their computer probably didn't come with one), and then go through a wizard to Create New Project, write initialisation code to open a window, then write a redraw event handler that takes a graphics context and draws a circle with it. A little less approachable than "CIRCLE 100,100,50". At least you get a simple word processor and a Web browser out of the box, though... I'm no nostalgic Luddite πŸ™‚

Now, the Raspberry Pi has been widely hailed as the answer to our woes; costing just twenty pounds and usable given access to a TV and a dirt cheap USB keyboard and SD card, it's cheap enough to be purchased and given to a child to play with, unlike Mummy's laptop. Also, it has a user I/O port, meaning it should be relatively easily to integrate with home-built robots and other such fun electronics projects.

However, that's just the hardware side. What's seriously lacking is the software. If you buy a Pi and install one of the available Linux images onto an SD card and boot it up, you'll be presented with a Linux desktop environment. You'll be able to get to a shell prompt with little effort, and start learning shell, or get into a Python prompt and start to write Hello World, but that's not incredibly inviting; the effort required to do anything interesting from there is quite high. In particular, getting graphics going is hardly a job for a beginner.

So, I set out to improve on this situation. I've written a turtle graphics engine on top of Chicken Scheme, called Simple Graphics. Installing it is often painful as you need to get all the required bits of SDL and Cairo installed, but once that's done, thanks to Chicken's excellent egg system, installing simple-graphics is easy. And once you've done so, it's just a matter of:

(use simple-graphics)
(forward 10)

...to get started with drawing things on the screen.

However, that initial installation pain can be bypassed by making a Raspberry Pi image, based on the existing excellent work on basic Linux distributions for the Pi, that has Chicken and simple-graphics pre-installed, with a desktop icon to fire up a Chicken prompt with the simple-graphics library already loaded so you don't need the use line. But then I'd also like to add Chicken eggs to drive the I/O port on the Pi, including I2C and SPI. And sound generation, so you can make noises to go with your graphics while driving a real robot turtle through the I/O port...

It would also be good to have a version that boots straight into a full-screen Chicken prompt (which, if you start doing turtle graphics commands, splits into two, a graphics area that can be hidden/revealed/made full screen with hot keys, and the command-line area), for people using small screens.

That way, kids of all ages could immediately have an interactive environment that lets them program the full range of capabilities of the Pi. And being based on Scheme, it wouldn't be a "dumbed down" environment they'll grow out of and have to learn a new language in order to do more powerful things; they'll be able to use all the Chicken Eggs available, as well as being able to write their own code in a language eminently capable of the full range of programming tasks - yet still simple enough for anybody to get started with. Sure, I could have based Simple Graphics on Python or Ruby; but anything they can do, Scheme can do better.

ORG-mode and Fossil (by )

I'm always moaning about how I have too many ideas and not enough time, so it's quite important to me to manage my time efficiently.

My biggest concern, with many projects on the go at once (and I don't just mean fun personal projects, I'm including things my family depends upon me for as well), is that I'll forget something important I'm supposed to do. And I'm also concerned that I'll forget a fun personal project, so that when I do get a moment, I can't think of anything to do, or that I spend my time on something that doesn't get me as good a reward for the available resources as I could have had.

Therefore, I've always been a big fan of "To Do" lists in one form or another. I've tried a few apps to manage TODOs for me, from the excellent personal information management facilities of the Palm Pilot to Things on the Mac, but I've tended to find such things restrictive. For a long time I had a complex OmniOutliner setup that also computed my timesheets with AppleScript, which suited me well; indeed, I've still yet to completely migrate all of the content out of that file (tricky now I no longer have a Mac, but I've looked at the underlying XML file and it seems reasonably parseable), and I think it still contains some notes about ARGON that I've not written up anywhere else!

However, I've had the most success with text files, adding hierarchic structure with headings, so it was fairly natural for me to try Org Mode one of these days. For those not in the know, this is an Emacs package designed to help you organise things with hierarchically-structured plain text files. You write heading lines prefixed with an asterisk, indicating the level of nesting by adding more asterisks, and Org helps by syntax-highlighting the header lines, hiding entire subtrees so you can see the large-scale structure, editing operations to cut and paste entire subtrees (properly adjusting the levels to match where you paste the subtree too), and so on.

But that's just the start. That's what it inherits from the Outline Mode it's based on.

What Org Mode adds on top of that is really hard to list. You can add workflow tags (TODO -> INPROGRESS -> STALLED -> DONE, for instance; you get to define your own little state machine), along with optional priorities, to mark some headings as tasks requiring attention (and obtain a report in the "agenda view" of all headings in certain states, ordered by priority, for instance). You can attach tags to headlines (and use them as filters in the agenda). You can attach arbitrary key-value metadata lists to headings (which are folded down into a single line, and opened up on request, so they don't clutter it), and use those to annotate things with deadlines, or scheduled dates, and have a calendar view in your agenda. Or use the key-value properties to filter the agenda view. Or have Org Mode automatically record a log book of state transitions of a task in the metadata. Or take metadata keys out and display them as extra columns in the hierarchy of headings, in a manner reminicent of OmniOutliner. You can embed links to other files that can be opened in Emacs; if it's an org-mode file you can link to a heading by a unique ID, or you can link to any old text file by line number or by searching for nearby text. There's a feature you can use, while editing any file, to create an Org-Mode heading containing text you are prompted for and a link to the place you were at in the file you were editing, timestamped, inserted under a specified heading of a specified org-mode file, so you can trivially create tasks referencing the file you're working on. Or you can embed executable elisp code to perform arbitrarily complex operations.

I'd been using Org Mode for a while, but I wasn't really using it properly; I had a whole bunch of .org files for different areas of my life, but it was sometimes difficult to fit things into the taxonomy. However, lately, I've had a big tidy-up of my home directory.

I've migrated old projects from Subversion or Git into Fossil, for a start, so now all of my projects - open-source ones at Kitten Technologies, and personal ones, are in their own Fossil repos, which means they have their own ticket trackers for their individual tasks. But each and every one of them has a heading in my new single tasks.org file, which is a unified repository of things I should, or would like to, think about. Fossil projects have a single heading, tagged with "FOSSIL", that lists the place in my home directory where I have the repo working copy, and the URL of the master repository on my server; Γ…Β§his exists to prevent me from forgetting about a project.

I've migrated our long-standing home wiki (mainly a repository of recipies and other such domestic stuff) into the inbuilt wiki of the Fossil repo I already use to store documentation about the house, such as network configuration, a PDF of the plans from the Land Registry, and stuff like that; and the ticket tracker in that repo is now the domestic TODO list. Running the Fossil web interface for that repo off of the home fileserver means that Sarah and I can share the Wiki and task list. And I've configured the Fossil user roles so that anonymous users can't see anything too sensitive.

So in general I've moved as much as I can to Fossil repositories, combining versioned file storage and ticket tracking with a wiki as appropriate; and my tasks.org exists to act as an index to all of them, and to store actual task list items for things that don't naturally map to a fossil repo, although I may find ways to deal with those as well (for instance, I have a fossil repo I use to store my org files, encrypted password database, household budget, address book, and the like, that I'm not using the ticket tracker on; that could be used as a place to put my general administrative tasks as tickets).

However, although putting tickets in the repositories that store individual projects is conceptually neat, and allows for third parties to interact with my task list for open-source projects on Kitten Technologies, it does mean that I have a lot of separate task lists. tasks.org means I won't forget about any of them, but I still have no simple way of knowing what the most urgent or interesting task out of all of my twenty-five repositories is. That's not a great problem in itself, but the next logical step will be to use the automation facilities of Fossil to pull out the tickets from all of my repos and to add them into tasks.org as tasks beneath the corresponding Fossil project heading (including the ticket URL so I can go and edit them easily), so I can see them all consolidated on the agenda view...

Part of this process which has been interesting, though, is digging out various old TODO lists (such as the aforementioned OmniOutliner file) and project directories scattered over archives of old home directories and consolidating them. I've found various projects I'd forgotten about, and neatly filed them as current projects or into my archive tree as old projects (and, oh, how I look forward to being able to put things like that as archives into Ugarit, automatically cross-referenced by their metadata...). Having brought everything together and assembled an index reduces the horrible, lingering, feeling of having lost or forgotten something...

Me Bucky Balls and All (by )

Knitted Bucky Ball

Thursday the 12th of July saw me at the Grain Barge performing geek poetry, throwing knitting and inflicting my sense of humour on people.

Science Equipment

We turned up and there was some classical science equipment set up - which is always 'ooooo do you think there will be fire and explosions and glowing stuff?'.

The show got started with the comedic Steve proclaiming he had super powers - he the guy who organises and entertains between the acts.

Super Steve at Science Show Off Bristol 2012

The first act was Jim Bell with his spiders which the brave Suze who is very scared of them, managed to hold momentarily with lots of squeaking.

Fear of Spiders Brave Suze Holding a spider

Then it was time for the fire and glowing stuff but alas no explosions πŸ™

Decian Fleming at Science Show Off Bristol Flying Tea Bag Glowing Science

Then it was on to Sophia with her set on why parents are so annoying.

Sophia Collins at Science Show Off Bristol Sophia at Science Show Off Bristol

At some point a red nose appeared just to remind me that Clowns exist shudders

Red Nose Steve

Then we had Joe Wright and a very funny sketch and video about Darwin - including all the mistakes in the video πŸ™‚

Joe Wright

Then we had Nicole Slavin and opera about STIs.

Nicole Slavin at Bristol Science Show Off singing science opera Nicole Slavin

We then had a break were instead of talking to the people who had come to see me I was hovering waiting for a laptop to work so that my first power point in 6 yrs could be shown and to make it worse it wasn't actually a power point :/

But then we had the Science of Cocktails and me being me I announced to the room that I like the frothy head :/ Which Suze who was doing the talk gracefully sailed over.

Science of cocktails Science Show Off Bristol

Then there was Sam Phippen with his funny stories of Robots that kids build.

Sam Phippen robbot dude at Science Show Off Bristol

Then there was me - I was so nervous

Sarah Snell-Pym Science Show Off Bristol

Here is the video

And yes I corpsed and yes I got flustered and yes someone nicked my knitted bucky ball!

Then we had a talk on Viruses!

Karl Byrne at Science Show Off Bristol

And then to finish off we had the halarious nerd rock of Mark Lewney.

Nerd Rock Mark Lewney and the geek guitar of win

The Higgs Field (by )

The Higgs Field

This is a visual joke or pun about the Higgs field. It is in no way correct. I drew it last night and already this morning my little girl asks 'What's a Higgs Field?' so it's purpose has been served.

A Higgs Field is not the type of field where fluffy lambs play but it is thought to 'birth' the particles of the Boson family. These are sub-atomical particles but they are some of the ones that make up the sub-atomics you learnt at school. The Higgs-Boson particles are thought to be what gives all the other particles mass. Mass is what makes matter all clump together.

Matter is everything, so that is the atoms that make the stars, the atoms that make the Earth, the atoms that make you and me and Jeany and little baby Mary. All of it.

Without the Higgs everything would be wizzing around at the speed of light - they think. This was the idea they came up with 50 years ago, well specifically Peter Higgs did and he was told he was wrong but he kept going even though it is scary to be told you are wrong.

Now I'm still abit hazy on what is a field in this case and what is the particle so you may have to look that up yourself. (on that note guys are we talking probability fields and planck equations here? I'm a bit confused as the field is supposed to permeate the universe?)

The picture came from a friends facebook status were he gave his life sciences view on what had happened yesterday. I liked the imagery of a field giving birth to a particle and then I thought about the fact that yesterdays discovery had taken fifty years but like 3 of hard slog and that became the labour in my mind. Then I thought about the fact that they have found a Higgs-Boson and not the Higgs-Boson* and how annoyed anyone would be to have spent that long in labour and be told it wasn't over yet!

It is a shameless personification of something that can only really be visualised with mind bending maths and it is done as a joke! Honest guys don't shoot me πŸ™‚

p.s. I am not saying that the theoretical part before the collider wasn't hard slog but more that the physical aspect of the experiments fit better with the idea of labour!

WordPress Themes

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