Resume of Raven Black, Senior Programmer --- Contact Information Title : Mr Name : Raven Black (yes, really) D.O.B. : 02-15-1977 Email : raven@ravenblack.net Current address : (withheld) Tel : (withheld) Employment Status : Freelancing - available for contracts. --- Previous Work Experience * Freelancing; web-design, Perl and C programmer. February 2002 - present * Sole C++ programmer for Deck Wizard for Pokemon, and Perl programmer for the associated website. February 2000 - September 2000 Miracle Play Ltd. Centreville, VA (USA) * NT Network Admin, Database Admin, for an Employee Assistance Program provider. May 1999 - November 1999 PPC UK Oxfordshire (UK) * Level Editor programmer for a real-time 3D game using Visual C++ under Windows 98 July 1998 - October 1998 Genetics Oxfordshire (UK) * Windows 95 Board Game GUI programmer using Visual C++ under Windows 95 May 1997 - July 1998 Oxford Softworks Oxfordshire (UK) * Temporary WP operator, using Amipro, and spreadsheet operator, using Lotus 1-2-3, under OS/2 Warp. August / September 1996 Acclaim Employment Bureau Leicester (UK) --- Programming Languages * C and C++ * Visual Basic * 68000 Assembler * HTML/CSS * PHP3 * 8086 Assembler * Java * SQL * Perl Of these I prefer C, C++, Assembler and Perl. --- Programming Projects * RavenGive (C++, Windows) A minimalist webserver for Windows, securely supporting resuming connections and multiple simultaneous connections without unnecessary use of multithreading. Also supporting plugins which will later implement CGI and streaming video support (using multithreading). [http://www.ravenblack.net/programs/ravengive/] * RavenGet (C++, Windows) Minimalist resuming HTTP downloader, supporting queues and multiple simultaneous downloads. [http://www.ravenblack.net/programs/] * Magnify (C, Windows) Simplistic visual aid, also providing handy additional information to the user. [http://www.ravenblack.net/programs/] * Motepad (C, Windows) A popular replacement for Notepad; essentially a wrapper around a RichEdit control, supporting larger files than ( non-NT ) Notepad, row/column display, and configurable font. [http://www.ravenblack.net/programs/] * Warlocks (Perl, SQL and HTML; OS-unspecific) A fast and secure multi-user web-based game. [http://games.ravenblack.net/] * CheckPopPwd (C, *nix) Along with SMTPAllow, inserts into qmail's chain of pipes to securely implement POP-before-SMTP with no timeouts or unwieldy delving through logfiles. [http://www.ravenblack.net/programs/] --- Further information Aside from working in programming, I also spend much of my spare time programming, both in Windows (mostly using C and direct access to the APIs) and in Unix (BSD and Linux: command-line and server tools, mostly C, some Perl, and the occasional kernel modification). My programming tends to be particularly conscious of security, reliability and efficiency. Several of my works are written simply because, having seen the alternatives available, I insist on code more secure than what's offered. My more security-conscious works include a modification to the Linux 2.2-branch kernel to make ipchains log TCP sequence numbers, to enable me to forge responses to blocked packets. Another project was a pair of inserts for the qmail SMTP and POP3 chain of pipes to perform POP-before-SMTP validation without the security flaws and clumsiness I saw present in other applications with the same purpose. My minimalist Windows applications 'Magnify', 'Motepad', 'RavenGive' and 'RavenGet' (each smaller than 25K) demonstrate efficiency and familiarity with the Windows API. I am also proficient with Direct3D. For Windows programming, I have constructed a debug wrapper library which warns of potential resource leaks and errors that most such checks omit. It tracks usage of most common resources, and warns if any creations or deletions fail for any reason, along with references to the point in code at which the mistake occurs. My web-based game 'Warlocks' demonstrates my abilities with CGI, Perl and SQL, as well as my diligence in preventing (where necessary) cross-site- scripting and other popular CGI-targetting attacks. Unlike most programmers, I rather enjoy working with arcane (but efficient!) binary file formats such as the Truetype 'ttf' format. Much of my predilection for efficiency comes from my programming history; I started on computers with 48K of RAM, and later moved on to (still slow) computers with 512K of RAM and no hard-drive - such hardware encourages creative ways of making code as fast and small as possible. I also maintain my own webserver and firewall, previously using BSD and Linux, now using Linux only. --- References Keith Thompson Miracle Play Inc. PO Box 1449 Centreville, VA 20122-8449 Tel : 703 968 2652 Email : swinsols@aol.com Contact me (raven@ravenblack.net) for other references.