Shooting with Flash (And Motofest 2018)

Talking about shooting with an on-camera flash at Coventry Motofest 2018.

I’ve never really used my flashgun before, mostly because on the odd occasion that I have used it at a shoot I ended up with under, or over exposed images and thus never wanted to risk wasting time and shots just to practice.

Last Saturday I decided to seriously try out my flash at an event where my photos were purely for myself, rather than with the intent to sell them.
I was shocked to find my results to be fantastic!

“The prettiest girl is riding in the ‘Stang!”

The day was probably quite appropriate for shooting with an on camera flash.
It was a little overcast and although bright-ish, things just were not popping very much.
So adding some light from a flash worked well.

The subjects seemed to work for flash too, shiny cars!

A row of MGs

I found that to get the exposure right I had to dial up the shutter speed or aperture so my camera was showing a couple 0.1 stops over exposure, otherwise the image would look too dark. Despite using i-TTL mode.
I wonder if this is because of using a diffuser and angling the flash at about 60 degrees, some of the light would be directed upwards and not hit the subject.

Using the flash without a diffuser was terrible, all images just had hugely over-exposed sections where the flash hit.
The regular hard-plastic diffuser that came with my flash is ‘fine’ — but the new one is certainly better. It results in a softer light that is much more directed towards the subject than the plastic one.
Instead, I used a diffuser I’d got from Amazon a few days before.

Flash comparison — Both same shutter, aperture and ISO. The left is lit with the new diffuser, the right with the hard plastic one.

From the above comparison it is clear to see that the new diffuser provides more light more widely spread across the image.

Example of a portrait photo where the flash is being bounced towards the subject well by rotating the diffuser.

The added benefit of this item is that it has a reflector in the back on the inside — allowing me to easily shoot portrait with on-camera flash and just rotate the diffuser so that light is still being bounced toward the subject from the front. Rather than the light ended up hitting the left or right side of the subject.

Below are a bunch of my favourite images from the event. But I got about 100 good ones.

It was a lot of fun being able to try out new equipment without the pressure of having to produce good images.

I now feel confident to get good photos with an on-camera flash.

Shooting different subject for once was also fun! When shooting static subjects one has a lot more time to choose the composition of an image. Although I note now that most of my images see the subject square in the centre of the frame.

60% of the time, works every time
Whatever level of zip ties you’re on, you’re not on this level of zip ties.
Lego block engine cover in a Nissan Cube
An Aston Martin V8 Vantage in Gulf livery
More Gulf livery, this time on a VW Golf.
Jacuar
I also got to try out my 100mm macro lens — although it is certainly too long a focal length for shooting cars.
Ford V8 with Holley carburettor.
I call this one “I like to chop up pedestrians” — also thats the smallest number plate I’ve ever seen.
More lights = Better
Skele says Hi.

DSLinux on a DSLite with an M3DS Real card and SuperCard SD

DSLinux running on a Nintendo DSLite

I recently bought a gorgeous pink Nintendo DSLite with the sole purpose of running DSLinux on it.
When I posted about my success on Mastodon , someone helpfully asked “Has it have any use tho?”.
Lets answer that right away: Running Linux on a Nintendo DSLite is at best a few hours entertainment for the masochistic technologist, and at worst a waste of your time.

Running Linux on a Nintendo DSLite is at best a few hours entertainment for the masochistic technologist, and at worst a waste of your time.

But, I do rather enjoy running Linux on things that should not be running Linux, or at least attempting to do so. So heres what I did!

Hardware:

  • Nintendo DSLite
  • SuperCard SD (Slot 2)
  • M3DS Real (Slot 1)
  • R4 Card (Knockoff, says R4 SDHC Revolution for DS on the card)

DSLinux runs on a bunch of devices, luckily we had some R4 cards and an M3DS Real around the place which are both supported by DSLinux.
I purchased a SuperCard SD from Ebay to provide some extra RAM, which apparently is quite useful, since the DSLite has only 2mB of it on it’s own.The SuperCard SD I bought had 32mB extra RAM bringing the total up to some 34mB, wowee.

R4 Cards

The first cards I tried were the R4 cards we had.
They’re popular and supported by DSLinux. Unfortunately, it seems the ones we’ve got are knockoffs and therefore proved challenging to find firmware for.
I spent a long while searching around the internet and trying various firmwares for R4 cards — None of them I tried did anything except show the Menu? screen on boot.

Finally, finding this post on GBATemp.net from a user with a card that looks exactly the same as mine lead me to give up on the R4 card and move on to the M3DS Real. Although the post did prove useful later.

It should be noted that the R4 card I had had never been tested anyway, so it might never have worked.

M3DS Real

Another card listed as supported on the DSLinux site, so seemed a good one to try.
We had a Micro-SD Card in the M3Real anyway, with the M3 Sakura firmware on it so it seemed reasonable to just jump in there.

I copied the firmware onto another SD Card (because we didn’t want to loose the data on the original card). It was only 3 folders, SYSTEM, NDS and SKINS in the root of the card. The NDS file containing ‘games’.

In this case, I put the DSLinux files (dslinux.nds, dslinuxm.nds and ‘linux’, a folder) into the NDS folder and stuck it in my DSLITE.

After selecting DSLinux from the menu, I got the joy of….a blank screen.

Starting DSLinux from M3 Sakura results in a white screen

Some forum posts which are the first results when searching the issue on DuckDuckGo suggest that something called DLDI is the issue.

The DSLinux ‘Running DSLinux’ does mention patching the ‘dslinux.nds’ file with DLDI if the device one is using doesnt support auto-dldi. At the time this was all meaningless jargon to me, since I’ve never done any Nintendo DS homebrew before.

Turns out, DLDI is a library that allows programs to “read and write files on the memory card inserted into one of the system’s slots”.
Homebrew games must be ‘patched’ for whatever device you’re using to allow them to read/write to the storage device.
Most of the links on the DSLinux page to DLDI were broken, but we descovered the new home of DLDI and it’s associated tools to be www.chishm.com/DLDI/ .

I patched the dslinux.nds file using the linux command line tool and saw no change to the behaviour of the DSLite, still white screens.

Upon reading the DSLinux wiki page for devices a little closer, I noticed that the listing for the M3DS Real notes that one should ‘Use loader V2.7d or V2.8’.

What is a loader??
It means the card’s firmware/menu.

Where do I find it?
On the manufacturer’s website, or, bringing back the post mentioned earlier with the R4 card user on GBATemp.net, one can find lots of firmware’s for lots of different cards here: http://www.linfoxdomain.com/nintendo/ds/

Under the listing on the above site for ‘M3/G6 DS Real and M3i Zero’ one can find a link to firmware versions V2.7d and V2.8 listed as ‘M3G6_DS_Real_v2.8_E15_EuropeUSAMulti.zip’.

Upon installing this firmware to the SD Card (by copying ‘SYSTEM’ folder to the root of a FAT32 formatted card, I extracted the DSLinux files again (thus, without the DLDI patching I’d done earlier) and placed the files ‘dslinux.nds, ‘dslinuxm.nds’ and the folder ‘linux’ to an ‘NDS’ folder, also in the root of the drive.
This is INCORRECT.
Upon loading the dslinux.nds file through the M3DS Real menu it did indeed boot Linux, but dropped me into a single-user mode, with essentially no binaries in the PATH.
This is conducive to the Linux kernel having booted successfully, but not being able to find any userland. Hence the single-user and lack of programs.

Progress at least!

I re-read the DSLinux instructions and caught the clear mention to ‘Both of these must be extracted to the root directory of the CF or SD card.’ when talking about the DSLinux files.

Upon moving the DSLinux files to the root of the directory and starting ‘dslinux.nds’ from the M3DS Real menu I had a working Linux system!!

I type `uname -a` on DSLinux. Its running Kernel 2.6.

Notice the ‘DLDI compatible’ that pops up when starting DSLinux — That means that the M3DS Real auto-patches binaries when it runs them. Nice.

What Next?

Probably trying to compile a newer kernel and userspace to start with.
Kernel 2.6, at time of writing, is 2 major versions out of date.

After that, I’d like to understand how DSLinux is handling the multiple screens and multiple processors.
The DS has an ARM7 and an ARM9 processor and two screens, which I think are not connected to the same processor, the buttons are split between the chips too.

Lastly, I’d like to write something for linux on the DS.
Probably something silly, but I’d like to give it a try!

Don’t ask me questions about DSLinux, I don’t really know anything more than what I’ve mentioned here. I just read some Wiki’s, solved some problems and did some searching.

Thanks to the developers of DSLinux and DLDI for making this silliness possible.

Constantly Confusing: C++ const and constexpr pointer behaviour

A quick explanation of how const and constexpr work on pointers in C++

So I was checking that my knowledge was correct when working on a Firefox bug.
I made a quick C++ file with all the examples I know of how to use const and constexpr on pointers.
As one can see, its pretty confusing!

Because there are several places in a statement where you can put ‘const’ it can be complicated to work out what part of your statement the ‘const’ is referring too.
Generally, its best to read from right to left to work it out. i.e:

static const char * const hello;

Would read like:

hello (is a) const pointer (to) const char

But, that takes a bit of practice.

C++’s constexpr brings another new dimension to the problem too!
It behaves like const in the sense that it makes all pointers constant pointers.
But because it occurs at the start of your statement (rather than after the ‘*’) its not immediately obvious.

Heres my list of all the ways you can use const and constexpr on pointers and how they behave.

Working with PDF Highlight Annotations Programmatically

PDFs are the format of choice in academia, but extracting the information they contain is annoyingly hard.

I’ve just started working on my degree’s final project. An academic project requires lots of research, which means reading lots of papers.
Papers are normally available in one form only, PDF.

While PDF is a format so ubiquitous nowadays that one can guarantee being able to display it as the writer(s) intended, its not a nice format, as I found out as soon as I needed to do something with it.

During the course of my research, I’ve been using PDF’s highlight annotations to highlight parts of a paper that’re particularly interesting.
I wanted to be able to retrieve the highlighted text at a later date so I didn’t have to open the paper again to find the parts I found interesting when I read it the first time.

You’d think that exporting annotations on text would be something that all PDF readers which support annotations (most of them do) would be capable of. I mean, surely its easy enough even if there arnt that many reasons why you’d want to do it.

Alas, none that I found running on Linux had this feature, so I delved into trying to write something to do what I needed.

I based my project on a tool I found in a StackOverflow answer to a question similar to mine.
The Python code in the answer utilises poppler-qt4 to export annotated text from a PDF. Unfortunately, the code is Python2 and the python poppler-qt4 package wouldn't install properly on my system anyway, even after installing the poppler-qt4 package.
Neither did Python’s poppler-qt5 bindings.

Convinced I could do a better job than a Python 2 script which depended on a package last updated in 2015, I translated the answer into the equivalent in C++.

I started with trying to use poppler-cpp, the C++ bindings for poppler where one has objects and namespaces, and none of the guff associated with GUI frameworks that I wouldn't need here. However, to my dismay, poppler-cpp doesn't support annotations at all. For whatever reason, annotation support only works with the bindings to a GUI framework, like glib or QT.

So instead I used poppler-glib (i.e glib from the GNOME project). Purely because I use GNOME, so wouldn't have to install anything extra.

Now, the PDF format is really odd. Annotations seem to be an after-thought to the format tacked on later.
Specifically highlighting is weird, because a highlight annotation has no connection to the document’s text.
As such, poppler’s poppler_annot_get_contents(PopplerAnnot *) which should return the annotation’s contents, returns nothing.
Instead, to get the text associated with a highlight annotation, one has to get the coordinates of the highlight annotation (A PopplerRectangle) and then utilise the function poppler_page_get_text_for_area(PopplerPage*, PopplerRectangle*) which returns the text in a defined area.

What an entirely baffling way to go about implementing highlighting. Attaching it as purely a visual element, rather than actually marking up the text.

Even more baffling is the fact that although my application works, it only mostly works.
Sometimes I get the full text highlighted, other times it chops off characters, and sometimes it adds things that’re nowhere near the highlighted text at all!
This is a problem I’m yet to solve, and I might never solve, because its ridiculous and the tool mostly does what I needed anyway.

In conclusion; The PDF format is weird, I wrote a thing.
If you use it, let me know how it goes!

https://github.com/Samathy/pdfcommentextractor

I don’t have hope

I don’t have hope about the state of society regarding support of trans people.

On Trans Day of Remembrance 2017 I organised and spoke at Coventry Pride’s event.
I delivered the following words to the attendees. Since I spent so much time crying over writing them, I’ll share them with you too.

Hope is defined in the Cambridge English Dictionary as: To want something to happen or to be true, and usually have a good reason to think that it might.

I am without hope.

As a trans person, although there is so much I want to happen or be true, I can’t see a good reason to think that these things will come to pass.

I dream of fast access to the health care I need.
Access to supportive and knowledgeable professionals whose job it is to know everything there is to know about existing treatments and who might need them. Professionals who listen to and provide for the needs of those who come into their care.
Professionals who are there to help, no matter what your label.
I dream of access to counsellors with whom I can freely discuss my problems and the mess of feelings without the weight of a cost, or time limit above me.

I shouldn’t have to resort to private care.

What we have, is a system of gatekeeping and long waiting lists where the people in need of care often know better what they need and what is available than the professionals with the authority to prescribe them that care.
Despite the pain trans people suffer every day, we have a system which is there to stop us getting care, rather than support us.

I want this system to improve, with a struggling NHS, I don’t see it happening fast enough to help many of those on the waiting lists in time.

I wish we could go a few months without an awful media story or TV show that insults and degrades trans people.

I wish I could wake up and see a trans person presenting the news, or an kids show with boys in skirts and girls in a tie.
I wish I could see bbc news headlines of surprise that someone would attack a trans person, in this day and age, rather than it being the headlines themselves attacking trans people.

But being trans is still controversial, theres still money in writing about and presenting us to those in society who hate us, think we’re weird and a waste of space.

I wish this would get better, but It’ll be a while before the bigots die out. Still long enough to make a few more 1000s of pounds on front-page articles, disgusting language and direct verbal attacks on morning TV.

I long to see gender studies taught in schools, for being trans to be a non-issue for everyone, for gender neutral facilities and language to be expected rather than a pleasant, rare, surprise.

I long to see children exploring their surroundings without the bounding of gender, freely learning who they are without feeling wrong, outlawed or upset if they don’t feel quite right about the gender they’re perceived to be.

I long to read a document that says Mr, Mrs, Mx and offers free text for your gender or skips it entirely.

This is closer to reality, but still nowhere near. Theres lots of places I don’t feel safe, lots of companies who just don’t understand, lots of children who still feel trapped and alone.

I don’t have hope.

But I do believe.

I believe in the power of this community to keep fighting and changing.
That we will support and protect our own.
That we will remember the friends no longer with us.
That we will remember our past and protest for a better future.
That we will educate and inspire.
That we will punch the nazis and remove the transphobes from power.
That we will complain to companies when their title and gender options are from the dark ages.
That we will write counter article after counter article until the media understand.

I believe that we will make a difference.

I think I’ve worked out why Uni is so stressful.

The study environment generates panic.

I’m back at University after taking a year out to work as a professional software developer.

I got back and instantly found everything so incredibly stressful.
Moreso than I felt before during my earlier years at University and certainly more than I’d felt at all during my work years.
It took me a couple of weeks, but I think I’ve figured out a few reasons why making the transition from professional work, back to being a student is so tough.

Fragmented days

The first, and possibly biggest issue I’m having is the fragmented days.

Most days during the week I have some lectures. Often, it’s two or more different modules on the same day, sometimes in different buildings.

The problem with this is that I spend the whole day wildly context-switching .
Not just switching between discrete tasks, like one might do at work, but entirely different mindsets, technologies, and problems.

I’ll be switching from thinking about my Concurrent and Real Time Systems course, its coursework, and the project I’m making for that. Then break for a couple of hours, during which I might have a meeting or spend time working on plans for the society I lead before switching into the next module’s session (maybe OpenSource Development for example) .

I spend the whole day never spending more than about two hours on a particular module or task before switching to another, never finishing anything before having to move onto another thing.

To exacerbate this is that I might also be moving my physical location as well as my mental one. Having to get up and move across campus for the next session when I haven't reached a good point of closure on the one I’m working on.

This way of working makes me feel like I never manage to finish things. I feel like the end of a particular piece of work is never in sight because I can’t work on it long enough at any one time to feel like I’ve achieved something or gotten closer to completion.

Taking your work home

Because I never manage to get anything substantial done during the working day, I have to bring my work home with me.

Taking one’s work home is a fundamental part of University life, as every student will know.
You are never finished, you’ve always got something you should be doing right now, instead of relaxing or seeing friends.

This results in whenever I’m not working towards my degree, I feel like I should be.
I feel like I’m wasting my time doing whatever else I’m doing because I should be working.

This leads to a lot of stress, because one can never relax properly when they’ve always got work on the mind.

Having to wait for the information

While this might not affect other students who have less prior knowledge and experience on their topic than myself, having to wait to be told things because of the plan the course leader set out is incredibly frustrating.

For the past year, I’ve been used to having the project brief set out and being released to go and produce the project (including, of course, doing all the planning and research needed before implementation).

At University, you know you’re going to have to do something but the lecturers hold off on telling you exactly what you need to be producing.
Instead, they tend to release a new piece of information every week. So no matter how much you already know, or how fast you got the work for this week finished, you’re not going to know what you need to do next until the next scheduled lecture.

This results in me knowing that there's a deadline in the future, but having no idea what I need to be doing to make sure that I manage to hit that deadline with everything finished.

In business, you get told what you’re doing and it’s up to you to plan your time and get done what you need to get done to make sure the project hits the deadline.
Yes, there are hold ups that you can’t always get around. But, because you know the whole scope of the project and what you need to get finished, there is normally something else you can work on so you’re not wasting time.

General stressful environment

A big factor that contributes to my general stress is feeling the stress of everyone around me.

University is so full of people who are in no way relaxed. People who are out of their depths. Lecturers reminding you of the deadlines so you don’t forget.

University just feels buzzing with stress-fuelled energy, and it doesn't help anyone.

Maybe it’s me?

But also, it might just be me.
I’m stressed already and I’m only a couple of weeks into term.
My deadlines feel like they’re on top of me, even though they’re all in November.
My society needs constant attention and planning (with help from a fantastic committee)
I moved back into my parents and had to store most of my stuff.
I need to plan my Final Year Project, somehow (I have no supervisor yet)
I’m speaking at some conferences soon.
I haven’t got any work, and not much money.
Soon I have to start proper work with Coventry Pride again.

So yeah, a lot on my plate and University is not helping much.

Thanks for reading this a-bit-of-a-rant post.

Pride Vibes 2017: Isle of Wight Pride

Isle of Wight Pride welcomed people of all ages to a fantastic event

Pride Vibes: As a photographer for Gay Pride Pics, I attend lots of Prides across the UK every year. Each Pride has a different feel. This series will describe what each Pride was like and what the vibe of the pride was like.

The entire series is my opinion and mine only. Take it as you will. Note that this opinion comes from a 20 something extroverted transwoman who is herself a pride organiser.

I’m still working out what this series is going to be like. Bear with me.

Previous: Coventry Pride

We were delighted to share Isle of Wight’s first ever Pride festival with the Isle’s inhabitants and visitors from the mainland.
The Isle of Wight Pride had already seen quite a lot of press coverage, such as the article from Isle of Wight County Press and the Isle of Wight’s former MP making homophobic statements and so attracted not only a lot of islanders, but also people turning up to support a Pride that proved much more controversial than expected.

TL;DR The event was absolutely incredible. It was the best Pride this season with by far the best vibes going. Inclusive, welcoming, and excited.

It felt like the whole island turned out for the parade.

The Isle of Wight Pride started with a parade through the town of Ryde.
I was astounded to see what seemed like the entire town, maybe the whole island’s population on the streets for the parade.
There was a diverse group of people watching the parade, we saw the old, young and everyone in between.

The buzz from the parade was huge, everyone was so excited to see a Pride parade in their small town.

The buzz from the parade was huge. Everyone was so excited to see a Pride parade in their small town. Everyone was showing their support for each other, and the marchers.

Everyone seemed so happy the the isle has a Pride

The parade featured mostly charities, with a few local branches of businesses present, and some larger ,more well known organisations like Outdoor Men and a surprisingly large contingent from the Scouts.
While nowhere near as long as larger, more established Pride parades like Birmingham or Exeter, the Isle of Wight parade was extremely long considering its their first one.

The parade finished at the Pavilion down by the beach with people tailing the end of the parade off the streets towards the entrance to the main event.

Unfortunately, the main event was ticketed, but free.
This is because of an old law preventing the Isle of Wight from holding an event with more than 5000 people attending.
5000 people is totally more than enough for a first Pride, but I certainly think that if it wasn't for this law, there would have been many more people there.

Isle of Wight Pride was such a happy, excited event

The main event, as mentioned, was held partly on the beach and partly on the beach front.
Isle of Wight Pride featured a reasonable set of stalls, mostly commercial, on their grassy section.

I felt that the large amounts of commercial stalls appeared like they were profiteering from the ‘pink pound’ as a lot of these stalls were not really specifically LGBT+ related.

Everyone was enjoying the isle’s first event

There were a few LGBT+ charities in attendance. I most noted the presence of Mermaids and was amazed to see them on the island.
Maybe it felt like there were a lot of commercial stalls because there really were not many stalls in total at all.

All stall holders were incredibly friendly and I enjoyed feeling very comfortable talking to them.
The feeling around the stalls was very relaxed and calm. They seemed to be seeing loads of custom and the two stages on the grassy area always had an audience sitting quietly and enjoying the shows being put on there.

People in the stalls area seemed just happy to be there and comfortable being who they are.

The beach was busy, but relaxed

The main stage was on the beach section, which was a totally different experience from any other Pride I’ve been to.
The beach was quiet at first before people really started arriving.

It got pretty busy on the beach, but managed to never feel packed and pushed together like some of the other prides. There was always room to move around through the crowd easily (even for me, a photographer with a big bag on!)
The beach stage did feature quite a lot of drag acts, 5 in total I think, but counteracted the large drag presence with powerful political statements and spoken word from several people including Peter Tatchall and Hannah Phillips. The main stage also featured plenty of musical performances across the day.

I was really happy to see Isle of Wight Pride welcome political statements on their stage. It really helped make me feel like the event is keen to maintain itself as a political pride which is well aware of its roots and all the work that still needs to be done by the Pride movement.

It should be noted that although the stage was on a sandy beach, IoW Pride put down plastic boards over some of the beach to allow wheeled personal transport like buggies and wheelchairs access to the main stage area, a great touch.

Unlike many Prides it was not overwhelmingly attended by students and young people, but saw a wide ranging attendance base from young people, young couples, young families alongside older people, and established families. Most Prides do see people from all age groups, but it was extremely striking at IoW to see people from every walk of life.

This diversity really enhanced the vibes of the event. It was such a happy event, but certainly not an alcohol-fueled party like so many other Prides can be.
I never felt uncomfortable with the level of drinking as I have been previously.

It seemed like everyone there was there to show their support for the Isle of Wight’s LGBT+ population, and that the Isle of Wight had Pride in their LGBT+ culture.
Despite the lower population of younger people, I really felt included in the event and all the people I spoke to were also loving it.

It should be noted, however, that it seemed like most attendees were white British people. Not surprising considering the pride was on a small island, but I’m fairly sure I could have counted the amount of people of colour on two hands.

For me, Isle of Wight Pride truly felt like people were proud to be there showing their colours.

Generally, the event was absolutely astounding. I was amazed to see such a wonderful, diverse turnout from the island.
The event had an excited vibe with people showing so much support for the LGBT+ community.
For me, Isle of Wight Pride truly felt like people were Proud to be there showing their colours.

Best Pride of the season so far.

Best of luck to the Isle of Wight Pride organisers and thank you for welcoming us to such a wonderful event.
May your future events continue to have the same vibes as this one.

On Company Diversity Targets

A diversity target number isn't all it might seem to be.

Diversity targets show you’re dedicated to giving women a big enough box

This a reply to Carol Roth’s piece for Entrepreneur. Please read that piece before this one. Make sure to form your own opinions. I invite you to carefully inspect your own thinking and respectfully criticise yourself, me and others.

“Accenture, one of the world’s best-known consulting firms for major enterprises, announced that they have set a target to have 50 percent of its workforce be comprised of women within the next eight years.”

When I first read Carol’s piece, I was quite annoyed. She seemed to be thinking that setting diversity goals meant hiring less capable people to essentially fill check boxes and make a companies numbers look better.

I tweeted about this, and Carol replied suggesting I hadn't quite grasped what she was saying.

I’m very keen to make sure I understand my thinking well before I criticise someone else’s, so I’ve gone ahead and read the article several times since then in order to ensure that I’ve understood well what Carol is trying to say.
It should be noted that I don’t intend to attack Carol personally, but this is a topic close to my heart which I love to foster respectful discussion around.

I’m going to dissect Carol’s piece a little.

Ms Roth starts off by saying that Accenture, the company who set the diversity target in question, have; “set a workforce target not based on experience, qualifications, potential or any work-related factors.”

I agree with this statement. They have indeed got a workforce target which is not based on experience or other work-related things. However, this does not mean that they’re throwing all those factors to the wind when hiring new employees.

A company can have more than one target to aim for. Accenture is saying that Diversity in their workforce is important enough to them that they want to make this target public. They want to have a number that other people can measure their achievements against.

I expect, as they’re a huge company, they’ve got numerous other targets when they’re hiring. And most certainly they’ll still be looking at a candidates experience, qualifications and potential when they’re sitting on the other side of the interview table.

Carol goes on to say that she finds Accenture’s diversity targeting “…offensive and, ultimately, bad for women…”.
Just a slight note here; Carol, you’re a very successful woman. I’m sure you put a lot of effort to get to where you are. But, this target is NOT for you.

This target is to show women that are not already experienced and well known that a company like Accenture is dedicated to providing a platform to allow prospective female employees to be the best that they can be.

A person’s opinion will be coloured (as will mine) by the status you already hold. One needs to be careful of that.

Getting into the meat of the article, Carol explains that she believes businesses should be “interviewing and hiring the best possible candidates they can find for their business”.

I’d invite readers to consider that for a business, hiring a woman (or any other person of minority) might be the best person for their business at that time. Maybe a business is so heavily dominated by men that they really need to get some diversity in there and are weighting a person’s background, personality and identity above their skill set and experience.

However, further on Ms Roth mentions that diversity for the sake of diversity is not a good thing. I.E hiring people just because you need to tick boxes is not a good strategy. (“Diversity for the sake of diversity, though, doesn’t help anything.”)
While considering my earlier point, I’d be inclined to agree with her.

Hiring minorities into an organisation where they will continue to be minorities is a bad idea. It’s a great way to get really fast churn of minority employees as they join, realise that the percentage of non-average employees is bad, and leave again.
If you’re going to hire people because of who they are, make sure that you’re making that choice for the right reasons and that those people are adequately supported by you as a business and by the other minorities within your employment base.
Basically, don’t hire one woman for your department of 50 because you need a woman in there, hire 10 women, 5 non-native people and some other minority people because you need some diversity in there.
That way, everyone can support each other, no one is alone and tokenism is, hopefully, avoided.
Continue working to raise the percentages of non-average employees, too.

We reach a rather interesting part of Carol’s article.
This section talks about how “some industries will have more women and some will have less.”.

I find it surprising that Ms Roth has not picked up on why “arbitrary representation targeting” does help this issue.

She understands that there is issues with some industries underrepresenting women (Engineering, Technology and Academia [citation needed] just to name a few). But fails to realise why having targets helps that.

Having targets help to foster better internal practices and culture.
Such as: widening the pool in which managers circulate job openings to include places where you might find more women (like WomenIn Tech/Eng/Sci initiatives), having a diverse interviewing team or starting up working groups internally examining what the company can do better to increase their diversity numbers.

Having targets also really helps to increase perception of a company externally.
As I mentioned earlier, Accenture is keen to show that they’re actively working to increase their female work force and showing that they really support their female workforce once they are on board (Promoting it’s largest percentage of women to the managing director level in 2016 (30 percent)).

These kind of things really help to show women that this is a company, and industry, that they really want to be in, or at least is willing to consider them on the same level as men.
Large companies publishing their good diversity targets and initiatives hopefully shows women that the industry, and the working world, is keen to bring more women on board and is really ready to provide what those women need to succeed in whatever field.

It’s showing women that the door is much more open now, and is getting much closer to being just as wide open to them as it is to men.

Does representation targeting help women into unrepresented industries? Probably.

According to Ms Roth, some women want to leave the workforce to care for their household. (“Other women have a strong preference to leave the workforce to run a household and care for children.”)

Openly supporting women in the workplace can help to reduce the load on men to be the bread-winners of a family. It can help to allow women to feel that staying in work after having a child is a totally valid option, and men that they can leave work and care for the family. It helps to break stereotypes.

In conclusion, for God’s sake, have diversity targets! It helps to show that your business is ready to employ and support a female workforce. It shows potential employees that they’re not alone, that they’re not being tokenised, that it’s a real effort you’re putting in to get those diversity numbers up and run a great business.

It shows that you really care.

Pride Vibes 2017: Coventry Pride

Laura Tapp performs on Saturday evening at Coventry Pride

Pride Vibes: As a photographer for Gay Pride Pics, I see lots of Prides across the UK every year. Each Pride has a different feel. This series will describe what each Pride was like and what the vibe of the pride was like.

The entire series is my opinion and mine only. Take it as you will. Note that this opinion comes from a 20 something extroverted transwoman who is herself a pride organiser.

I’m still working out what this series is going to be like. Bear with me.

Full Disclosure: I am a trustee and organiser of Coventry Pride. I work specifically on Press and Publicity. This post will be more biased than normal.

Previous: Birmingham Pride

Coventry Pride is in its 3rd year. It’s a smallish pride with a big personality. It brands itself as a ‘Community Pride’ and makes a huge effort to welcome all members of the extended LGBTQIA+ community.

Coventry is a completely free pride welcoming attendees in to a new venue in the centre of the city, University Square.
The venue is much larger than the previous at FarGo Village allowing for massive expansion this year.

Situated right outside the iconic dual Cathedrals the new venue proved much better than last year.
It’s a much bigger space and the event felt very open and a lot less crowded than last year’s pride.
Although, it certainly didn't feel packed, it certainly felt buzzing with happy energy.

The main stage was fairly large and could be seen and heard throughout most of the main square area. Most of the acts proved to be a great success with the audience.
Most of them were musical acts with a smattering of comedy, with the drag acts largely kept to the cabaret stage which is inside Square One, the Coventry University Student’s Union bar and club.

The main square area also featured a bar, which, despite its central location did not result in large amounts of drunk people making me feel uncomfortable.
In fact, I don’t think I saw anyone I would be able to describe as anything other than sober. Which, for me is a good thing.

The supporting stages in Square One featured smaller musical acts and community comedy performances.
Welcomed there were a host of great acoustic musical performances, drag and both small-time and big-time comedy.

The supporting stages welcomed smaller, intimate performances.

The diversity of the event was wonderful.
Being a free event, Coventry Pride is lucky to be able to be open to people of all ages and orientations.
There were lots of families and younger people attending, which was fantastic to see and really helps with the open and welcoming feel of the event.
We saw young and old people attending and having fun. Most importantly we saw people from so many identities! At least, as far as I could tell from the flags people were wearing.
This really helped me and a lot of my friends feel included in the event. The presence of such a diverse set of people really supported the comfortable feeling of a space where one could be themselves without worry.

As well as the outside main area, we also had an inside arrangement of community stalls.

The community stalls were a huge part of the event.

The stalls were as diverse as the attending crowd. We had everything from stalls selling art, offering counselling services, information about scouting, LGBT+ identities and so much more.
We’re really pleased with the amount of community stalls we had and they really helped to maintain the vibe that Coventry Pride aims for. People supporting other people.

The stalls were located inside The Herbert Art Gallery and Museum which proved to be a near perfect venue.

The Herbert provided their huge atrium space for the community stalls which offered a lot of space for attendees to peruse the stalls at their leisure.
The Herbert also offered their gender neutral toilets for Coventry Pride attendees, which was a great bonus to go along with the portaloos and toilets in the University SU.

One thing I noticed at the event was the policing, or lack of.
There were officers at the event and around the surrounding area, but they felt much more like participants in the event rather than bystanders.
We saw officers taking photos, talking to stall holders and seemingly having a great time, just like everyone else.

The police were as much participants as everyone else.

The Sargent on duty on Saturday was a great guy who was super interested in learning as much about the LGBT+ community as he could, asking polite questions when appropriate. He even requested to be posted at Coventry Pride on the Sunday too because he enjoyed the event so much.

A huge event at Coventry Pride 2017 was The Blessing of Haley Bridge and Claire Haines.

Haley and Claire were married earlier on the Sunday at the Guild Hall just up the road from University Square.
Following their wedding, we welcomed the beautiful brides to Coventry Pride and the Chair of Coventry Pride, Paul Desson-Baxter, blessed the wedding in front of 100s of people.

The blessing was a beautiful event. It truly was wonderful to see two women married and celebrate their marriage at a Pride event.

All in all, Coventry Pride was a fantastic event. We’re super happy to have been able to offer an event welcoming such a diverse selection of people from our community.
We’re glad that we’re able to offer the event for free to everyone who wants to come, giving access to all those who need a Pride in their local area.

As always, the volunteers and organisers of Coventry Pride did an amazing job and put in an awful lot of effort to make it happen.

Pride Vibes 2017: Birmingham Pride

Marching in Birmingham’s Parade

Pride Vibes: As a photographer for Gay Pride Pics, I see lots of Prides across the UK every year. Each Pride has a different feel. This series will describe what each Pride was like and what the vibe of the pride was like.

The entire series is my opinion and mine only. Take it as you will. Note that this opinion comes from a 20 something extroverted transwoman who is herself a pride organiser.

I’m still working out what this series is going to be like. Bear with me.

Next: Coventry Pride
Previous: Exeter Pride

Birmingham Pride is the biggest Pride in West Midlands. Its one of the biggest in the UK too, competing directly with the likes of Manchester, London and Brighton.
It draws a totally different crowd to that of smaller, community Prides like Exeter, Coventry and Harrogate, for example.

Birmingham Pride is a very extravagant Pride, with costs in the range of several £100,000's.

Birmingham’s parade featured big companies.

Birmingham’s Parade is a huge affair. It features 10s of organisations from big corporate companies like Asda and Virgin to charities like Birmingham LGBT and Stonewall.
Birmingham’s parade also features a lot of Students, given that each one of its Universities were represented there.

Christians and other religious organisations were represented.

Despite the size of the parade through Birmingham, everyone who walked in it was with some kind of organisation. Everyone was there to represent someone.
Like most bigger pride parades, with Birmingham you’re required to register your marching group and identify roughly how many people are walking with you.
Such a practice prevents the more organic ‘marching for pride’ that you get with smaller Parades.

The result is a parade that features a lot more older people associated with their companies and organisations. Which is great for seeing just how many companies support the Pride movement, but not great if you simply want to join in the march and stand up for what you believe in.

Birmingham Pride does however, feature protesting groups.
There were several groups chanting in protest of current issues.
Stand out groups included a several religious groups, Out in the UK (LGBT+ Asylum seekers), and of course Black Lives Matter.

It was great that Birmingham’s pride march supports protesting groups and is clearly in favour of providing the platform for Pride as A Protest.
It really felt like Birmingham Pride’s parade is a good balance of Pride as a celebration and show of big society support and Pride as a Protest march aimng to raise awareness of issues we still face.

People used Birmingham Pride’s parade as a protest platform.

Birmingham’s large Pride parade draws people out onto the streets.
The whole parade route is lined with people who, despite not being in the parade itself, are just as involved.

The people of Birmingham and the West Midlands seem to make a decisive effort to come out and see and support the Pride Parade.
It creates a busy atmosphere, but in my opinion its not necessarily one of support for the causes.
I felt like a lot of people watching were watching simply for the spectacle of seeing a Pride, rather than because they whole heartily support the Pride movement.
Not that there were not lots of people who clearly supported the movement too, mind.

The Gay Village at Birmingham Pride is a rather different experience to the free Prides in the UK.

At £22 for a standard entry ticket, lots of people are deterred from entering the branded ‘Gay Village’. A naming I Strongly disagree with.
I noted, that as soon as the parade broke away and the village opened, the type of people around suddenly changed and the vibe pivoted to something completely different.

Instead of feeling like I was on a semi-protest march for LGBT+ rights, I was now in some alcohol and nicotine fueled festival that seemed to have absolutely no purpose except to provide a reasonably cheap way of seeing lots of musical artists in one place.

For me, as soon as we went into the village area the Pride lost all sense of, well, Pride.
The people there completely changed, there were practically no young people at all around. Suddenly a huge amount of straight people arrived, and I noticed a sharp decline in the amount of people of colour. I even spotted a couple of hen parties (not that hen parties are bad, but it felt exploitative of the Pride movement).

Thats not to say ALL people from the parade left. This photo of a fetish (?) man getting his face painted highly amuses me.

There were clearly people having fun, and at the start, Idid enjoy seeing so many people meeting their friends and having a jolly gay time.

But as the day drew on, the haze of cigarette smoke increased over the absolutely packed venue area.
I was struggling to move around, I struggled to breath properly and I started to feel very uncomfortable presenting as myself. Entirely not what I expected from an event branding itself as a Pride.

In general, for me, the vibe went from feeling like a reasonably inclusive Pride to feeling like a hell hole of drunk people whome I was not safe around.

Your mileage may vary on this! Its totally possible that I felt uncomfortable because I was not with friends, I was not drinking and I was not particularly enthused by any of the acts on.

Clearly, there were lots of people having a great time in Birmingham Pride’s gay village, and I don’t believe that its going to be a terrible experience for everyone.

Birmingham Pride does provide a fantastic set of acts on a number of stages with some great venues in which to have a fun old time with your favourite people.

They do a great job of making your £22 ticket go a long way too.

Despite my compaints about the event, I’d like to congratulate the the Birmingham Pride committee and all the volunteers on pulling off its largest Pride yet!

Like all Prides, its unique and special in its own way.

I await seeing next years Pride.

Volunteers at Birmingham Pride.

Pride Vibes 2017: Exeter Pride

Young people in Exeter’s Pride Parade

Pride Vibes: As a photographer for Gay Pride Pics, I attend lots of Prides across the UK every year. Each Pride has a different feel. This series will describe what each Pride was like and what the vibe of the pride was like.

The entire series is my opinion and mine only. Take it as you will. Note that this opinion comes from a 20 something extroverted transwoman who is herself a pride organiser.

I’m still working out what this series is going to be like. Bear with me.

Next: Birmingham Pride

My first Pride of the 2017 season was eagerly anticipated. The weather looked promising and the prospect of attending a Pride I hadn't yet visited was exciting.

Exeter Pride 2017 is the 9th Pride in the city, run by an experienced team.

The flag is lifted at the start of the parade

Exeter’s Pride parade starts off at a Church in the centre of the city.
I arrived and was greeted by a very friendly and seemingly super well organised set of volunteers and organisers.

Gathering for the start of the parade took place in the grounds of the church.

I was really happy to see tens of young people being hustled by the volunteers to carry the super long rainbow flag. It felt super welcoming to see so many people younger than myself happy to be carrying the flag through the city.

I noted the lack of corporate groups in the initial parade organising.
The church grounds were buzzing with excitement.

As well as young people featuring in the parade there were a suitable amount of costume wearing people too. I spotted someone in a horse mask, furries, dragged up people and the parade was lead by The Centurion.

A huge rainbow flag carried by mostly young people, onlookers watch.

The parade wound through the city, attracting hundreds of onlookers, most of which didn’t seem to have planned to see a parade that day.

The parade was a very happy affair, everyone in it was really pleased to be there.

There were no chants during the parade and very few groups taking advantage of the platform to use it for protest.
I wouldn’t say it was a ‘carnival’ parade since it was mostly people walking holding onto the flag, but it certainly was not a protest march.

The police marched in the parade, as did a group of Christian pastors.

The parade was just about the right length and generally felt like a really nice place to be. I think this was mainly because it was almost entirely young people marching for themselves and for Pride, rather than corporations and charitable organisations.

Exeter Pride was relaxed

The main event was an outdoor field affair with a single stage, and a fair amount of community and commercial stalls.

Being a completely free to attend event, Exeter Pride maintained the relaxed and welcoming feel that the parade exuded.

Mostly people found their spot on the sunny grass and stayed there all day.
The event felt very chill and very calm.

Although there were bars were not fenced in, there was not a huge amount of uncomfortably drunk people around. People seemed to be content with eating the great food and didn't need to go wild, even into the evening.

I was made really comfortable by the Chair of Exeter Pride delivering a speech on the main stage at the beginning of the event, he said, amongst other things:

‘Straight people are welcome here, but you’re our guests in our space, remember that’

as well as making sure to remind people that:

‘Although many of us have won our battles, there are still members of our community who face adversity every day.’

That really helped me to to feel welcome.

Exeter Pride attracted all kinds of people

The event was attended by lots of different people. Although it was certainly awash with white faces, we saw young people, older people and disabled people attending and having a great time.

Overall, Exeter Pride managed to create a very safe feeling happy Pride with a great community feel and welcoming atmosphere.

Great job, organising committee!!

Next in the Series: Birmingham Pride

Volunteers at Exeter Pride.

A Magical new World — Thoughts of a first time ACCU attendee.

I went to my first ACCU Conference last week. It was great.

ACCU Conference

I’d heard about ACCU from Russel Winder several months ago. He recommended I check out the conference (for which hes on the programme board) since I’m a fan and user of the C and C++ languages.

I arrived in Bristol on Tuesday excited for what the week held.

This post contains a section about the talks and a section about my experience at the bottom.

Be aware that some of the photos might not look as good on here as they should, I think Medium has compressed them a bit. All my photos should be online shortly.

The Talks

Russ Miles opens ACCU 2017

We started the conference proper with a fantastically explosive keynote delivered by Russ Miles who jumped on stage to deliver a programming parody of Highway to Hell accompanied by his own guitar playing.
His keynote was all about modern development and how most of a programmer’s tools currently just shout information at the programmer, rather than actually helping.

Later on the Wednesday I headed into a talk from Kevlin Henny that totally re-jigged how I think about concurrency. Thinking outside the Synchronisation Quadrant was wonderfully entertaining, with Kevlin excitedly bouncing across the floor.
A fantastically engaging speaker.

Lightning talks on Wednesday

Wednesday’s talks continued with several other good talks and a number of great lightning talks too.
Finalising with the welcome reception where delegates gathered in the hotel for drinks, food and conversation.

It was here that I really got the chance to socialise with a good few people, including Anna-Jayne and Beth, who I’d been excited about meeting since I found out they were going to be there!

Thursday began with an interesting keynote about the Chapel parallel programming language. The talk has encouraged me to try the language out and I’ll certainly be having a good play with that soon.

Peter Hilton’s Documentation for Developers workshop

Thursday’s stand out talks included Documentation for Developers workshop by Peter Hilton. I really enjoyed the workshoppy style that Peter used to deliver the talk. He got the audience working in groups, talking to each other and essentially complaining about documentation. He finished with suggesting a method of writing docs called Readme Driven Development as well as other suggestions.

The other talk on Thursday which I really loved was “The C++ Type System is your Friend”. Hubert Matthews was a great speaker with clear experience in explaining a complex topic in an easier to understand fashion.
I can’t say I understood everything, but I certainly liked listening to Hubert speak.

Thursday evening I headed out for dinner with Anna-Jayne and Beth before heading back to my accommodation to write up a last minute talk for Friday.

My talk was covering Intel Software Guard Extensions — Russel announced that there was an open slot on Friday for a 15 minute topic and I took the chance to speak then.

Friday began with a curious but thought provoking talk from Fran Buontempo called AI: Actual Intelligence.
I’m not entirely sure what the take away from the talk was intended to be, but nonetheless it was interesting!

Friday morning was full of 15 minute talks. A format I think is wonderful.
I really loved that amongst the 90 min talks throughout the rest of the week, there was time for these quick fire shorter talks too that were still serious technical talks (unlike the 5min lightning talks).

The talks I went to see were:

Odin Holmes talks about Named Parameters

At Friday lunch time I took part in a bit of an unplanned workshop on sketch noting with Michel Grootjans. It was essentially an hour of trying to make our notes prettier!
It was a lot of fun.

Sketch Noting with Michel Grootjans

Friday was the conference dinner — a rock themed night of fun and frivolities.

This was by far the high point of the conference for me.
It offered a great evening of meeting people and having a lot of fun.
I loved how everyone loosened up and spoke to anyone else there.

I met a whole bunch of people, and got on super well with a few people who I would like to consider friends now.

ACCU made it easy to get to know people too by forcing everyone who isn't a speaker to move tables between each meal course. Its a great idea!

Odin enjoys inflatable instruments

Saturday’s talks started with a really fun talk from Arjan van Leeuwen about string handling in C++1x. Covering the differences between char arrays and std::strings and how best to use them. As well as tantalising us with a C++17 feature called std::string_view (immutable views of a string).

Later I watched a talk from Anthony Williams and another from Odin, both of which went wildly over my head, but all the same I gained a few things from both of them.

Finishing off the conference was a brilliant keynote from renowned speaker and member of the ISO C++ standards committee Herb Sutter.

Herb Sutter on Metaclasses at ACCU 2017

Herb introduced a new feature of C++ that he may be proposing to the standards committee.
He described a feature allowing one to create meta-classes.

Essentially, one could describe a template of a class with certain interfaces, data and operators. Then, one could implement an instance of that class defining all the functionality of the class.
Its essentially a way to more cleanly describe something akin to inheritance with virtual functions.

I highly suggest you try to catch the talk, since it was so interesting that even an hour or so after the talk there was still quite a crowd of people gathered around Herb asking him questions.

Herb is surrounded by curious programmers

The Conference Environment

As a first time ACCU attendee — this wouldn't be a useful blog post without a few words about the environment at the conference.

As most of my readers know, I’m a young transwomen, so a safe and welcome environment is something that I very much appreciate and makes a huge difference to my experience of an event.

Its something thats super hard to achieve in a world like software development where the workforce are predominantly male.

I’m glad to say that ACCU did a great job of creating a safe and welcoming space. Despite being predominantly male as expected, everyone I encountered was not only friendly and helpful, but ever so willing to go out of their way to make me feel welcome and comfortable.
Everyone I met simply accepted me for me and didnt treat me any other way than friendly.

I would suggest that offering diversity tickets to ACCU would help make me feel even better there, since I’d feel better with a more diverse set of delegates.

I was especially comforted by Russel mentioning the code of conduct, without fail, every day of the conference. As well as one of the lightning talks being, delivered by a man, taking the form of a spoke word-ish piece praising the welcoming nature of ACCU and calling for the maintenance of the welcoming nature to all people in the community, not just people like himself.

I’d like to especially mention Julie and the Archer-Yates team for checking up on my happiness throughout the conference, they really helped me feel safe there.

I think there still could be work to do about making the conference a good place for younger adults — I was rather overwhelmed by the fact that everyone seemed older than me and clearly had a better idea of how to conduct themselves in the conference setting.
However, I think the only real way of solving this problem would be to make the conference easier to access to younger people (i,e cheaper tickets for students, its still super expensive) which wouldn't always be possible. Additionally, the inclusion of some simpler, easier to understand talks would have been great. Lots of the talks were very complicated and easily got to a level that was way over my head.

Thanks to everyone who helped me feel welcome at ACCU — including but not limited to Richard, Antonello, Anna-Jayne, Beth, Jackie, Fran, Russel and Odin.

In conclusion

ACCU was a fantastic experience for me. I would highly recommend it to anyone interested in improving their C and C++ programming skills as well as general programming skills.
I’ll certainly be heading back next year if I can, and am happily a registered ACCU member now!

Work with the person not the suit.

Tom has this right down to a T here. But I wanted to comment on professionalism and formalism in the workplace.

Informal working environments are something that’s got more and more common with the rise of startup culture. In a world where people wear whatever they like to work, hangout in agile offices with sofas and have a weekly game night with the whole team, including the boss.

Some people might see this as being an un-professional working environment. But it isnt.

People there are still just as professional. They conduct them selves with a professional attitude towards both each other and their work. If anything, they can be more professional in this environment due to being relaxed and comfortable.
In stark comparison to a traditional office environment where everyone is in business attire and talks formally to everyone, especially their boss.
In a traditional office there is a huge difference in the way you might communicate with the managers a few levels above you and the people in your team.
There is less office banter, no silly chat bots in the team communication system.

A formal working environment is less human.

I believe this is because in traditional working environments people work see only what they’re told to see. They see status and attire instead of seeing the employee for who they actually are.
In a traditional environment you work less with the people, and more with what their job title is.

Whats changed recently is that people have realised that when people are comfortable and just being themselves and working in a happy, relaxed environment, they perform better.
And this leads to a culture where instead of being formal and professional, people learn to appreciate their colleagues for what they’re good at and what their job is rather than being forced to distance themselves from those on higher pay grades.

An informal professional environment fosters human interaction, friendship and happiness rather that stiff communications, isolation and a boring work day.

At the end of the day, we’re all humans just doing the job we’re doing. We all deserve to get respected and judged on our skills and behaviour rather than on prejudged based on our age, attire and perceived experience.
I don’t like getting judged because people perceive me as a young, inexperienced kid who knows little about what they’re doing (Thats not even counting being a transgirl too).
I’m sure managers would have a better life if they were treated as part of the team and talked too on the same respectful, fun and comfortable way as other employees too.

An electronics project : Presence Box

I built an electronics project for my partner’s birthday. Heres what I made.

My partner’s birthday was at the end of Febuary. Due to a lack of money to buy things, and a desire to make something with electronics and Arduinos, I made the ‘Presence Box’.
I realise the name is quite creepy. But hear me out.

The finished presence box

The original idea for the project was to build something which would be a thing that was there when I wasnt (we live in separate cities).
I wanted to make something that would visibly react to the presence of my partner without them actually having to touch the object.

I shared my thoughts at Derby Makers (Local Hackspace/meetup).
One of the other members suggested utilising “Capacitive Sensing” to provide the interactivity element without physically touching the box. The easiest way to show that the box was doing something was to make the box light up.

Knowing very little about electronics at this point I asked him to explain:

“Capacitive sensors work by measuring the capacitance of a material. You can measure how close your hand is to a piece of tin-foil with an Arduino and a library.”

Sounds perfect.

Armed with this new found knowledge, I went and bought a few Chinese replicas of the Arduino Nano, an Arduino that I thought would be small enough for the size box I wanted, while also having enough pins for what I wanted to do (Turns out I could have bought one with even less pins!).

I also wanted something using 3.3 volt logic and had a USB port on, although that was most of them. Cost was also important, since they’d be effectively consumable for this project.

As my mind worked out the intricacies of what I wanted from the project, I decided that I also wanted the box to be passively interactive with the environment. I.E required no human interaction to be ‘doing something’.

I decided to also add a thermistor to control the colour of the RGB NeoPixels that would be forming the lighting part of the project.

Leading ahead with the project, I went a bought the parts I needed, including some wire, thermistors, resistors, capacitors and ‘borrowed’ some NeoPixel clones from my partner.

I started with getting the Thermistor to work.

Connecting a thermistor to an Arduino Nano

Making good use of the available resources, getting the thermistor printing temperature values over the serial line was easy.

I started with these articles from Arduino, and Adafruit.

The concept was easy, wire up the thermistor like so:

Do an analogRead() on the pin you’ve connected to the thermistor and get back the resistance the of the thermistor.
There are some calculations provided on the Adafruit tutorial to convert resistance to degrees Centigrade (roughly).

Thats the easy part!

Enthused by how simple this appeared to be, I continued a few days later.

Next step was to implement the capacitive sensing. Slightly tougher, but again, as simple as importing an Arduino library and following the library’s tutorial.

Wiring the capacitive sensor was simple, compromising a sheet of tin-foil, one or many resistors and maybe a capacitor.

The capacitor on the receiving pin is optional, apparently a small capacitor (in the range of picofarads) is meant to reduce the noise of the signal, but I didn’t have any luck with that. I don’t think I had any capacitors that were really small enough.

I found that a set of resistors summing 4MOhms worked well with a good distance of sensing my presence.

Upon making this set up, one could read the time it takes for a signal to get from one pin (send) to the other (receive). The closer you move something that has a capacitive capabilities (i.e metal things, or a human body) the larger the number you get back from the library.

Using this, I could make the NeoPixels get steadily brighter the closer I got to the tin-foil, and dimmer as I got further away. Yay! Progress!!

Next step was integrating both the thermistor and the capacitive sensor.
I wanted the lights to change colour with the temperature read; redder if the temperature is colder (to warm up), bluer if the temperature is warmer (to cool down).

This was surprisingly easy to integrate. I think in most part because programming is my strong point. So writing the code to do this was something I found easy.

I’d got to the point where the lights would be redder, or bluer depending on the temperature and brighter or dimmer depending on how closer I was to the tin-foil.

Moving forward, I wanted to start building the box this was going to go into.
Making use of the workshop at The Derby Silk Mill and their laser cutter, I build a small box (60mm x 60mm x 60mm) out of 3mm plywood.

Several iterations of the box and the eventual product

It too many iterations to get the measurements correct. Mostly I blame this on InkScape not being designed for precision measurements. But its also my fault too due to being rushed and not paying enough attention to detail.

After completing the box, I found out that Inkscape has plugins to make meshes for boxes exactly like the kind I’d just made completely manually.

The more you know hey!

With only a couple of evening Makers sessions left, I got to soldering.

I needed to move the electronics off of breadboards and onto a more permanent strip-board solution.

After several evenings getting very frustrated with the soldering, breaking the joins and re-soldering things after they didnt work, I finally had something that fitted in the box.

Unfortunately, I hadn't actually planned as well as I could and the electronics only just fitted.Trying to shove them in resulted in breaking some of the rather fragile connections on the NeoPixels, a frustrating evening.

I managed to complete the project the night before I had to give it to my partner.
I’m actually very proud of the fact that I managed to make it and make it work and didn't have to compromise on what I’d planned to do.
And of course, most important thing, my partner appreciated what I’d made and doesnt think I’m silly for making a box with lights in as a present.

Below is a video of the working end result!

The source code for the project is available here: https://gist.github.com/Samathy/c00436887e83cfa55103c21d1b6ea3ff

Hack24: Flaming Background Righteous Fist Business Fish

A Hack24 Story

A couple of weeks ago I competed in Hack24, a hackathon held in Nottinghams’s Council House.

The team consisted of Lex, Joe and Dexter and we were Flaming Background Righteous Fist Business Fish (Joe’s idea).

We went into the 24 hour hackathon intending to go for 2 of the sponsor challenges: Unidays and Packed Pixels.

The Unidays challenge was so somehow integrate a a song into your hack. Most people, including us, chose to make the name of our hack some kind of pun in a popular song title.

The Packed Pixels challenge was to make a hack with a price of hardware that was integral to the functionality of the hack.

Inspired by these challenges, we came up with MAC:ARENA.

The Plan

The original concept behind MAC:ARENA, conceived the night before the hack began, was a game in which you ‘collect’ the MAC addresses of your Bluetooth devices by connecting different devices via Bluetooth to a BBC Micro:Bit.

On connection of a new device the Micro:Bit stores that unique address up to a limit of 4 addresses (only for as long as it’s powered, unfortunately).

Two players may bring their Micro:Bits to the MAC:ARENA once they’ve collected 1 or more addresses.

The MAC:ARENA is a Raspberry Pi 3 computer wired up to a receipt printer.

With the competing players Micro:Bits connected to the Pi via Bluetooth, the Pi uses the players choose MAC Address as a seed to generate a Mac Monster from a wide range of combinations of body parts.
Joe is a good artist, so his task was going to be making those individual body parts (as well as the final video).

Each MAC generates a different monster with different stats, but will always generate the same monster.

The Pi then prints the two competitors monsters and plays out a Pokemon style battle on the receipt printer. Complete with sound effects masterfully generated in a similar way to the body parts, procedurally, based on the MAC address used utilising PureData by Dexter.

A simple concept. That can’t be TOO hard, right?

The Hack

Unfortunately things didn’t go to plan.

On arrival to the hack we spent way too long working on the Micro:Bits trying to get Bluetooth to even connect properly to another device. Only to find that the Bluetooth API doesn’t provide an interface to the connected devices MAC Address. ?

Switching gears, we broke out the Raspberry Pis we had and the USB Bluetooth adapters for them.

With the intention of using them as the devices to collect and store the Bluetooth MAC addresses, we jumped into the afternoon.

By midnight Saturday, we’d barely made progress. This was almost entirely down to struggling to connect too and test code on the Pis. We had to run a network switch and portable router (to behave as DHCP Server) to allow us connect to the Pis over SSH. However, the router was flaky, often refusing to hand out IPs. This meant many frustrating hours of (mostly Lex) unplugging and resetting the router to try and get it to work.

We also had some trouble being able to download Python modules and their dependencies onto the Raspberry Pis. This spurred a couple of visits home just to use internet with more than a couple of carrier pidgeon’s worth of bandwidth.

Without being able to test code on the Pis we couldn’t test or even write our code for the MAC:ARENA since the receipt printer needed to connect over serial via GPIO on the Pi.
We did manage to work on the code for the clients (i.e what WAS going to be Micro:Bits) because I could run that code on my laptop, since it has a Bluetooth chip.

At around 1:00am Sunday morning, we all went our separate ways towards home to get some sleep.
Myself and Lex went home and stayed up a few hours more to make use of an actually reliable internet connection and a working local network to get some useful things done on the Pi.

Returning in the morning, we got to work finishing what we’d got.
By the midday cut off time of the end of the Hack we’d put together most of the hack, just not in a way that all the parts talked to each other.

We’d got the bluetooth clients working on my laptop, utilising an LED Matrix to display MAC addresses captured and allow the user to select if they wanted to keep the address or not.

We also had the receipt printer working, printing monsters generated using a MAC address.
As well as that, we had a great selection of PureData sound effects creating ‘roars’ for each and every unique MAC address.

The Result

Hack24 awards prizes in an interesting way. Unlike most hackathons, you don’t have to present your work on a stage. Instead you have 2 hours to make a short video to sell your hack to the judges.
It can be a serious or as ridiculous as you like. As long as its clear what challenges you were trying to target.

We had Joe. So obviously our video was more on the silly side.

We were up against some amazing other entries. Some that hit the briefs much better than we did.

However, to at least my surprise, we won something!
We were lucky enough to win the Unidays prize for best song title tie-in with MAC:ARENA.
Certainly a great achievement considering that most of the other teams also entered this challenge, compared to other challenges with only a handful of teams entering each of them.

We were also nominated for the Packed Pixels Hardware Hack challenge. Although we didnt win, we’re still pretty proud that we were even considered!

In Conclusion

We had a great time. Despite spending a lot of time stressed due to bad internet, hardware being as horrible and flaky as you’d expect and general hackathon madness.

I’d like to thank the other competitors for coming up with some seriously good hacks. And of course, the organisers of Hack24, Emma and Andrew along with all the other 10s of organisers, volunteers and sponsors. You did a great job!! We thank you for the opportunity.

We’re very proud of what we built. I certainly want to take this further and actually complete the thing as we intended it to be. But we’ll see if I ever have time to do that.

Thanks Hack24!

Why we protest Trump in the UK

People of Derby, UK, stand up to Trump

Recently I attended a Stand Up to Racism protest against Trump’s upcoming state visit to the UK.

I was lucky enough to be able to photograph the rally and have my images published in print and online at the Derby Telegraph.

When the article came out online later in the evening of the rally, I accidentally read the comments.

The comments on an online article are often a cesspit of people disagreeing with the articles content. Anyone not living under a rock should be well aware of this.

The resounding noise in the comments was something like “Trump is not president of the United Kingdom, his actions don’t affect UK citizens and we can’t do anything about it. So why are you protesting?”

So, I’ll address that;

We stand together with those affected

Solidarity

The main reason why people protest Trump in the UK is to join in solidarity with movements across the United States of America.

We aim to add to the voice of people crying out in anger, fear and sadness at the actions of President Trump and his administration.

We are well aware that 50 or so people in the smallish city of Derby, England will not have much input directly on Trump and his administration.

However, when we join in protest on the same day, at the same hour, as 1000s of other people across the UK we add our voices to the mass.

Although we might not be physically seen by a lot of people like those protesting in London, Manchester or Birmingham, our voice reaches out through the power of media.

Our protest was featured in a local paper, on local news and broadcast across the Twittersphere with all the other people using the same hashtags to make their voices heard.

Principles

The second reason we protest is to stand up to our beliefs.

Those protesting passionately believe that Trump and his administration are fundamentally a terrible thing for the progression of humanity in our continued efforts to be more understanding, empathetic and inclusive of all human beings.

We believe this so strongly that we can’t let a small thing like p not being directly connected to the UK stop us making our anger heard. We feel the need to stand up to our principles whenever we feel them being challenged, by anyone, no matter where they are or who they are.

Protests like this are about being able to say you stood up and did what you could.

It doesn’t matter that we weren’t seen by Trump, or the Queen. What matters is that we did the best we could, with the resources and platform we had available to us, to uphold our principles as good human beings and fight in solidarity, for those most affected, for what we believe in.

I encourage you to also fight for what you believe in. Because no one else is going to fight for you.