About Russell
I'm a geek. I like new ideas and pushing the envelope of the possible using technology. However, technology isn't just about building a nifty new widget. Technology needs to complement reality - physically, conceptually, and financially.
I'm passionate about building this technology. Computers are just starting to get to the point where we can be less concerned about how to build, and more concerned about what to build, and I like being on the cutting edge of the what.
I've spent over a decade in academia and industry developing the skills that put me in a position to help build the future. I have a passion for using good design, powerful tools and automated testing to find elegant solutions to real-world problems faced by real-world users. I'm looking forward to seeing what comes next.
Short Biography
Dr Russell Keith-Magee has been interested in computers since his parents bought a Commodore 64 in 1983. After studying Physics and Computer Science as an undergraduate, Russell completed a doctoral dissertation investigating models of learning and development in neural networks. He has worked in the software industry and academia for over a decade.
Russell has been a core developer on the Django project since January 2006. He is a co-founder of Django Evolution, a schema evolution framework for Django. He is an active participant on the Django Users and Django Developers mailing lists, and was a mentor in the Google Summer of Code 2008.
In addition to his work with Django, Russell has worked at a series of startup companies. His current employer is Wotnews, an online service that monitors news from thousands of sources across Australia including the major news networks, blogs, corporate newsletters, government and industry news publications. Wotnews sells enterprise level news aggregation and search services to major Australian companies.
Russell lives with his wife, son, daughter, and two cats in Perth, Western Australia.
Detailed Biography
Academia
I attended Cannington Primary School, followed by a special language entry to Rossmoyne Senior High School. At Rossmoyne, I studied Mandarin Chinese for 1 year, and German for 3 years. At the end of this three year period, I traveled to Timmendorfer Strand, a costal town in the north of Germany, to participate in a student exchange.
I completed my Year 12 exams achieving a TEE score of 443.8 (out of a possible 510), and gained entry to the Physics programme at Curtin University of Technology. I completed my bachelors degree in 1996, and changed departments to take my honours in Computer Science in 1997.
Upon finishing my honours, I started my PhD in the School of Computing. I submitted my thesis, entitled "Learning and Development in Kohonen-Style Self-Organizing Maps", in July 2001. My thesis was passed unconditionally by three markers, with two of these markers recommending a Vice Chancellor's Commendation for my work. My doctorate was conferred on April 24, 2002, and I formally graduated on Feburary 10, 2003.
During my academic career, I received the following academic recognitions:
- 6 time member of the Vice Chancellors List (a group consisting of the top 1% of students in the University).
- Winner of the First, Second, and Third Year Dean's Prizes, awarded to the Dux of each academic year within the Faculty of Science.
- Winner of the Australian Institute of Physics (WA Branch) Prize, awarded to the best graduate of a Physical Science course in WA.
- Winner of the Curtin Jubilee Prize in Physics, an occasional award given to outstanding Physics students
- Graduated with a Bachelor of Science (Physics) with Distinction in 1997, with a Semester Weighted Average of 89.1%
- Graduated with a Bachelor of Science (Computer Science) (Honours) in 1998. I received First Class honours, and was judged the best graduate of the honours course.
- Received the Curtin University Silver Jubilee Scholarship to undertake my Ph.D. in Computer Science.
Employment
During my university career, I worked as a tutor for a number of subjects, including Information Technology 111 and Computer Programming 151/152. I also acted as Duty Programmer - a sort of roving problem solver that was available for undergraduate students to ask questions outside of formal contact hours. When my PhD scholarship ran out in January 2001, I took up a job lecturing and tutoring "Artificial and Machine Intelligence 251". I taught this course in the first semester of 2001.
I started work at Calytrix Technologies the day after I submitted my thesis. Calytrix is a software company that specializes in simulations and exercise support for the defence community. During my time at Calytrix, the flagship product was SIMplicity - a code generation tool used to support the development of simulations using the DIS (IEEE1278) and HLA (IEEE1516) simulation protocols. I was involved in the development of SIMplicity from day 1, and eventually rose to being the senior engineer responsible for the development of SIMplicity.
I spent 3 months living in Philadelphia while Calytrix set up a US office; I also spent a lot of time traveling the world visiting customers, teaching training courses, and representing Calytrix at conferences.
I worked at Calytrix until March 2008, when I left to start working for Wotnews. Wotnews attempts to solve the problem of keeping track of news relevant to you. We read thousands of news sources, ranging from 'old media' to blogs. We analyze every article to determine the actors and subjects discussed by the article, and find the stories and themes that emerge over the course of the day. Users define their interests, and we attempt to find the stories that best match those interests.
In addition to a public website, Wotnews offer enterprise services so that companies can embed Wotnews-powered news services in their own websites.
Projects
I discovered Django about 4 months after the first public release. After contributing some patches to improve the query language, Adrian Holovaty offered me commit access to the trunk. I have been an active member of the Django community ever since.
I was responsible for developing Django's test framework and the newforms media framework; I also did a lot of work on the 'magic-removal' refactor.
Aggregation queries (averages, etc) were a long standing itch of mine, and in 2008, I mentored Nicolas Lara in the Google Summer of Code in a project that adds aggregate queries to the Django query language. This code was integrated into Django in January 2009, and formed part of the Django v1.1 release. In the 2009 Summer of Code I mentored Alex Gaynor while he implemented multiple database support for the Django ORM. This work has been committed to trunk, and will be in the upcoming Django v1.2 release.
Personal
I was born in Perth, Western Australia, in 1976, and thirtysomething years later, I'm still here.
I met my wife, April, while I was an undergraduate. We were married in 2004. My son, Tobias, was born in 2006. My daughter, Beatrix, was born in 2009.
My two cats are domestic shorthairs named Storm and Rogue. They defy any description of "elegant and catlike" - they would probably fall of a flat surface if they weren't tied to it.
Where did freakboy3742 come from?
If you want to know where my nom de plume came from, read the blog entry