Abe FettigHi, I'm Abe Fettig, and I build web applications. This is my professional resume.
What I do
For my own projects I generally use the Python programming language. I have a strong working knowledge of the Django web development framework, and the Twisted framework for building networked applications. I'm also experienced in implementing and debugging the standard formats and protocols used for internet communications, including HTTP, SMTP, POP3, IMAP, MIME, RSS, and Atom.
I like working with technology, but I care more about people. I look at my technical knowledge as just a means to build products that people will enjoy using. My goal is to make applications that delight users instead of frustrate them. And when I'm working on a project with other people, I try to treat them with kindness and respect.
From 2004 to 2006 I worked at JotSpot, a startup that built and sold the JotSpot wiki product (JotSpot was acquired by Google in November 2006). At JotSpot I worked on a number of projects, including rewriting our templates to be based on structural markup and CSS layouts, improving our suite of Wiki-based applications, and developing a plugin system for extending the wiki.
While at JotSpot I developed a new product, JotSpot Live, a web application that allowed multiple users to take notes collaboratively in real time. JotSpot Live used the JotSpot wiki server to store page data and a Twisted web server to push changes to the browser using XMLHttpRequest long-polling. (Soon after the release of JotSpot Live, JotSpot's Alex Russell coined the term "Comet" to describe this kind of technique.)
During the year before JotSpot was acquired, I took over development of the JotSpot WYSIWYG editor, which included contributing speed and usability improvements to the open source Dojo RichText widget. I was able to greatly improve the JotSpot editing experience, making in-page Ajax editing fast, stable, and seamless. At the 2006 Ajax Experience Boston conference I gave a talk entitled "Where to Use WYSIWYG", in which I shared some of what I'd learned about browser-based editing.
Between 2002 and 2006 I developed Hep Message Server, which I released as open source software. Hep was a communications server that offered storage transfer of email and RSS messages while also proxying between RSS, POP3, IMAP, SMTP, NNTP, and weblog APIs. This allowed users to do things like read their RSS feeds using their email client over IMAP. Hep was implemented using Python and the Twisted framework. Along with Hep I also released a library called Yarn, which provided a standard Python API for reading and writing messages using many different formats and protocols. I gave a talk on Yarn at PyCon 2005 in Washington, DC.
In 2005 my book on working with network protocols in Twisted, Twisted Network Programming Essentials, was published by O'Reilly.
From 2002 to 2005 I worked as a programmer at Diversified Business Communications in Portland, Maine. During that time I was responsible for designing and building several major new pieces of software, including a system for syncing data between internal databases and the web, a company intranet, and a data warehouse that merged customer data from several different sources and made it available for reporting and analysis.
From 1999 to 2002 I worked as a contractor doing custom software development, including a number of web-based applications backed by SQL databases.
I'm available for hire on a contract, hourly basis (depending on my current projects and schedule). If you have an interesting project that you'd like to hire me to work on, I'd love to talk about it. You can reach me by email at email@example.com.