Benjie

Benjie Gillam is a founder and director of Brain Bakery Ltd., a London-based technology company. He was brought up in Ringwood, Hampshire, England, UK. He attended Ringwood Infant School, Ringwood Junior School, Ringwood School, and then Ringwood Sixth Form, before going on to attend Southampton University, from where he has just completed his 3 year BSc in Mathematics with Physics. Benjie currently resides in Southampton, Hampshire, England, UK with his beautiful wife, Jemma Gillam. Feel free to visit their joint site Jemjie.com (Jemjie is a simple combination of their names - Jemma and Benjie).

Contact details

Jabber/XMPP: benjie.gillam [AT] googlemail.com

Name: Benjie Gillam

Author Archive

Jem Shared Porn With Me On Google Reader!

Wednesday, June 17th, 2009

I was shocked and awed that my wife, Jem, shared porn with me on google reader:

Jem shares 'Porn' with me in google reader

and I suggest you read the post from xkcd, too. In fact, I suggest you read the entirety of xkcd. I coined the verb “to be xkcd’d” which means “when you discover a new web comic and like the latest strips so much that you go back to the very beginning and read every single strip until you catch up to date again so that you can understand all the jokes in the full context of the comic” – quite a necessary abbreviation, I think you’ll agree! With xkcd, the king of xkcding, I was actually xkcd’d twice – first when I first discovered it, and second when I realised about the title text…

And that bring me on to my xkcd reading tip: READ THE CAPTIONS – hover your mouse over the xkcd image and read the title text. Do this on the xkcd website. That Randall is a comedic genius. :)

Some of the captions are too long for firefox, so I have installed ‘Popup ALT Attribute‘ for Firefox which gives a larger ‘tooltip’ window.

Read on for the strip itself and my recommended webcomics

(more…)

Calling All Southampton Hackers!

Wednesday, May 20th, 2009
City of Southampton
Image via Wikipedia

Before we start, just to be clear – this is not for crackers (people who illegally break in to computer systems) but for hackers (people who modify the software or hardware of their computer system including building, rebuilding, modifying and creating software and electronic hardware either to make it better, faster, give added features or to make it do something it was never intended to do).

UPDATE: we have a google group: http://groups.google.com/group/southackton

I’m intending on setting up a “Hackerspace” in Southampton targeted around software programming (for fun) and hardware hacking (e.g. robotics). I anticipate that people would attend the hackerspace either with their own personal projects (such as controlling their television using a Wii remote), or looking to join in on a cool project. The idea is that we can all share knowledge and help each other out in a fun and innovative environment.

I am provisionally calling this project Southackton, though I expect (hope!) a better name will surface once more people are interested! If you or anyone you know is interested, please contact me via email (my name at benjiegillam.com) or by leaving a comment on this post.

The ultimate goal would be having an “office” somewhere in Southampton where members can drop in any time (within reason) and get to work on their project/just hang out with fellow hackers. If you work from home you could even work form the Hackerspace directly – it wouldn’t be so lonely! I am, however, expecting that we would run it as a “club” until we have enough interested members to make it feasible. Whether this club be weekly, fortnightly, monthly, or bi-monthly is a matter for interested persons to discuss – get in contact and let me know what you think!

As you may know if you read this blog (doubtful!), I am a great fan of open source, and have been a dedicated GNU/Linux user for almost 10 years now, so Linux users would be cool to have as they tend to be interested in tweaking hardware/software, however everyone would be welcome independent of their choice of operating system. Yes, that’s right – even Windows users!

Further, there is no required skill level. I’m happy to have people attend who want to acheive something (e.g. making a webcam recognise who is sat at the PC and change the computers background to a related picture/have their favourite teddy walk towards them) but have no idea how to go about it, so long as they are patient and willing to learn!

I hope you’re interested – let me know!

UPDATE: if you’re interested, sign up to our google group: http://groups.google.com/group/southackton.

Reblog this post [with Zemanta]

Useful Bash Scripts

Tuesday, April 7th, 2009
Bash
Image via Wikipedia

Here’s a couple of bash scripts I’ve written recently that might be of use to someone.They work well under Ubuntu, and should work under any GNU/Linux or Unix system with the suitable software installed.

Improved “svn diff” command (ignores whitespace, colour highlights output, requires colordiff) – I put it in /usr/local/bin/svndiff:

#!/bin/bash svn diff -x -w $@ | colordiff

Improved recursive grep command (greps recursively, ignores files in the .svn folders, ignores temporary files, highlights output in colour) – I put it in /usr/local/bin/grepr:

#!/bin/sh SEARCHTERM=$1; shift; find . -type f -a -not -iname "*~" -a -not -iwholename "*/.svn/*" -exec grep -H --color=auto $@ "$SEARCHTERM" "{}" \;

You might also be interested in my previous “whoops I deleted files without telling svn” post here.

Reblog this post [with Zemanta]

1984? More like 2084…

Saturday, April 4th, 2009
Cover of "Little Brother"
Cover of Little Brother

… but we’re still getting closer.

The message contained in my previous post on the understated threat to internet freedoms is something I feel very strongly about – we must maintain net neutrality. Take that away and we are taking away the means to communicate freely and openly (and partially anonymously, if we know how), and to verify the information we are fed by the media, and find out the stories that the government is trying to “hush up” (were it to do such a thing…). Not to mention making friends and having fun with people who don’t reside in our own country! Besides it’s not like those who want to won’t be able to bypass the filters (look at China), but in doing so, in just trying to get information that their government doesn’t want them to have (no matter how trivial or inoffensive it may be), those people would be breaking the law and thus could be locked away and hence silenced.

With all the recent laws it has been passing, I’m beginning to think that our government wants us all to be criminals so that it can, if it needs to, control and/or silence people, one at a time, and make us live in constant fear of disobeying them, even if we don’t agree with their policies. Do we really want to live in a world where everyone is the same, as dictated by law? We are not just losing our freedom, we are giving it away. Chunk by chunk. We must stop it before it is too late.

Here is a quote from the Cory Doctorow short story “The Things That Make Me Weak And Strange Get Engineered Away” (available here for free: http://www.tor.com/index.php?option=com_content&view=story&id=2993):

“Here’s the thing,” Randy said. “The system isn’t going to go away, no matter what we do. The Securitat’s here forever. We’ve treated everyone like a criminal for too long now—everyone’s really a criminal now. If we dismantled tomorrow, there’d be chaos, bombings, murder sprees. We’re not going anywhere.”

The Securitat are a kind of Big Brother organization like that in the book 1984. The signs are there that our own government is heading that way – for example, terror “suspects” can be held for long periods of time with no evidence. Sure, it sounds like the government is protecting us, but that law could be used against you or me if we were doing something that the government didn’t want us to (e.g. exercising free speech against the government or some of it’s activities).

We must protect our freedoms, we must maintain a method of communications that cannot be controlled/watched over by the government, otherwise what means to we have to prevent something like 1984, or the world in “Little Brother” (another free Doctorow book: http://craphound.com/littlebrother/ ), from coming to pass?

I urge you all to read 1984 and/or Little Brother and then think about the freedoms that we are giving away year on year, and whether we will ever get them back. Both books are available free online (legally) – I recommend you download the eBook reader “Stanza” and read them through that.

Reblog this post [with Zemanta]

Understated threat to Internet freedoms – this time from the EU

Saturday, April 4th, 2009
Digital rights landscape
Image via Wikipedia

This post is a copy and paste from this group on facebook related to the laws that the EU is trying to push through the courts to remove our online freedoms. Please read it:

(more…)

SVN Hint: Automatically removing manually deleted files from SVN

Friday, February 6th, 2009
Bash
Image via Wikipedia

When deleting files in a working copy of an SVN repository you should do it on the command line: svn rm [filename]. If, however, you don’t do this (e.g. delete through a gui, or just do “rm” without the “svn“) then SVN gets confused, and puts a “!” in it’s status before all the deleted files. If you svn update, all the files will be recovered, rendering all your time spent deleting them wasted. Really you should use svn rm, but if it’s already too late for that, you can use this bash fragment to delete the files from SVN:

svn status | grep "^\!" | sed 's/^\! *//g' | xargs svn rm

This command does a status command, finds all lines starting with “!“, and then extracts the filename and runs it through “svn rm” – really deleting the file.

Caveats:

  1. Manually deleted files are not the only things that makes svn use “!” – so beware of this! Ensure you do really want to delete all those files!
  2. This works for filenames which are all_one-word/without/any.spaces but I am not sure if it will work or not for filenames with spaces in.
  3. Use at your own risk. The code is simple enough so you should be able to grok what it does.

Enjoy!

Reblog this post [with Zemanta]

New Year: Get Fit With GymFu!

Tuesday, January 6th, 2009
PushupFu Demo

PushupFu Demo

I had intended to get fit (and thin) before my wedding last August, however that never happened. And before I knew it it was Christmas, with all that loverly food. I’m not stupid enough to try and diet over the Christmas period! Instead, I thought, what else is the New Year for if not improving ones health?

My business partner Jof and myself had been working on a fitness app for the iPhone, PushupFu, for a couple of months and we finally uploaded it to Apple on 23rd December. In a very generous gesture from Apple, the app was released on 1st January (or 31st December, depending where you live!) – a full week earlier than we were expecting. I find that the app definitely motivates me to do pushups when users challenge me, plus I also intend to complete the training course (should be done by May) – when I can do 100 pushups I will really feel fit! (Currently I’m still only able to do single figures, but I have only just started!)

So, if you feel you need to get a bit more toned this year, why not give it a go by visiting http://www.GymFu.com/ ? At time of writing we have 5 reviews in the App Store, all are 5 stars, so give it a go! Check out our other reviews below:

Reblog this post [with Zemanta]

Working: HDMI Audio on ATI Graphics Card

Friday, October 24th, 2008
List of video connectors

Image via Wikipedia

Under Ubuntu Intrepid Ibex (should also work for Hardy Herron) with pulseaudio.

(Gfx card: ATI HD 4850)

It is a simple fix that took me ages to work out. Basically, PulseAudio does not recognize the graphics card’s sound card. To fix, we simply force it to recognize it, and remove detection  of alternatives to make it default. There is almost definitely a better way than removing the alternatives,  but *meh* it works for me.

First, work out which device is your correct HDMI device (in this case, 1,3 as it is card 1, output 3):

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC883 Analog [ALC883 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC883 Digital [ALC883 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]
Subdevices: 0/1
Subdevice #0: subdevice #0

Open up /etc/pulse/default.pa in your favourite text editor

Add this line just before all the #load_module lines (around line 32), replacing 1,3 with whatever you found above):

add-autoload-sink output module-alsa-sink device=plughw:1,3 rate=48000 sink_name=output

Comment out the module-hal-detect section (around lines 40-47):

#### Automatically load driver modules depending on the hardware available
#.ifexists module-hal-detect.so
#load-module module-hal-detect
#.else
#### Alternatively use the static hardware detection module (for systems that
#### lack HAL support)
#load-module module-detect
#.endif

Uncomment this line at the bottom of the file:

set-default-sink output

Save and close the file, then log out and back in again (or kilall pulseaudio && pulseaudio) and, hopefully, your sound should work!

Reblog this post [with Zemanta]

MythPyWii Bugfixes and Enhancements

Thursday, September 18th, 2008
Software Bugs

Image by FastJack via Flickr

I’ve just updated MythPyWii to handle the connection to Mythfrontend more smoothly, and to give feedback via the wiimote on error/disconnect. (i.e. if myth closes, the wiimote shakes, and the LED pattern changes to [ . # # . ] instead of [ # . . # ] just before the wiimote turns itself off). This means if there are issues connecting to Mythfrontend you can retry again simply by pressing 1&2 once more (fix any issues first though – e.g. closed mythfrontend/no remote interface enabled).

I’ve fixed a little bug with timestretching, and have also improved the timestretch responsiveness by emulating not just the left/right keys but also the up/down keys (which increase/decrease timestretch by 0.25 instead of just 0.05).

As always, download the latest version of MythPyWii here.

Ah hah, an update to Zemanta has just been released! Integration with Facebook and Flickr, eh? I best sign up for a Flickr account then, I suppose… Argh! They seem to have broken images with my theme – I fixed it by adding this CSS to my theme (copied from firebug):

.alignright { float:right; } .wp-caption { -moz-border-radius-bottomleft:3px; -moz-border-radius-bottomright:3px; -moz-border-radius-topleft:3px; -moz-border-radius-topright:3px; background-color:#F3F3F3; border:1px solid #DDDDDD; margin:10px; padding-top:4px; text-align:center; }

Reblog this post [with Zemanta]

New (Minor) MythPyWii Release (r15)

Thursday, September 18th, 2008
Screenshot of a sample Bash session, taken on ...Image via Wikipedia

Thanks to a heads up from Sam, I have updated the MythPyWii script with better error handling and more informative feedback messages. Hopefully now when you run the script you will know what to do! I’ve also fixed a few minor bugs in the documentation.

As always, you can download the latest version of MythPyWii here.

I should probably make a GUI for MythPyWii at some point… though it seems a little pointless at the moment. I could allow you to change the controls to your liking, I spose…

UPDATE: If you’re getting errors like:

$ myth_py_wii.py
Please open Mythfrontend and then press 1&2 on the wiimote…
Connected to a wiimote :)
Logged in to MythFrontend
TypeError: wmcb() takes exactly 2 arguments (3 given)
TypeError: wmcb() takes exactly 2 arguments (3 given)
TypeError: wmcb() takes exactly 2 arguments (3 given)
TypeError: wmcb() takes exactly 2 arguments (3 given)

Then you have a more up to date version of cwiid than me. The fix is simple – change line 141:
def wmcb(self, messages):
to:
def wmcb(self, messages, timeIgnore):

Thanks to Mike H for pointing out this issue.

Reblog this post [with Zemanta]