Archives for jml :: Jonathan Lange

Notes on test coverage

Announcing quay-admin

Site updates

Eighty Percent

Category theory in everyday life

SPAKE2 in Haskell: How Haskell Helped

SPAKE2 in Haskell: What is SPAKE2?

SPAKE2 in Haskell: the journey begins

Announcing haskell-cli-template

Announcing graphql-api: Haskell library for GraphQL

Announcing grafanalib

servant-template: production-ready Haskell web services in 5 minutes

Patterns are half-formed code

Evolving toward property-based testing with Hypothesis

A wish for Haskell documentation

Debugging Python with gdb

Bazel! Correct, reproducible, fast builds

Docstrings for tests

Russian translation of “Your Code Sucks”

Isn’t it Pythonic?

Cutting edge debugging

conda and binstar: initial experiences

Migrated to Pelican

Deliberately being naughty

testtools moved to Github

Are single letter variable names evil?

Getting set up with Twisted development

What’s wrong with ORMs

A Modest Success

Undistract me (redux)

Rigor mortis?

testtools: history and future

Complexity and capability

juju debug-hooks

Tricks for exploring new languages?

Further reflections on my first Juju charm

Unfiltered reflections on my first Juju charm


Local Juju

Bad Snake Joke

testtools 0.9.14 released

testtools 0.9.13 released

Simple made easy

Undistract me

What are my projects?

pyflakes update

Automatic packaging update

How to feel better (or, some tips on refactoring)

testtools 0.9.12 out

doctest really isn’t very good

Progress on auto packaging

How dependency guessing works

Automagic packaging of binary apps for Ubuntu

launchpadlib helper

Command line apps

Ubuntu on my iMac

Leaving Launchpad, going to work on Ubuntu

testtools 0.9.11 released

testtools 0.9.10 released

testtools 0.9.9 released

mdz on listening to users

Music is too hard

Expressing agreement and disagreement numerically

Larval prototype for Launchpad dashboards

testtools 0.9.8 released

testtools bug update

testtools manuals

Tests that print stuff

Boiling kettles, unit tests and data

Big or small?

Don’t Make Me Think”, thoughts for Launchpad

What else have you got?

Reviewing specs, rock on!

Having an extra feature never hurts, rebutted

And then what?

Make it really easy to fix bugs on Ubuntu

Ubuntu in a VM on OS X?

Still going

What to do, what to do

Launchpad and UDS-N

The art is long, the life short

testtools compatibility

Off to UDS

testtools 0.9.7 released

Get Xchat-Gnome completing with colon

Maverick notes

What we do

Leaps and bounds


Why you should write your tests first

unittest API, part 4

unittest, part 3

unittest API, part 2

unittest API, part 1

Python 3


Documentation again

When do you start testing?

Releasing Twisted, and procedure in general

Better than a pie chart

Inbox Zero != No email backlog

testresources: some examples

Ubuntu metahelp required

Sometimes, I post elsewhere

GTG, Astrld, RTM, oh my

Android fun

I don’t want to talk about documentation

Another hacking maxim?

Wheels within wheels


Python Testing: A review

Shot, crop and share

The Dude Abides

Tests and documentation good but different

Launchpad: The Road Ahead

The plane has crashed into the mountain

All the dude wanted was his rug back

Launchpad improving GNOME’s Bugzilla

New sexy


Visualizing yak-shaving

launchpadlib gotchas

Have you tried lptools?

launchpadlib powerup

Get started with launchpadlib

Monitor & keyboard

Back from PyCon

Twisted 10.0.0pre1 released

From the Strategist

Black out

Electronic book reader?

Python testing goodies

testtools 0.9.2 released

Lean Lean

How to ask an open source project to do something

To do: To dos (Palm Prē)

Palm Prē reflections


Evil Overlord talks

Tests: Costs and Benefits

Raise your standards

Bug squashing sprints

Launchpad extensions

Launchpad status now on

Meta-meeting stuff

Talking Time

Colon full of cookie

Layers are terrible

Launchpad on Karmic!

Active reviews, again

Slow tests

Twisted & Monads

Launchpad now fully open sourced

unittest: it ain’t broke, let’s fix it

Documenting a Python project

testresources 0.2

New GPG key

Angle on code review

Twisted huh?


pyflakes now warns about unused local variables

Landscape on Code Review

From the Hands

Stealth feature

Truth (again)

Time-based releases and love

Team +junk branches

Trips me every time


Your Code Sucks and I Hate You

Firefox Smart Bookmark for Branches

Fourteen Monthses

Why you should have a public location for your branch

Betterer Cloud

Useful, unpolished Bazaar plugin

100% Pure Doing

One bird, two stones

Server reinstalled

Scheduled Unreliability

Neat trick

Things every project needs

Everything I ever learned about programming…

Better Cloud

Make your code testable

Bazaar commands

Having said that, let me say this…

Launchpad and Bazaar in South America

Emacs keybinding of (Dvorak) death

Explaining Version Control to Non-Programmers

Stacked branches and the new world

Anonymized IRC?

Everything You Always Wanted to Know About Twisted



Review Thoughts

Papers and Talks

Lange’s Law

Stacked branches in Launchpad

Super Happy?

More bzr hacking

Bazaar hacking

pyunit3k renamed to testtools

LCA 2008 Conference Report

testresources overhaul

Flow, Interruptions and Gold-Titanium Alloys

testresources: fresh blood

Cool Launchpad/Bazaar hack

I Love Data

Heartbeats and Sails

Tired Hippo


The Economist Index

Five Years

Let the Beat Drop

Living for the City

Registration disabled

That’s Not Me

Three-ways on Pidgin?

Within You Without You

It’s a Gibbon

Merging New trunk Features to a Development Branch (redux)

Around like Grover

Cracked Mac

Fake Plastic Tests

The most retentive thing I’ve done


User Experience — When Reality Attacks

What I do all day

WoW account temporarily suspended


Neat Bazaar feature

Somebody Do This Please

Another Bazaar story

OK I lied

Real Life

What I meant


Aren’t code reviews great?

GMail feature request

Really Satisfying