Daniel Brooks — Rust Hacker
db48x@db48x.net
(832) 549-7425
11905 SW Center St
Apt. 79
Beaverton, OR 97005
https://db48x.net/
Goal
My goal is the Singularity, and the means of achieving that goal
is openness on the web and in our code. If that's too bombastic
then my goal is the improvement of technology, and the web is the
way to do that. Of course, this is a long term goal, and a pretty
abstract one at that. I've found that web and browser related
projects have been the best way to engage that passion. Relevant
Skills
UI code: Javascript, React, jQuery, HTML5, CSS, XUL, XBL, XPCOM
Back-end code: Rust, Go, C++, XPCOM, Common Lisp, others
Server side: Python, PHP, Perl, Clojure, MySQL, PostgreSQL. etc
Work & Experience
Headline: (https://headline.com/)
January ’22 – May ’23 Senior Software Engineer — Maintained and
extended data–gathering systems.
Internet Archive: (https://archive.org/)
December ’18 – February ’20 Software Engineer — I focused on tools
for curating content, in addition to bug fixes and performance
improvements. There was also an R&D project for audio
fingerprinting using audfprint.
Open Source Programmer:
January ’00 – present Self Employed — Volunteer contributor to
Mozilla web browser project and other open source
applications. C++, Python and JavaScript programming, as well as
XUL/XBL. Much experience with bug reporting/triage, debugging,
code review, and large scale application development in general.
Recently my open source contributions have been focused on Remacs,
Archive Team and Reposurgeon. Remacs is a project to port the core
of Emacs to the programming language Rust, Archive Team is a band
of rogue archivists out ot download the web and save it for
posterity, while reposurgeon is the best distributed version
control repository manipulator there is.
Porting Reposurgeon from Python to Go was a great opportunity to
learn the language. I fixed a number of important bugs, but the
best part of the work was the performance tuning. I was able to
significantly speed up Reposurgeon by reducing the amount of
memory allocated, reducing garbage collection overhead, and
removing unnecessary work.
Freelance Programmer:
July ’00 – December ’19 Self Employed — Programming contracts for
companies/individuals, and for the public good. Includes a wide
range of projects, some of which are detailed below.
Fornova: (http://www.fornova.com/)
August ’15 – September ’16 Software Engineer, consulting — Ported
Fornova's embedded Gecko rendering engine forward to a newer
version for improved reliability, performace, and feature
support. Mostly C++ and build-system work, with some Javascript
and XPCOM.
Solarpermit.org: (http://www.solarpermit.org/)
December ’13 – August ’14 Software Engineer, consulting — A
project by Clean Power Finance to help them smooth out
interactions with local governments. Took over development of the
Django-based site, leading a team to finish it on time and budget
in spite of prior missteps.
Ask Partner Network: (https://apn.ask.com/)
May ’11 – present; Software Engineer — Brought the flagship
product (a browser toolbar) to Chrome, then used that to
rearchitect the Firefox and IE versions of the toolbar. This
resulted in a consolidated code base that supports all three
platforms, reducing development and maintenance costs.
Pioneers of the Inevitable: (http://www.songbirdnest.com/)
Aug ’09 – March ’10; Software Engineer — POTI's product is
Songbird, a desktop media player. Built on top of the XulRunner
platform from Mozilla, Songbird encompasses video and audio
playback, library management and synchronization with portable mp3
and video devices. I extended the existing UI elements to add new
features, fix bugs and provide better feedback to the user.
Mozilla Corporation: (https://www.mozilla.org/)
June ’08 – January ’09; Software Engineer — Mozilla is the force
behind Firefox, Thunderbird, and several other open source apps
that have entered the limelight in the past few years. My job
focused on Mozilla's new browser for mobile devices, Fennec. In
addition to the typical tasks of finding and fixing bugs, I
created the preference and shortcut user interfaces and assisted
in implementing the Fennec side of a data-sync extension called
Weave to allow users to sync their bookmarks, history and open
tabs between their PCs running Firefox and their mobile devies
running Fennec.
MozDev Group, Inc: (http://www.mozdevgroup.com/)
March ’06 – May ’08; Software Engineer — MDG contracts for many
companies who use Firefox or XulRunner as a platform for their own
apps, or who wish to create extensions for apps such as Firefox
and Thunderbird. Among the projects I worked on are a xul app for
McDougal-Littell (bundled with their science and math textbooks),
am NPAPI plugin for Microsoft (essentially just an xpcom wrapper
around the activex interfaces to one of their apps), Nokia
(performance improvements for their MicroB browser which runs on
the N810) and the Brooklyn Museum of Art (I worked on their kiosk
browser extension.)
Hobbies & Interests
Computers:
Programming is my personal favorite, because there's always some
interesting problem to work on. I know Common Lisp, Scheme,
Erlang, Javascript, Perl, Python, C/C++, and a few other
languages. I've worked extensively with XML, SQL and HTML. A few
good examples of my work are for Mozilla, an open source web
browser. I also enjoy programming that isn't work related, such as
the projects in my Mercurial repositories
or on GitHub .
Math:
I'm really into mathematics. Things like calculus interest me, as
well as graph theory, game theory, etc. I'd like to be able to
fiddle with with applications of math such as AI, neural nets,
that sort of thing. I've written programs that used matrix/vector
algebra, trig, etc — a good example would be my Space Elevator
simulator. I even wrote a very simple 3D polygon renderer in C++
once.
Music:
Classical music is my favorite. I learned to play the French Horn
in high school, and I'd like to buy my own horn so that I can take
it up again. In the mean time I content myself with listening to
as much music as I can. A few of my personal favorites are
Shostakovich's "The Second Waltz" and symphonies, "The Ring" by
Wagner, Mozart's horn and piano concertos, the "Peer Gynt Suite"
by Edvard Grieg, and Dvorak's symphony "From the New World".
Books:
I seem to always have liked reading, so I always try and find a
good book. I'm mostly into science fiction, though there are
plenty of other good books out there. I would have to say that my
favorite books are Tolkien's stories of Middle Earth: "The
Silmarillion," and "The Fellowship of the Ring." The way he
constantly weaves references to the huge body of mythology and
history he made for his world into the storyline is what makes
these stories great; you really feel that the characters are
embedded in a world that is much larger than themselves. Vernor
Vinge is also a favorite of mine, particularly "True Names", "Fast
Times at Fairmont High" and "A Deepness in the Sky." Charles
Stross has also writen some excellent books, such as
"Accelerando". Other good ones that I've just read are "True
Names", by Cory Doctorow, and "The Book of the New Sun", by Gene
Wolfe.