Dilbert.com recently nerfed their RSS feeds forcing you to click through to the site to view the comic. I’ve made a script that you can use to generate a feed like their old one with images inline. It’s available on github: Dilbert RSS Replacement
Archives for Tom Medley
June 25, 2013
July 5, 2012
I have recently been working on designs for the newly-formed London Youth Choir. This includes the logo and a simple website.
The brief for the logo was to create something playful, bold and adaptable that used the London skyline as a theme.
June 7, 2012
There’s a big problem with all sites that store a password to perform authentication – you have no idea what security measures are being taken to protect the stored passwords. How do you know how your password is ‘secure’ once it’s at the other end? How can you know? Sites should publish their password hashes continued »
April 3, 2012
Following up on my previous post about optimal hangman strategy, I’ve run some more experiments, fixed up and tested my script, with some interesting results.
First of all, I tested the script in a game of hangman against every single word in a 70k word dictionary. I played with 10 lives before losing, which is probably on the conservative side, 12 seems like a common figure. The script lost on 469 words, of which 99 were 3 letters long. There were 20 words 7 letters long, all of which ended in ‘ing’. There were no words of 8 letters or longer.
March 31, 2012
A post on DataGenetics did the rounds last week, applying the might of statistical analysis to the game Hangman to try and guess what an optimal strategy might be. Many techniques were leveled at the problem, from basic analysis of letter frequencies to conditional probability, all in order to try and generate the best sequence you should call the letters.
Having read it I was slightly perplexed, it seemed like massive overkill for something that can be calculated fairly simply, so I created pyngman, a python script that generates optimal next guesses for Hangman. Input the state of the game and the letters you’ve called and it will tell you what letter to call next.
You supply the information as a state, such as ..e.., where .’s are unknown letters, followed by a list of letters you’ve tried:
$ pyngman -state ..e.. est > Your best next guess is: a
It does this by using a dictionary (you must supply the dictionary, so the results will change depending on what you supply!), and looking at all possible words that could be the solution, and working out the letter with the highest probability of being present. So far I have been unable to find a word which causes the program to lose a game of hangman!
March 8, 2012
I’m going to take two security stories from the last week, one of which I think illustrates how to do it well, and another which illustrates how to do it badly. They come from very different areas under the vast umbrella of ‘security’. One is very much physical, and the other very much not. These days however, the two are inseparably linked. Why isn’t Airport Security Open? continued »
February 21, 2012
January 10, 2012
November 19, 2011
At the SBSeg conference, StegDroid won honours as the second best paper in the undergraduate track.
November 15, 2011
I’ve found a way around the useless full screen implementation in OSX, thanks to Geet Duggal. Here’s a refined version of the procedure, where I’ll have Xcode full screen on one monitor, and terminal and Chrome open on my secondary monitor:
- Arrange the application windows you want to have on your second screen as you would like them. You will not be able to rearrange them once they are there.
- Completely quit the applications you wish to use on your second monitor, e.g. terminal, Chrome.
- Full screen your app (Xcode)
- Using the trackpad, swipe with three fingers a little bit, so that just the edge of the next space is visible (but it won’t switch when you let go)
- Keeping your fingers on the trackpad, hit cmd + space to open Spotlight and type in the name of the program you wish to launch on the second monitor (terminal)
- Hit enter to launch the program, wait for the window to display, then you can take your fingers off the trackpad.
- Repeat steps 4-6 for any other apps you wish to launch!