OPW Application

I do not have these things. Give me a day or so. In the mean time, I run a company that teaches kids to be excellent nerds during the school holidays. If you are interested in that then have a look at www.inventtheworld.com.au

EDIT: I have resurrected an old wiki that I am now using to store my notes as I try different things and make initial contributions. Please forgive the language as it's very much just my attempt to keep track of what I am leaarning rather than intended for others. OPWNotes

I have been using Debian and Debian (Ubuntu, Mint, Raspbian etc) derivatives for 8 years now. My experience as a coder and computer scientist has all been based in Unix systems and primarily in Debian based systems. As such I find it a little difficult to think about what parts of my experience as a user are unique to Debian. If I picked one thing that I would say keeps me with the Debian project then Apt is it. It is simple, elegant and easy to use.

Initial Contribution:

My notes (again, very rough) for this are located here: https://misspindy.org/apocalypse/Notes My branch is on github: https://github.com/Pindy/debbugs

I teach C (and C++), and Java at the Royal Melbourne Institute of Technology as a tutor. I use and teach the use of FOSS tools every day. I don't think I would be anywhere near as good a coder if I hadn't had such a fantastic set of tools available to me, for Free, built in to my OS. Terminator, vim and/or geany, git, gcc, valgrind, gdb (forever and ever gdb), ssh, scp and so many other incredibly powerful tools. Instructions just three letters away and help so freely and voraciously available in the community.

I also run school holiday programs for kids, teaching them about games, games programming and lego robotics. There is a heavy focus on the use of Raspberry Pi computers (running a custom build of Raspbian). Kids code using Scratch, Python and Pygame, all invaluable FOSS tools that I have been able to take advantage of.

I am not a contributor. But I should be and I plan to be. OPW is where I would like to start.

Capstone research project – Reinforcement Learning for Capture the Flag

As part of my final year of uni I was part of a three person team who adapted and extended an Open Source third party reinforcement learning toolkit written in Python to create an agent to play Capture the Flag using reinforcement learning techniques to model human strategies to the problem.

The complex nature of the problem meant that I faced a very steep initial learning curve, I didn't know Python and I didn't know about reinforcement learning. This project taught me a lot about how to research and find information, from peers, from mentors and from written research and practice. It taught me to be happy asking stupid questions.

The project was very research focussed and involved processing, management and analysis of large sets of data in order to form hypotheses relating to the performance of the agent and extrapolate the impact of particular state variables on overall outcomes. It brought home the importance of time and planning in large scale data and analysis, especially when you're talking about minute, iterative improvements over long periods.

I came to the project six months in when the backbone of the agent was already in place. A large part of my involvement was testing, tracing and fixing bugs in other people's code. This gave me a deep appreciation for the joys of git and in-depth, descriptive commenting and documentation.

I implemented a Python/XML logging module to capture state information and plot movement and state data and a heat map generation module (using matplotlib) in Python to plot average movement across multiple games.

Project Hydra

As part of a team of three, I contributed to the creation of a distributed rendering system for a 2D graphical game simulation using multiple Raspberry Pi computers.

I created code base for graphics display in C using Open VG and Open GL ES and I helped to create a code base to test and evaluate comparative performance in Python and Flash. I largely learned from this that I do not want to be a graphics programmer.

Assisted with the implementation of multithreaded bi-directional TCP messaging and with the implementation of Automake for cross platform development and distribution. I gained a lot of exposure to basic networking issues as our initial implementation moved from UDP to TCP. I was exposed to multi-threading using pthread.h to manage the CPU cycles of the network listener on the client machines and to manage the graphical display.

Writing and Improving Debbugs documentation and Move forward reproducible builds

Don Armstrong (don@debian.com) or Lunar (lunar@debian.org)


Two weeks in February where I will be in the UK and France, I will be able to work during this time but probably not as consistently. I am also hoping to attend Linux Conf Australia from the 12th to the 16th of January but plans are not set in stone (and very little travel time). Both of these could be reassessed if this application was to be successful.

This is my first proper foray into the FOSS community. I have skated around the edges for years and never been quite sure where to start, so I am a combination of thrilled and nervous about this application.

I got into tech through games. I play a lot of games and I love them, as a way of teaching, of telling stories and as art.

What it turns out I actually like about tech? I am a tutor who teaches C at university (among other things: C++, Java, basix Unix skills and project management) and it's the language I am most comfortable in. So needless to say I enjoy debugging, I enjoy thinking about efficient ways to do things, I enjoy that I go to my job every day and I am challenged. I enjoy that there are no simple answers to the questions that I get asked.

I also teach kids various techy things, mostly to do with games, games programming and robotics using a bunch of FOSS tools.

I believe in FOSS, I have benefitted hugely from it's existence and the work of the thousands of contributors to it. I use Debian every day and it seems the logical place to try and start giving back.

Apart from both of the projects listed here, I have not yet applied for any other projects with OPW.