Thursday, November 29, 2012

Proof Overtime Is Bad

I am against overtime. I do as little of it as possible. And now I have proof that this philosophy actually makes sense!

The Sleeping Geek Kitten - Angers -
The Sleeping Geek Kitten - Angers - / Nathonline-Beta

Before any potential future employers find this and take my resume off the pile, let me explain.  Knowing how long I can work before getting tired is important to me. If I go too long, then I'm likely to just make things worse.  Plus, if I know I only have a set amount of time to get things done, I can focus better - there is no later.  The standard 8 or 9 hour day seems to work perfectly well for me.

That's not to say that I'm not willing to put in some extra time around a deadline, of course.  I have stayed late a few times during my co-op terms and I've worked into the evening on school stuff more than once (though I've only ever done one all-nighter, and it wasn't even strictly necessary).  I just ensure this is very much the exception and not the norm.

So, back to this proof I mentioned.  The IGDA has a great article on why perpetual crunch modes just don't work.  Most other industries started figuring this out 100 years ago (hence why the 40 hour work week is fairly standard).  Research literally proves that after a certain number of hours worked in a single week, output goes down when compared to a more regular work week.  Working more just doesn't pay.

High tech can be a brutal field when it comes to overtime expectations.  My strategy? Don't make working longer a precedent.  If you do, then that amount of work will be expected of you.  But, of course, the more you work long hours, the less you'll do over time, making you want to work longer to make up for it, making you accomplish less... and so it goes...

Monday, November 26, 2012

Resources for Testing Game Story Ideas

I will soon be trying out simple nonlinear narrative ideas for my thesis research, and wanted to find (freely available) tools that will make doing so much easier.  Here are a few, some of which are great for beginners and non-programmers.  (Know of any other great tools? Let me know in the comments!)


If you want to create branching stories quickly and easily, this free graphical tool might just be for you.  It's not likely to be useful for me without access to its source code, but non-programmers should have some fun with it.


This is how Ren'Py describes itself:
Ren'Py is a visual novel engine that helps you use words, images, and sounds to tell stories with the computer. These can be both visual novels and life simulation games. The easy to learn script language allows you to efficiently write large visual novels, while its Python scripting is enough for complex simulation games.
I like that beginners can use its simple scripting language to create interesting stories, and that I will be able to use Python to make more sophisticated games.  This is probably the first tool I'm going to download and try since it should be really fast to get going on the simplest of ideas.


As per the Fabula website:
Fabula is an Open Source Python Game Engine suitable for adventure, role-playing and strategy games and digital interactive storytelling.  Fabula can be used as a library to develop your own games. As an alternative, you can use the Pygame-based graphical editor and the default game engine that come with fabula.
With this tool, you get into programmer's territory, but still get a lot for free.  I like that the engine was designed with storytelling in mind, and that like Ren'Py it uses Python, which should make it fairly easy to work with. I will likely give this one a try early on as well.


According to the Orx project site:
Orx is an open source, portable, lightweight, plugin-based, data-driven and extremely easy to use 2D-oriented game engine. It has been created to allow fast creation of games and prototypes.
The reason I include this project is because I think 2D is the way to go to test story ideas, and such an engine would make creating a 2D game much easier.  If the other tools aren't flexible enough to customize things as much as desired, then this might be the way to go (assuming you understand C/C++ programming).  I probably won't use this one right away since I don't need the power, but I have a feeling it could come in handy later on.

Wednesday, November 21, 2012

Things I Like About Python

Back in May I wrote a popular post about which was a better beginners language: Processing or Python.  Although I concluded that Processing was better for the audiences I tend to have in mind (that is, nontechnical members of the general public), that doesn't mean I think Python is a bad language.

I finally had the opportunity to use Python for my own project.  I have been making a simple iOS QR code scavenger hunt / story game as a (very) side project for a while now, and am trying to give it the final push to completion.  The game is defined in a plist file. I wanted to generate the QR codes automatically from the data in that plist.  I also wanted to arrange the generated images into contact sheets with the text associated with each code written underneath.  I figured this was the perfect opportunity to use Python for a real purpose instead of just as a teaching language.

The very best thing about Python is the fact that no matter what singular unit of work you need to do, you can almost always find freely available code online that does it.  QR generator? Check.  Contact sheet creation? Check.  Help with the imaging library, including drawing text? Check.  Put the pieces together and do some customization to suit my purposes, and I was off to the races.

I also like the 'scriptiness' of the language.  I felt that I didn't need to work hard to make robust and reusable code. So long as it worked for my purpose here, that was good enough.  This is a rare feeling for me.  I usually feel compelled to make the code as general and 'nice' as possible.  I loved being able to do what I wanted quickly and not worrying about what the result looked like.

But that's sort of a downside, too.  When I stepped back to look at the code from a beginner's perspective, I noted how messy and likely difficult to understand it had become.  I remember reading that Python inherently helped developers write good code (thanks to, for example, indentation to signify blocks of code).  But this experience made me believe the opposite - it's so easy to write fast code that it can quickly end up being kind of ugly.

I also had a heck of a time getting everything set up on my Macbook.  Python comes installed on OSX, but it's usually kind of old.  So I downloaded and installed Python 3.  After wrestling with the OS to get it to actually use that version for most Python-related things, I quickly found that the libraries I was trying to use didn't really work with this version.  After several hours I ended up reverting back to the newest release of version 2.  If I was a beginner trying to accomplish some relatively simple task, I would have been turned off the whole thing pretty quickly, if I even understood how to set up the environment in the first place (and I doubt much of the general public would, given how much time you are likely to spend at the command line).

So, all in all, I really like Python for my own purposes as an experienced programmer.  But I'm still favouring Processing (or, even better, something like Scratch or some not-yet-existing language theorized by Bret Victor) as a beginner language.  I could see Python being really handy once the basics are taught and some confidence is built, but I am still fairly sure I wouldn't want to begin with it if I had a choice.



Monday, November 12, 2012

Indie Game: The Movie

I am very grateful that I will (hopefully) be lucky enough to see my vision for my Gram's House game developed professionally with research grants.  After watching Indie Game: The Movie, this sentiment has only increased.  Though the documentary only presents one experience of independent game production, it's not an experience I particularly want to have.

I thought that this documentary was really well done.  The filmmakers did a great job of finding a good story with tension and drama in the development process.  I felt such relief when good things finally happened to each of them.

The elation experienced particularly by the Super Meat Boy creators got me thinking: what happens to those who spend a few hellish years trying to finish their masterpiece, but end up with little to show for it? I wonder how often the risks pay off? I'm sure not everyone drops everything to work on their game, and even those that do probably don't always forego any sort of life balance to do it.  But I would not want to see anyone experience risking everything and losing.

Of course, great success doesn't always bring happiness.  Braid's creator was shown to be fairly (even deeply) disappointed even after his game broke indie records.  People loved his game, but they didn't get it.  The reviews focused on superficial mechanical elements, but not the deeper meaning.

Which brings me to the issue of games as art.  After listening to all the game creators talk about how much their games reflect themselves, how the games express what they think and feel, I don't know how how anyone could say that games can't be art.  If you aren't yet convinced yourself, watch the movie and listen for those moments.

Overall, I definitely recommend this movie, and hope more like it will be made to show a variety of indie game creation experiences.

Friday, November 9, 2012

Seeking Nominations for the 2013 Women of Vision Awards

I serve on the Advisory Board of the Anita Borg Institute, an organization focused on increasing women's participation in the technology workforce --- as technologists, and as technical leaders. One important aspect of our work is recognizing the contributions of amazing women technical leaders all over the world. We do this through the Women of Vision program.

We are now accepting nominations for the 2013 Women of Vision awards.

We could greatly use your help identifying women who deserve recognition, and facilitating their nomination. These women are incredible achievers whose stories inspire us, and whose example can be held up as a role model for thousands of other technical women. A bit of background:

These awards recognize outstanding women for Leadership, Social Impact, and Innovation. See the full descriptions of these award categories online.

Last year we honoured these amazing women:
  • Sarita Adve, Professor of Computer Science, University of Illinois at Urbana-Champaign, for Innovation.
  • Sarah Revi Sterling, Faculty Director, ATLAS Institute at the University of Colorado at Boulder, for Social Impact.
  • Jennifer Chayes, Distinguished Scientist and Managing Director, Microsoft Research New England, for Leadership.
You can also see the complete list of past winners online.

Please think about a woman at your organization or school (or anywhere, really) who deserves to be honoured for her career achievements, and nominate her! Please contact me if there is any way I can help you with this action.

The deadline to submit a nomination is December 14, 2012.

Also be sure to save the date for the 8th annual Women of Vision Awards Banquet on May 9, 2013 in Santa Clara, California. Registration passes and table sponsorships will be available for purchase soon.

Thursday, November 8, 2012

#Turing for Christmas

As Christmas approaches perhaps you want to Turing theme your Christmas gifts. A new childrens book, by Paul Morris, has a Turing connection: "Time Traveller Danny and the Codebreaker."  The book, which is part of the Time Traveller Kids series for 7 to 12 year olds, tells the story of Danny who goes back in time and meets Alan Turing.  Paul carried out background research for the book using the archives at Sherborne School where Alan was a student from 1926 to 1931.  Paul also has a family connection with Turing because his father, then a clerk in a Manchester firm of solicitors, witnessed the signing of Turing's will in February 1954.
    Thanks to The Alan Turing Year for this information.

Tuesday, November 6, 2012

A Bombe called “Auckland”

My colleague Bob Doran has recently returned from a trip to England where he visited Bletchley Park. He writes: I finally got to visit the displays at Bletchley Park. The biggest thrill was seeing the bombe replica in operation. Here it is being explained to a tour group:
Actually, it wasn't working correctly but you could still get some idea of the noise that it made:

But the biggest surprise was learning that there was a bombe named Auckland. This is described with the text:
They had the actual sign for the Dunedin machine (this has been digitally enhanced): 
All in all, an interesting experience to recommend.

Monday, November 5, 2012

I'm Going To Be a TEDx Speaker

I'm happy that I'm starting to get noticed when it comes to my public speaking abilities. My latest speaking request was for a local edition of TED on December 2: TEDxSandyHillWomen.  A fellow speaker had been at my Processing workshop and thought I'd enjoy talking about women in tech.   

I haven't decided exactly what I'll talk about yet, but you can be sure I'll be following my own strict presentation policies (including having little or no text on my slides).  I might go with the "It's Not About the Numbers" theme I sometimes talk about.  More to come!

It's time to talk politics

With the US Presidential elections only a couple of days away it's time to talk politics. I'm not going to endorse either candidate, though if you know me at all you'll know whom I prefer. I live in New Zealand and obviously can't vote in US elections, but nonetheless the outcome will effect me, just as it will effect the entire world. The hactivist group Anonymous has recently released a video saying that they are watching Karl Rove, previously a senior advisor to George W. Bush, and will release any information that suggests he is trying to steal the election for the Republican party. Remember the "hanging chads" in the 2000 Presidential election that Al Gore lost by just a few hundred votes. Some commentators and bloggers are claiming that the right wing is calling the election "too close to call" to soften people up for a surprise win by Romney when they rig the ballot.

Sunday, November 4, 2012

Did Alan #Turing interrogate Konrad Zuse in Göttingen in 1947?

Konrad Zuse
I picked up this story on Twitter from @AlanTuringYear - basically Heinz Billing, of the Max Planck Institute for Physics wrote in his memoirs that  a group of British scientists from the National Physical Laboratory in London interrogated German scientists after WWII. Thus, Alan Turing, who was one of the British scientists ,would have met the German computer pioneer Konrad Zuse. Evidence for and against this meeting is described by Herbert Bruderer, of the Swiss Federal Institute of Technology Zurich, in a paper called Did Alan Turing interrogate Konrad Zuse in Göttingen in 1947? 
   If they did meet it would have been fascinating for both men. Zuse had independently invented a digital computer, the Z1, in Nazi Germany and after the war he founded a computer company that was eventually bought by Siemens. He also wrote a book, Computing Space, that presents the idea that the universe may actually be a digital construct running in the memory of a grid of computers.
    You can find out more about this remarkable man in The Universal Machine.

Saturday, November 3, 2012

In praise of... "The Information" by James Gleick

I recently read a popular science book called "The Information: A History, A Theory, A Flood" by James Gleick. The book is basically a biography of Claude Shannon and is about information theory. It covers, what is quite a challenging subject, in a very approachable way; giving examples from African talking drums to modern digital communication. Other people also feature such as: Robert Caudrey, the compiler of the first English dictionary; Samuel Morse, the inventor of the eponymous code, and people more familiar to this blog, Charles Babbage, Ada Lovelace and of course Alan Turing.
   I really enjoyed this book - 5 stars.

Friday, November 2, 2012

#Turing proved right by sunflowers

When Alan Turing looked at some sunflowers in his garden in Manchester he thought he saw a pattern he recognised in the spiral of seeds in the flowers' heads - the Fibonacci sequencewhere each number is the sum of the previous two. Turing died before he could test his theory. As part of the celebrations around Turing's centenary hundreds of volunteers grew sunflowers as part of a project led by Manchester's Museum of Science and Industry. Data from 557 sunflowers from seven countries was collected for the Turing's Sunflowers project. It showed 82% of the flowers conformed to the mathematical Fibonacci sequence.
    The BBC reports that Professor Jonathan Swinton, a computational biologist, said: "It's the most comprehensive information we have so far on Fibonacci numbers in sunflowers and we have proved what Alan Turing observed when he looked at a few sunflowers in his own garden in Wilmslow. Now we need to work together with biologists to understand the wider implications of different number patterns for plant growth."