All Posts

Endorsing Conventional Commits

Consider adopting a VCS commit message convention, Conventional Commits has made me a better developer.

Read more ...


Reproducing Deployments with Docker-in-Docker

Debugging deployment issues locally by falling down the Docker-in-Docker (DinD) rabbit hole.

Read more ...


Docker Gotchas I’ve Encountered

Time to share the snags/gotchas I’ve run into developing and deploying with Docker containers.

Read more ...


Reflections on TTW Programming from the Future

Playing with IFTTT and Zapier has me remembering the TTW programming fallout and debate.

Read more ...


Using Directories for Sphinx Pages

Creating Sphinx pages as ./foo/index.rst has a number of benefits over ./foo.rst including path consistency and organizing content.

Read more ...


Feeding ABlog to Social Media

@nabobalis released my contributions to ABlog to support automatic social media posts for new posts.

Read more ...


Migrating From Plone To ABlog

My aspiration to return to blogging thanks to reStructuredText, ABlog and GitLab CI/CD.

Read more ...


Emerald Sprint Report Out

Merging versioning and and constrained types into Dexterity near Beautiful Seattle.

Read more ...


prgmr.com VPS: “We don’t assume you are stupid”

Excellent, affordable VPS service done in a way that feels very much like participating in an open-source community.

Read more ...


POSKeyError During Commit

A terrifying tale of ZODB errors that only showed during the hardest time to debug.

Read more ...


WSGI apps on IIS

iiswsgi provides a WSGI server providing a FCGI gateway to IIS and setup.py commands for distributing apps as WebPI packages

Read more ...


Looking for Projects and/or a Team

I’m available for work and am interested in contract/consultant projects or a position with a team.

Read more ...


Plone lands on IIS!

Help me test a new GUI Plone install on Windows and IIS.

Read more ...


Sea Sprint 2012 Report-Out

A Python snob’s adventures in JS testing land.

Read more ...


Python Web Apps on IIS

Can Plone work better on Windows? I have a working proof-of-concept with Web Platform Installer, Web Matrix and IIS Express that may improve Plone’s installation story. Help me get it out the door.

Read more ...


Plone Sprints East

I’m going to Plone Sprints East, a sprints event with a symposium thrown in for flavoring.

Read more ...


Cioppino Sprint 2012

I’m so glad this Bodega Bay, CA sprint is becoming a tradition

Read more ...


PyCon 2012 Talks

A bit about my experience at my first PyCon and the talks.

Read more ...


PyCon 2012 Sprints

Sprinting after PyCon and my first time working with and contributing to Pyramid.

Read more ...


Building Python with Subversion 1.7

I ran into a problem when trying to build Python from source after upgrading SVN.

Read more ...


Local Development for Large Upgrades

Using COW to get a usable local setup when developing upgrade procedures for messy sites.

Read more ...


Buildout Performance Improvements

Getting a 6-7 fold decrease in zc.buildout run times.

Read more ...


experimental.broken

Graceful handling of broken interfaces and components in the ZODB.

Read more ...


Making easy_install play nicely with multi-arch

How to help extensions built with easy_install find Debian/Ubuntu multi-arch libraries.

Read more ...


$300 Ticket for Plone Conference 2011

My old boss has a ticket to Plone Conference 2011 that he can’t use afterall.

Read more ...


Looking for Projects and/or a Team

I’m available for work and am interested in contract/consultant projects or a position with a team.

Read more ...


Centralized Git-SVN mirror

For those of us using lots of “git svn clone”s, is any sort of central mirror worth it?

Read more ...


Ratpoison is Dead, Long Live StumpWM

Replacing ratpoison with StumpWM.

Read more ...


Using Functional Tests for Profiling

Use your functional tests with zope.testing/zope.testrunner to do easier profiling.

Read more ...


Grab Bag of git/svn stuff

Using gitify to pretend everyone has already switched

Read more ...


Moving to San Francisco

I’m finally relocating myself to the city!

Read more ...


Ratpoison under Gnome

Configuring ratpoison as Gnome’s window manager preserving all the Gnome goodness.

Read more ...


Cioppino Sprint

I’m back home after the west coast sprint formerly known as the Tahoe sprint, plone.net is now on plone.org, and I can spell Cioppino without looking it up.

Read more ...


Migrating a blobstorage

Addressing the “ZODB.blob WARNING (PID) The lawn blob directory layout is deprecated due to scalability issues on some file systems, please consider migrating to the bushy layout.” warnings.

Read more ...


Trying out Chameleon

My experiences with Chameleon, testing compatibility and z3c.form

Read more ...


Does the Tool Really Deserve the Credit?

When we rave about a tool being superior because we used it to solve a given problem, is it really the tool or the familiarity with the problem we gained in learning to use the tool?

Read more ...


ExtensionClass ZODB Migration Script

A "bin/instance run" script for updating ExtensionClass instances pickles in the ZODB. Useful to apply Hanno’s pickle patch.

Read more ...


Dogfood Dinner Bell

It’s that time again to upgrade my Blog to the latest Plone.

Read more ...


TTW Dexterity Vocabularies

First report from the Tahoe Sprint working on user-enterable vocabularies in the schema editory.

Read more ...


AT Relation Field

Working with David Brennan on two-way references and relationships

Read more ...


testbrowser Patches

collective.testcaselayer 1.2 includes some patches for functional browser testing

Read more ...


collective.gsqi

A grab bag of patches to GS and portal_quickinstaller

Read more ...


collective.formcriteria folder_contents

Managing content with collections

Read more ...


collective.contemplate

Add content from existing content templates

Read more ...


GSML

GenericSetup import hadlers ala ZCML directive handlers

Read more ...


GPG Key Transition

I’m now using a new and more secure OpenPGP key

Read more ...


LDAP, Certificates and Buildout, oh my!

Bringing LDAP and SSL/SASL/TLS certificates into the buildout fold

Read more ...


bbdb.gmailfilter

GMail filters from emacs BBDB

Read more ...


Stagger supervisord

Poor man’s supervisor program startup delay

Read more ...


collective.formcriteria

Ready for beta testers!

Read more ...


Plone 4 Framework Team

Why I’m excited to have been selected

Read more ...


Bristol Performance Sprint Post-Mortem

Functional benchmarking plus buildbot

Read more ...


Emacs tips: Navigate CamelCase

M-f, M-b, M-d, <M-backspace> over camelCase!

Read more ...


Functional Benchmarking Accessibility

More progress on load test benchmarking

Read more ...


At the Plone Performance Sprint

In Bristol helping make Plone go faster

Read more ...


New membrane and remember Maintainer

Rob Miller announced today that I’ll be the new maintainer

Read more ...


collective.securitycleanup

GenericSetup handlers to restore Zope security to defaults

Read more ...


Evaluating Add-Ons

What is the risk of adding a given dependency?

Read more ...


Balancing DRY and Readability

Some complexity belongs in your editor/IDE

Read more ...


Community Introspection

Same risks and rewards as for the individual

Read more ...


Nonprofit Software Development Summit

3 brilliant days with cracked out LAMP folks

Read more ...


collective.catalogexport

Use ZCatalogs as export sources

Read more ...


Running Tests in Egg Buildouts

A quick note about a gotcha with plone.recipe.zope2instance.ctl

Read more ...


collective.slideshowfolder

Somtimes useful extensions to Products.slideshowfolder

Read more ...


collective.redirect

Administer redirects to internal or external URLs using Link like content

Read more ...


My Borrowed World Plone Day

How I crashed Donna Snow’s presentation

Read more ...


Cloud Busting

What does it mean to be a good cloud citizen?

Read more ...


Fine-Grained PM on Small Projects

Increasing control while reducing project management costs

Read more ...


Testbrowser Redirects with Fragments

Using zope.testbrowser when a redirect URL includes a fragment

Read more ...


Re-using SSH Connections

Automatic master SSH connections for sharing and multiplexing

Read more ...


Spaces in User Names and psvn.el

Handling SVN user names with spaces in emacs’ svn-status.

Read more ...


Strange Critters

A few strange critters I ran into hiking

Read more ...


Foxglove

White foxglove from East Ridge Road in Big Basin.

Read more ...


Eagle Rock View

Faux panoramic from Eagle Rock in Little Basin

Read more ...


Adding testbrowser Form Inputs

Mock dynamic form inputs with zope.testbrowser

Read more ...


collective.formcriteria

User enterable search criteria forms for collections/topic/smart folders.

Read more ...


Buildout - One Zope2 Build

I can share one Zope2 build between all buildouts

Read more ...


Aerobie AeroPress

Who knew the best coffee maker would come from a toy company?

Read more ...


collective.testcaselayer

Use test cases as zope.testing layers

Read more ...


Products.PDBDebugMode Egg

I’ve eggified my post_mortem debugging tool

Read more ...


Debugging with MockMailHost

Using the mock MailHost on a real instance

Read more ...


rpatterson.mailsync

OfflineIMAP, mswatch, and Gnus integration for realtime mail

Read more ...


z3c.persistentfactory

Persistent instance method ZCA factories

Read more ...


Hotel internet on Ubuntu

TCP window scaling and broken routers

Read more ...


Is python-openid 2.0.2 broken

an upgrade broke openid login

Read more ...


ZopeTestCase and packages

Please put ZopeTestCase out of my misery

Read more ...


Emacs, pdb, and zip_safe eggs

restoring pdbtrack grace to zipped eggs

Read more ...


Screen Sessions at Boot

start screen sessions during init

Read more ...


RSS Comments

an OOTB substitute for email notification

Read more ...


Site-Wide Spell-Checking

spell-checking web spiders

Read more ...


Installing Add-Ons TTW

point-and-click installation of Plone extensions

Read more ...


Plone 3 RSS

modifying the RSS output

Read more ...


About this Site

the why and how of building this site

Read more ...


zc.buildout

Contributed fixes

Read more ...


z3c.repoexternals

Generate svn:externals from trunks in a repository

Read more ...


z3c.recipe.ldap

deploy an OpenLDAP server

Read more ...


z3c.recipe.egg

working with source distributions

Read more ...


z3c.offlinepack

pack a ZODB without running Zope

Read more ...


z3c.gibberish

CSV files of random dictionary words

Read more ...


z3c.componentdebug

verbose ComponentLookupErrors

Read more ...


repoze

exploring repoze deployments

Read more ...


grouparchy.testing

re-use ZODBs for expensive test fixtures

Read more ...


grouparchy.setuptools

A setup command for uploading a release to SVN

Read more ...


grouparchy.schema

zope.schema field events and directlyProvided fields

Read more ...


grouparchy.porter

zope.formlib for large data sets

Read more ...


grouparchy.login

flexible login, login steps, and single URL login

Read more ...


grouparchy.index.provider

index provided interfaces

Read more ...


grouparchy

community group semantics

Read more ...


Zope 3

Contributed various fixes and features

Read more ...


Zope 2

Contributed various fixes

Read more ...


ZEO on EC2

exploring elastic Amazon EC2 ZEO clusters

Read more ...


S3/SimpleDB ZODB

exploring Amazon S3/SimpleDB ZODB storage

Read more ...


Products.sharedusers

share member across portals

Read more ...


Products.cygwinpatch

Zope under cygwin

Read more ...


Products.ReservedTypes

Control singleton content objects in folders

Read more ...


Products.QuickLists

Content listing controls and macros

Read more ...


Products.PortletImage

A simple image link portlet

Read more ...


Products.Lenses

Provide varied user experiences from the same portal

Read more ...


Products.InstanceSchema

Per-object, TTW editable Archetypes schemata

Read more ...


Products.InheritanceUtils

Utilities for inspecting class heirarchy

Read more ...


Products.ControllerDuplicates

Prevent duplicate submission of CMFFormController forms

Read more ...


Products.CMFPlacefulWorkflow

GenericSetup export and import handlers

Read more ...


Plone

Contributed various fixes

Read more ...


Lisp

I’d love to study Lisp

Read more ...


z3c.recipe.subprocess

manage daemons and other processes

Read more ...


Products.remember

Contributed the CMFMember to remember migration path and other patches

Read more ...


Products.personalities

Remember extensions including a confirmation member type

Read more ...


Products.contentmigration

Contributed extensions including in-place migration

Read more ...


Products.UTopic

Extensions to ATContentTypes ATTopic including selectable sort, filtering, and saved searches

Read more ...


Products.Tags

A tagging implementation where tags are weighted by the number of members who applied them

Read more ...


Products.Submissions

A framework for member submission content types such as reviews and ratings

Read more ...


Products.SkinDiffs

A CMF product that helps maintain customized skin objects by generating diffs between skin objects

Read more ...


Products.PortalTabMenus

Pure CSS nested menus of arbitrary depth from site structure and CMF actions

Read more ...


Products.PDBDebugMode

postmortem debugging of Zope exceptions

Read more ...


Products.CMFCapitalProjects

1999-2005: A construction project management application

Read more ...