Navigating the Bazaar
This is my presentation on Navigating the Bazaar of Open Source libraries, presented at That Conference in the Wisconsin Dells on August 14, 2013.
The developers will fix it
Much of our code depends on an ecosystem of open source libraries built by third party developers. Here's my take on getting library updates into production, at least when you have a small team of developers.
Managing risk and selling value
This is the transcript from my Wordcamp Milwaukee 2013 presentation on the complexity-risk-value formula. I edited and trimmed, got it down to 40 minutes or less, and made it a bit smoother. If you're interested in the C-R-V formula, this is the place to start.
Civic Hacking with IPython and Pandas
IPython Notebook is a browser-based Python shell that supports rich media like graphs. Pandas is an open source data analysis library. This presentation introduces how these tools used together can be used to explore a civic data set such as parking citations or water use to ask and answer interesting questions interactively.
Don't comment your code
Comments lie. Instead of writing comments, write specs and functions. This post talks about why and how to do this.
Migrating from MySQL to PostgreSQL using SQLAlchemy
This is basically a guest blog post. The content was created almost entirely by Paul Morel (owner of Tartan Solutions) and Mike Bayer (author of SQLAlchemy and other fine Python libraries.) I was invited to compile and edit the conversation.
Tech sexism and co-creation of the community
PyCon2013 has ended and I'm seriously depressed. It's not just the energy shift at the end of a good conference. It's also the way tech sexism has once again exploded.
The tyranny of the database
Databases model our world, and to do that they necessarily distort it. This lightning talk prepared for PyCon2013 explores the impact on us as individuals and society as a whole.
Managing risk and selling value
You're a skilled practitioner of web crafts. You can get Google agog. You can send customers clicking to conversions. You can refactor a repulsive code repository. But you don't know how much to charge. This presentation explores how the three prime factors for pricing your work - complexity, risk, and value - interact with each other and help make the right jobs lucrative for you and your client. This presentation is intended for freelance web craftspeople, bespoke design agencies, and boutique development firms.
Development environments with Vagrant, Chef, and Git
The Milwaukee PHP User's Group invited me to present about Vagrant, Chef, and Git for quickly standing up development environments. Here's my transcript and slides.
Another blog reset
Redesign isn't the right word. It seems when I want to freshen my blog, I get down to the nuts and bolts.
Last night I dreamt Bruce Banner hadn't aged
I won't make a habit of archiving my twitter stream here. Most of what I've said on Twitter is best ignored by the present, let alone posterity.
Ramada Plaza Milwaukee kicks my 70 year old mother out at midnight
Dear Ramada Worldwide, your Wisconsin Ramada Plaza Hotel on 13th at College Ave in Milwaukee just kicked my 70 year old mother out of her hotel room at midnight, because I complained about accessibility.
A Response to Tom Henrich's Document The Why
On his blog, Tom Henrich calls for better developer documentation on why a design decision was made, rather than just what decision was made. In this post I share my example.
MODX can beat up your content management system
Tonight's Milwaukee Web Design Meetup featured a CMS MegaPanel - eight pros in eight content management systems, head to head on development, features, ecosystems, costs. I represented for MODX.
A quick note on MongoDB replica sets
MongoDB is replying to a replica-set add command with "Need most members up to reconfigure, not ok". The problem is with my configuration.
My 18-monitor setup
Sitting right now at my desk at Top Floor Technologies, I've got 18 monitors available to me as I work. Excessive? Nah. 18 is almost enough.
Drupal, on GlusterFS, on Rackspace Cloud
I ran Drupal on GlusterFS for a few days. I didn't like it. Here's why.
Elavon Phishing Scam
A customer received 40,000 mailer-daemon messages yesterday. I bet that was fun.
Tryton as an e-commerce back-end - Web Framework
This is part three in a series exploring how Tryton might fare as the heavy-lifting portion of an e-commerce package. This third part explores what it means to do e-commerce.
DjangoCon, part four
Here's the recap of day three, the last day of the talks. Apparently I took good notes on day three, since this is by far the longest post, and the one it took me longest to produce. It was, indubitably, an excellent day.
DjangoCon, part three
Day two is done, and I'm trying to do better at this. I definitely have better notes than yesterday. I have slightly fewer of them too, since the South session was absolutely worthless to me, and I blew off Tilting at Windmills to go up to the room with a stomach ache and a customer who needed help.
DjangoCon, part two
Oh my, I'm not good at this. There are people around live-blogging (and live-noting) the conference, and I'm scraping the sleepiness off my face enough to see the screen, only to realize I don't actually remember yesterday very well. I may be exagerating a little, but I did not take adequate notes (sorry, PyDanny - I heard you on this, really I did.)
DjangoCon, part one
It's two days before DjangoCon, I'm on a plane to Portland, and I've mostly been spending my time reading the Django Book. That has me thinking about what I expect from the conference.
jQuery.multiup plugin for multiple files
I'm a progressive. By this I mean I like things to get progressively more complicated. Don't you? Of course, I don't mean that things should be more complicated than they are — in fact, I think they should be *at most* only as complicated as they are. But they don't have to start off that complicated; they can get complicated *progressively*.
Blog reset
My blog had been hosted on a legacy shared server account that I don't manage, running Wordpress. I was frankly embarrased to tweet links to it - often it wouldn't come up at all. Now that's all changed. Now my blog is on Django. (But only kinda.)
High Availability Linode Pairs
Something like a recipe for creating database and application servers that failover on each other. This recipe is for Lighttpd and MySQL, but it can be extended easily for other applications. Later, I'll do one for Tryton and PostgreSQL. I use Ubuntu 11.04 64-bit on two Linode virtual private servers.
A new OpenERP product and license
Last Friday (June 24, 2011) under an unassuming headline 'Improved OpenERP Website', OpenERP announced the new Enterprise edition of the OpenERP software. The response among community members was swift. Two topics attracted most of the conversation - the new OpenERP AGPL + Private Use license available only to Enterprise edition customers, and apparent policy changes regarding security alerts.
Tryton as an e-commerce back-end - Stalking the Tryton community
This is part two in a series exploring how Tryton might fair as the heavy-lifting portion of an e-commerce package. This part discusses some of my experiences with members of the Tryton community.
Freaky shadow
The webserver logs showed I was being followed on my path through a website by a computer at an IP address in Texas. It trailed two seconds behind me, on every page.
Tryton as an e-commerce back-end - About Tryton
This is part one in a series exploring how Tryton might fair as the heavy-lifting portion of an e-commerce package. This first part describes Tryton - architecture, features, community, license.
Instantiate Blog
The story of how and why I ended up blogging. Again.