Donate $5 for a couple of cups of coffee to water the FLOSS
plants.
|
Will Guaraldi Kahn-Greene
location: North Chelmsford, MA, USA (45 minutes from Boston)
email: willg at bluesock dot org
Status (January 2012)
Baby runs around the house and has 6 teeth. Still has no obvious
reboot button, but you can tell when he's about to crash because he
starts getting fussy. Just like my laptop.
I work at Mozilla in the
webdev group on SUMO.
I pushed out Pyblosxom 1.5
after several years of work---now I'm taking a slight hiatus from
active Pyblosxom development.
I'm working on infrastructure changes for the
MediaGoblin project. It's coming
along very nicely.
I'm behind in Python Miro
Community tending, but hoping to catch up soon.
I continue to work on Miro, but I'm
definitely not as active as I used to be.
Content
- my blog
(feed)
- I use Pyblosxom for the blogging engine. My blog covers my work, Pyblosxom
updates, Miro, Python Miro Community updates, and various other things.
- my identi.ca page
(feed)
- I attended graduate school at
Northeastern College of Computer and
Information Sciences. I graduated in May of 2007 with a Masters in
Computer Science focusing in programming language theory/design and
software engineering. Since I've graduated, I don't know when they're going
to nuke my site. I've mirrored some of it
here for future
Professor Lieberherr software engineering courses.
Affiliations
Projects
This is the list of projects I work on:
- support.mozilla.org (active) -
I'm on the SUMO team at Mozilla.
- Pyblosxom (active) -
I'm the current maintainer and a core developer for Pyblosxom. It's a
file-centric weblog engine in the spirit of Blosxom but written in
Python.
I'm the primary author of the Pyblosxom manual which was originally
written in docbook but has since been converted to restructured text.
I released Pyblosxom 1.4 incorporating work I did while helping out on
Cheesecake and also pulling in
Paste support.
I mentored a GSoC 2007 project building a web interface for Pyblosxom called
webfront.
I released Pyblosxom 1.5 which was a significant overhaul of the project
and it's so much better now.
- GNU MediaGoblin (active) - I
work on documentation, infrastructure, and other bits of the project. I'm
a founding member.
- Pyblosxom
plugins (active) - These are plugins for Pyblosxom I wrote or took over
from other people. I'm in the process of ditching these or moving
them to the Pyblosxom core plugins set.
- Python Miro Community
(active) - I am the curator for Python Miro Community a site that focuses
on Python video from around the Internet. I was awarded a PSF Grant in
2011 to enhance the site with Universal Subtitles support, pay for 12 months
of the Miro Community service, and continue maintainence of the site.
- Miro Community (active-ish) -
Miro Community is the service that Python Miro Community runs on. I
contribute to the project to help make the Python Miro Community site better
usually in the form of bug reports.
- Miro
(develop) (active-ish) -
Miro is a desktop media player that runs on Windows, OSX and GNU/Linux. This
is the project I worked on fulltime for PCF and I continue to contribute. I
still contribute to the project, but in a decreased capacity.
- Github and
Gitorious accounts.
Writings
This is a list of things I've written. It's mostly documentation, but
S and I are into writing children's books and we finally published one
in December 2005 which was very exciting. Thus my list of writings consists
of one children's book, a couple of half-written manuals, an article,
and some other stuff.
- Documentation patches for projects of code I use.
- Bee Careful, Marvin
- This is a children's book that my fiance (now wife) and I wrote in
2004/2005. I'm also in the process of posting the source code online in
a bzr repository and a Trac instance and relicensing it under the Creative
Commons BY-NC-SA 3.0 license or alternatively the GPL version 2 or later.
We encourage you to download it and print it out and/or purchase a
professionally bound copy from Lulu. We're in the process of writing
a sequel.
- The
Pyblosxom Manual - I originally wrote it in
DocBook, but John, Ryan and I
rewrote it in reST
for Pyblosxom 1.4. The DocBook format is a real pain in the ass, though
it's likely that it would be easier to work with if I knew it better.
Regardless, it was a big obstacle for other people to help out with the
documentation and converting it to reST has made it easier. Now we use
Sphinx.
- Cleaning
Up Pyblosxom Using Cheesecake -
A case study for using Cheesecake to overhaul
a pre-existing Python-based project. Pyblosxom 1.4.x included a lot of fixes from
the cleaning up. Pyblosxom 1.5 included more.
- Quick Python (second edition) -
Vern Ceder updated (and heavily re-wrote) the second edition of this book
in 2009. I did the technical review. It's a solid book for Python 3.
- GNOME Journal - I've contributed
to GNOME Journal as an editor and as a writer.
- CSG260
materials - This is a bunch of stuff I'm mirroring here that I wrote
when taking CSG 260: Advanced Software Engineering in Fall of 2006 at
Northeastern with Karl
Lieberherr. It's probably not very exciting unless you're taking one
of his classes or following the constraint satisfaction problem solving
research in
Project Evergreen.
- Mapping Demeter
to XML Schema and XPath 2.0 (May 2007) - This is a paper I wrote during a
research and readings semester with Karl
Lieberherr. It maps syntax and semantics between Demeter class dictionaries
and traversals and XML Schema and XPath 2.0. It's a one-way mapping, however.
This is useful for someone who was going to implement some of the graph-traversal
algorithms used in Demeter in a XPath 2.0 component that's XML Schema aware.
- Summary of
research on modularizing Demeter class dictionaries (May 2007) - This is
another paper I wrote during a research and readings semester with
Karl Lieberherr. It's a
summary of the readings and research I did for the semester. I didn't get as
far as I wanted to on that project, but I did learn a lot more about modularizing
things.
- LPC Manual - A manual
on LPC that covers the language and coding in the language to build
areas. It's sort of targeted towards people with little programming
language or coding experience. It was something I worked on from
time to time as I discovered people had conceptual difficulties
with various aspects of LPC the language. It was never completed. Also,
it looks like they took it down. Boo.
- ANSI codes - A
listing of ANSI codes that I found, overhauled, and added to while working
on Lyntin. For some reason, it's a very popular page on my site.
- regexp haiku -
A regexp haiku I wrote that the editors liked and had posted on java.net.
- Lots of documentation and project specifications for the companies
I've worked at. Since this is a catch-all for what are essentially
internal documents, I can't share them with anyone.
Abandoned Projects
It occurred to me that I should document my abandoned projects, too.
I spent a lot of time on them and the only thing that differentiates
them from other projects is that I stopped working on them.
- Lyntin (inactive) - Lyntin
is a mud client written in Python which shares many commands with Tintin.
It has since diverged from Tintin style in many ways. It's listed as one
of the largest
Python projects on the Python wiki--though I'm sure there are others
out there that are much larger. I stopped actively developing Lyntin in
May 2004 when I passed the project off to Eugene. Seems like the project
died pretty soon thereafter.
- Lyntin plugins
(inactive) - These are plugins I wrote for Lyntin. I don't maintain them
any more and I think the AIM one no longer works (I think AOL disabled
the TOC protocol that it requires), but they're still useful to some
people.
- Dark Rifts - I've spent a lot of
time writing various
mud engines and most of those
projects petered out. I had a friend who introduced me to Dark Rifts, I
became a coder there and then an admin. Over the course of three years, I
wrote a lot of functionality (vector-space search system for in-game
documentation, time/weather daemon, functional programming functions,
bridge code between MudOS and the web-site, bridge code allowing for
mud-account authentication for pure-ftpd, gobs and gobs of documentation
including the beginnings of an LPC manual, ...), fixed a lot of bugs,
and wrote a bunch of areas as well. Then after a craptastic
conversation in January 2007 with one of the other admin, I retired
permanently, which was unfortunate and bummed me out. If I do mud
development again, I'll look at helping out on
Divmod Imaginary
or something similar.
- Stringbean -
Stringbean was a Python-based mud that I was working on after several
other projects had been abandoned. There were some interesting things
I wanted to try and then I discovered that Twisted had already done some
of them.
- Bluemud - Bluemud was
a project I worked on with a few other people back when I was in California
in 2000. It was a Java-based mud which used Jython as the in-game world
language. We bumped into a series of problems with Java security and
Jython. We were looking into rebuilding what we had done in C with an
embedded CPython VM, but due to various life issues (I moved from west
coast to east coast among other things) the project kind of fizzled out.
One of the coolest things we did in Varium and then pulled into Bluemud
was in-game screen editors. I wrote a mini version of Pico and we had
a mini version of Emacs (called Nomacs), too. Pictures are
here. We had
the NAWS telnet option working (so you could resize your telnet window and
the editor would resize with it) and towards the end I was working on very
rudimentary syntax highlighting functionality. To build these editors, we
implemented a primitive curses-like windowing toolkit.
One part of Bluemud was a mini-project I called
Bluemud Atlas
which took an asciimap and converted it into a tiled image. The purpose of
this was to generate a web-based atlas of the world and its areas from a
series of ascii-maps. I still use it occasionally for gaming.
- Varium - Alas, but the Varium web-site is no more. Varium was the
first Python-based mud project I worked on in 1998 and 1999. We got a
lot of interesting things working, but I think the scope of the project
was too huge (engine, mudlib, world, ...) for the small group of us (three
at the time) to complete. After Varium wound down, I worked on Bluemud
and pulled a bunch of the things we did in Varium into Bluemud.
- Bluemail - I wrote Bluemail as a Python CGI application back in
2000 or 2001 or thereabouts. The mission was to build a webmail client
that used the same folder structure and settings as Pine so that people who
used Pine when they were ssh'd into the box could use the webmail client
when ssh wasn't available. During one of the server switches, Bluemail
stopped working. Since then there have been a lot of advances in
Python-based web-application frameworks and Bluemail should be re-written
using one of those.
This site
This site was written using Emacs and Vim (yes, both).
I use Pyblosxom to power
my blog,
Gimp and
InkScape for graphics,
and Subversion and
Git for version control.
It's hosted on Apache 2 on
Debian GNU/Linux.
|