on computers and female geekism

computer kit with lots of components

build your own computer kit

I and most of my family headed to Margate today for GEEK 2013 (Games Expo East Kent). I and one son went last year and enjoyed the talks and discussions that took place. I was disappointed that there didn’t seem to be scheduled talks this year, and I felt the whole event was much more about looking back and being a games consumer than looking forward and being a games creator, whereas last year the balance was better. Still, there was the main hall full of games consoles for people to play (didn’t spot any ZX81s this year, but spotted a couple of BBCs and Commodores with things like 10 John was here 20 goto 10!) and the upper hall with stalls and exhibitions.

Youngest son enjoyed the halo and minecraft most, of course. Hubby and I found more of interest in the upper hall, where alongside the cosplay there were also electronics demonstrations. The Pi and Arduino workshops turned out to be a couple of people showing what they were and promoting them, and I had an interesting chat with one man about computers and schools and programming and electronics.  There was also a gentleman selling kits to build your own computer. The kits cost £20, and the end result was a tiny circuit board, smaller than a pi or arduino, that included a fully working keyboard (8 keys), plugs into a TV and can be programmed to produce simple games – think of a ZX81 DIY kit, but much smaller.

We decided to buy two, one each, and left the man with our padded envelopes full of components. The instructions are available via the website, and there is also a support group who we are told are active in producing listings and ideas.

Expect to read more about this project over the coming weeks as and when I get a chance to build it and play with it, but the other thing that struck me during the day was how male-oriented the event was. Everywhere you looked, there were boys crowded around screens, playing, watching, discussing, and females were definitely in the minority. There were a couple of talks in the end, unadvertised but announced on the day, one about the history of games and promoting the speaker’s book, and another from a couple who were promoting their film on the games industry in the UK, and through those there was also definitely the message that the games industry is dominated by men. (There was another unadvertised talk, too, a Q and A with indie games developers, but that was scheduled at the same time as the movie talk, which was rather irritating as I would have liked to attend both.)

So why is the computer industry so male orientated? This was something I pondered as I returned to the house and sorted out making tea and organising the washing machine and dryer, pottering around doing various household tasks before finally managing to sit down and get the laptop out.

Is that part of the reason? That the boys who dabbled in computers grew up into men who dabbled with computers, while the girls who dabbled grew up to take care of the house and children and had no time left for playing? That the boys are eager to try things, and the girls much more likely to step back and watch them? The same thing that makes men more likely to figure things out for themselves and women more likely to ask for help? The same thing that makes men more likely to be competitive and women more likely to be co-operative?

Is this innate or is it culture-related? While men are those making games, they will make games that appeal to men, which means men are more likely to want to enter the industry and make more games. While women are content to step back and let the men get their way, how can they change things?

When I studied a foundation course with the open university, as part of the science module we learnt about how it was not until women joined the scientists that a whole new side of the way gorillas behaved was recognised. In the same way, it’s not until women really push themselves into the computer industry that the industry will grow properly and become more balanced.

The idea of introducing computing right from the start of the educational progress is a big step towards that, if done in the right way: if we can introduce it in a way that doesn’t alienate half the population. In the same way that we need to get over this “cool to be useless at maths” attitude, we need to get over the “I can do email and facebook, what more do I need” attitude about computers.

Getting back to the kit, I feel like I’m on a quest to find out how computers really do work. The programming side is straightforward, and I understand the theory/software side of things. What I don’t understand is how the hardware makes these things happen. That’s part of what my electronics experimentation is about, and I welcome this chance to take my knowledge back a stage further, but at some stage I still want to know how the software is acted on, how the processors themselves work.

In the meantime, it’s back to school next week…



An amazing summer

It’s nearly time to go back to school, so my time spent blogging/playing with computers is likely to drop rather, but I just wanted to look back on what turned out to be an amazing summer, completely different from the previous few.

It started with me realising that while many years ago I looked up to those older than me, and more recently that has crept to admiring the work of my own generation, suddenly I’m finding that those younger than me are doing wonderful things – somehow it feels like life has passed me by and moved on, and it’s the next generation now pushing things forward.

I’ve learnt about things like hackspaces, where people gather to share ideas and make things, and I’ve learnt about coderdojos, where people, including kids, come together to develop their programming skills.  I’ve learnt about hackdays, where people come together just to get some concentrated coding done and to learn and share.  I’ve learnt that if something doesn’t exist you don’t just complain, you go out and build it, and make it look good into the bargain, and the end product can matter less than the learning from the process.  I’ve learnt to solder, and started to learn basic electronics.  I’ve learned that people do indeed use HTML to create clean-coded web pages, and that reading other people’s code can be fun as well as a learning experience.  I’ve played around with several different programming tools, and learnt some of the advantages and disadvantages of them.  I’ve revisited a lot of my learning and discovered that I haven’t forgotten as much as I thought, and that I can do more than I always imagine.  I’ve improved my multimedia skills as well as programming skills, because communicating is just as important as programming when it comes to a complete project.

I’ve learnt that it’s an amazing, exciting world out there for someone who wants to learn, because there are so many ways to find things out – not just books, as there was in my youth, but websites with written content, images to look at and even demo videos to watch.  There are colleges and universities out there offering learning for free, and plenty of people to share the learning with.  Many people who are out there working on various projects are able to do it not because they studied officially for years, but because they went out and got the learning they needed, in whatever way they could.

Kicked into action by this, I started to do things for myself, instead of just sitting wishing, and so I’ve done a lot of coding, both on projects from books and on my own projects.  I’ve written games and apps, and developed my understanding of how and why games work, and how computers can control so many things around us and why it’s so important to know exactly what you want and to be able to explain it clearly.

I’m ending the summer a lot more confident about what I can do and what pitfalls to look out for, and with a conviction that the time is coming when more and more people are learning to make and do things for themselves, and that for those in that position there are many opportunities to succeed.

I just wish there were more opportunities locally to meet up with like-minded people, because however much fun it is to meet people in cyberspace, it’s got to be even more fun to get together in person, with the fun and games that can ensue from that.

Arduino project 7 – buttons

arduino project with an LED and two buttons

two buttons and a light

The next arduino project in the book is the first to use input: it uses two buttons and an LED, so that pushing one button will turn the light on and the other turns it off again.  Still a simple idea, but one that illustrates how input can be used in a program to control a light, and could be extended theoretically to control any components by pushbutton input.

The loop part of the program is straightforward:

void loop(){
   if (digitalRead(inputPin1)==LOW){
     digitalWrite(ledPin,LOW); //turn LED off
 else if (digitalRead(inputPin2)==LOW){
   digitalWrite(ledPin, HIGH);//turn LED on

It was strange to be back writing in Java again with its curly braces and semicolons, not to mention having to declare variable types, but I’m finding it easier these days to switch between the two – and of course indenting comes through habit having dealt with Python so much!

What does frustrate me now is that theoretically I should be able to code a set of pelican crossing lights triggered by pressing a button, and I’m sure that I could reasonably easily figure out the code to use, but the knowledge I don’t have is how to join the components together, as the project book tells you what to use and where but not why or how they work. Comments like “there is one component that might seem out of place…” really don’t help, as its assuming more knowledge of the circuit than I have.

I’m starting to make a point of looking at the circuit diagram supplied as well as the schematic of the construction, but I’ve no idea when resistors are needed or what size to use, or when a capacitor or transistor is needed, and I would not be able to create my own project, although I’d be quite happy following the sorts of instructions I’ve come across so far, which are of the type of put X here and Y there and Z goes in this spot.  To be honest, I’m not sure what sort of time I’d have to learn any more about these components, although I have come to enjoy my weekly soldering sessions (last week I made a battery powered gadget that responds to sound by flashing lights on and off, and the timer I made the week before has somehow started working correctly – previously it wasn’t beeping when the time was complete, but just when it was turned off).

What I have gained over the summer, however, is a deeper understanding of what circuit boards are (I even looked up how to make them!), what the different components are, the skill needed to assemble and solder them and the sorts of things that can be done with an arduino and a handful of bits.

There are still four more projects in the book, and there are plenty more arduino books out there, but with summer drawing to a close I’m not sure how much time I’ll have to devote to playing with electronics.  My interest has only grown over the few weeks I’ve been playing, however, and I’ll be doing my best not to abandon the arduino and the soldering iron.

I may even try playing with bits and doing some research to see if I can mock up the three traffic lights, two pedestrian lights and button that would be needed for a pelican crossing prototype!

In the meantime, the weekend’s task has to be to get the Pi up and running and see what I can do with that, so I’m off to tidy my desk up a bit to make room.


Electronic timer project

assembled timer - lots of LEDs!

assembled timer – all hand soldered in

Time for more soldering – delayed from the weekend due to real life commitments, but eventually I managed to get the soldering iron out, this time for the kitchen timer kit from Maplin.

A couple of hours’ work assembled all components, including a buzzer, 16 LEDs, an integrated chip, resistors and capacitors, the battery box was connected and the whole thing screwed together – so it was time for the moment of truth!

completed timer with LEDs showing

completed timer with LEDs showing

Yes, it all works, I’m pleased to say.  I now have a working kitchen timer that I made myself from components.  The push button sets the time, then the lights gradually go out until at the end they light up in a pattern.  The buzzer sounds when the timer is turned off.

This was a simpler kit than the radio (which I still haven’t found a power supply to test) but on the whole probably a little more fiddly, owing to the size of the LEDs and the sheer number of them.  I figured out how to make electronics easier – make the circuit boards bigger so that the soldering is less fiddly, but I suspect the experts would disagree and tell me it’s just experience! I’m currently using the 30 watt size soldering iron.  They do make smaller sizes, and I suspect that if I end up doing a lot more electronic soldering I’ll splash out for a smaller, more delicate one – and a proper soldering stand, as it’s nervewracking having a hot soldering iron sitting on the desk not properly secured.

What I don’t know yet is how to make a circuit board – I suspect it’s something to do with etching, and beyond both my capabilities and tools – but on the whole I’m a lot happier with the idea of assembling electronic components and programming them than I was at the start of the summer.

Musical arduino

arduino with piezo element for sound

arduino with piezo for sound

Time for another arduino project – project 6 in the kit uses the piezo element to make sound.  While I fully admit to not knowing how the sound works, the program supplied with the kit maps note names to tones, meaning that it’s easy to adapt the lists for notes and beats to play whatever tune you want – as long as it’s in the key of C with no sharps, flats or really odd beats, that is! (although I’m sure it would be simple enough to either find a list of notes mapped to tones or experiment to find the right frequency)

The program originally plays twinkle twinkle little star, but I altered it to play Doe a Deer, by matching the correct list of notes and the correct list of beats.

void playNote(char note, int duration) {
char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };
char notes[] = "cdececedeffedf "; // a space represents a rest
int beats[] = { 3, 1, 3, 1, 2, 2, 4, 3, 1, 1, 1, 1, 1, 2, 4 };

The sound itself could do with amplifying, as it’s a little quiet, but that’s really not a drawback at this stage, possibly more of a mercy!

The code provided could easily be amalgamated into a larger project, I’m sure, making it easy to develop the system into something useful and interesting.  For now, I’m just learning about the different things the arduino can do.

While the coding is fairly straightforward, however, I still don’t have much idea yet of how to join my own components together in a circuit.  Ah well, another five projects to go from the starter kit, then there are plenty more resources out there.

Soldering session

radio kit from Maplin

radio kit

After my cat knocked my radio flying – again – and trashed it completely, I decided to be more adventurous than just buying a new one.  It was time to make my own!

A kit from Maplins seemed the ideal solution, which meant it was time to learn how to solder.

partway through construction, some components assembled

partway through, front view

The instructions were inside the pack, and at first they seemed confusing, but I soon got the hang of matching parts to places.  It was interesting to note that I already recognised parts such as transistors and resistors from my work on the arduino, but of course with the breadboard it’s just pushing pegs in, whereas here I actually had to use a soldering iron.  Luckily we’re a fairly practical family so materials were to hand.

I soon learned that being shortsighted actually helps as I get my best view if I take my glasses off and peer really closely, and the whole project was completed in a couple of hours or so, with only a very slight mark on  my desk from a drop of hot solder and a tiny burn to the tip of one finger – although a cat got yelled at for trying to jump on my desk (different cat!) and once or twice I found myself being rather less than careful with the hot soldering iron than my husband would have approved of (shush don’t tell!).

finished project from the front

finished project – front view

I thoroughly enjoyed my afternoon of putting the radio together, and although I haven’t yet located a power supply to test it with so don’t know how successful my work has been, I will definitely get another kit and try a different project.  More importantly, I’m looking at the insides of the old shattered radio, recognising bits and realising that it really doesn’t take much to cross from user to creator.

finished project from the back, showing the speaker

My neat soldering!

In the end, it really doesn’t matter whether the final project works, because the learning experience has been well worth the cost of the kit (£15).  Now I know that soldering is not as scary as it always appeared to be to a complete novice, I’ve seen first-hand what components go into making a radio and I have a real sense of achievement.

One challenge still to come is building a cat-proof case!