I love building the web, and have been creating innovative web applications since the early '90s. I'm fluent in multiple server- and client-side technologies, have taught courses on a wide range of tech subjects, and have done a ton of technical writing over the past two decades. I communicate clearly and effectively, love to hack, and still write code for fun at night.
While the bulk of my career has been working with journalists at UC Berkeley and the Center for Investigative Reporting, I've spent the past few years working on developer teams at Cal and the California College of Arts on complex portal/intranet projects. I'd love to continue working with an agile, forward-thinking team building fast, intelligently-designed web applications.
I love working with, crunching, and mashing up data. I'm passionate about Python/Django (and now have more than a decade of Django experience), spent a year on a Rails project, and put in my time with Angular.js as well. I'm well-versed in advanced git, Agile processes, and peer programming practices.
Rapid creation of Django-based systems supporting a wide range of CCA services for faculty, staff and students, including integration with LDAP, the Google and Workday APIs, and legacy systems. Emphasis on creating a student/staff portal unifying disparate systems into a unified user experience. Also doing integration work with the Moodle Learning Management System.
Building out the next-generation public-facing web presence for CIR with an advanced Django-based CMS built with Armstrong. The system uses a complex weave of class-based inheritance structures to create a publishing system flexibile enough to handle any array of media content types in any array of customizable template structures to provide journalists the flexibility they need to publish creatively. Managed storage, databases and hosting through Amazon Web Services. On the front end: Angular.js, Foundation, django-compressor, bower, and other modern front-end technologies contribute to the stack.
Sole developer responsible for KDMC web presence. KDMC uses a three-framework stack: Django on the back-end (object-oriented/MVC Python), 960.gs CSS grid for layout/design, and JQuery for interactivity. System includes user registration and profiles, sophisticated tutorial publishing, integrated webcasting, a simple JSON API for story display, a custom "inner" CMS that simplifies multimedia project publishing for students, blogging, and more. I also wrote tutorials, ran the webcasts, and taught courses in web development and design, social media, advertising systems, WordPress management, the productivity/GTD system, and more. Administered and managed the school's CentOS web server and co-manaed the school's technical infrastructure. Co-taught workshop on census data visualization, including Protovis and Google Charts. Built interactive stories map system.
Sole webmaster / programmer / developer for the UC Berkeley Graduate School of Journalism. In addition to building and managing the school's public site and intranet, I also built student publishing systems, helped organize the school's multimedia training program, administered both Apple and Linux servers, taught web dev classes, functioned as backup sysadmin, and ran the webcasting operation. The first sites I built for the J-School were custom PHP/MySQL. We later rebuilt the main sites in Django. Converted numerous sites from Movable Type to WordPress. Migrated the school's many sites into a self-hosted WHM/cPanel server.
Bucketlist is a Django-based site that lets users catalog, share, and annotate all the things they want to accomplish before they die. In under a year, Bucketlist has attracted almost 10,000 users and nearly a quarter million life goals. The site is a hobby project I use to practice Django and JQuery development skills.
Founder and primary sysadmin at Birdhouse Web and Mail Hosting, which currently handles nearly 100 sites for journalists, non-profits, and artists. In addition to hosting, Birdhouse specializes in WordPress configuration and customization, mailing lists, CMS installation, comment and email spam solutions, and more. Wrote detailed FAQs for customers. Built customized billing management and customer provisioning systems.
Founder and developer of humor site that allowed users to correlate real song lyrics with commonly misheard versions. The Archive has been featured on MTV, NPR, The New York Times, Yahoo!, Netscape, and numerous other publications, and maintained a traffic level of roughly 1,000,000 requests per month since 1998. The site's back-end was written from scratch in PHP/MySQL. I sold the site in 2006 and watched as the site's design and functionality was driven into the ground (kissthisguy.com - ugh).
Creator of site designed to archive user-level technical assistance for BeOS users. Originally conceived as a BeOS-as-web-server proof of concept, the site evolved into one of the most often-quoted sources of technical data in the BeOS user community. Technical background on the creation of betips.net can be read here.
Founder, designer, and sole editor of Web-based arts organization. Provided free Web space, HTML, and design consultation to artists. The Collective was one of the first arts organizations on the web, and consistently pioneered the artistic use of nascent web technologies. The site is now mothballed for posterity, as an archive of the web's early days. Birdhouse was chosen by Internet Underground magazine as Site of the Month (April, 1996), and received accolades from numerous international publications.
Responsible for all content on the Adamation corporate web site, including original writing, copy editing, review process, and technical production (HTML and web publishing). Created FAQ database publishing system. Wrote all documentation for personalStudio digital video editing application and managed translation of same into four additional languages. Supported end users, demonstrated personalStudio to potential buyers, built and maintained computers for Adamation staff.
Wrote books and magazine / web columns on a freelance basis (see Portfolio), supported BeOS users, held the title of Senior Advisor at BeNews.com (now defunct), wrote freelance articles on various topics for industry insider publications such as Cutter IT and others. Wrote a monthly BeOS column for Byte Magazine. Wrote white papers for internal use at Be, Inc. (now defunct). I also worked briefly as Editor-in-Chief of Linux Journal's then-new Be Magazine, though funding was pulled early.
Worked on various Ziff-Davis properties in Boston and San Francisco. Managed staff, curated aggregational content from the ZD magazine family for use on CompuServe, Prodigy, AOL, and Ziff's various web sites, including InternetUser. Worked closely with back-end production server teams and technologies, marketing, and upper management. Produced a news feed licensed to third parties. Front-end web work for InternetUser magazine. Ran the ZD3D section covering VRML. Researched, wrote, and produced Web-based multimedia projects and features on topics such as streaming audio and Web-based animation. Created and produced ZDNet's "Reviews at a Glance" collection. Pioneered the distribution of aggregated Ziff-Davis content in multimedia/hypertext Windows Help File format in pre-web days.
Wrote and edited summary descriptions of poetry and literary titles for quarterly catalog. Assisted with graphical layout, scheduled, trained, and supervised volunteer proofreaders. Managed order fulfillment department.
Evaluated and edited submissions for student journal; assisted with layout and design.
Volunteer program designed to promote youth involvement in international peace process via computer networks. Presented program to classes, organized participation of students on the system, drafted student proposals for presentation to international diplomats (for example at the Helsinki Summit of 1988). Assisted in composition and final edit of H.I.N.T. constitution.
Proficient or expert with:
I maintain a blog/database of my open source software contributions (scripts and utilities).
References available on request.
This is a valid HTML5 document (with one unavoidable exception).