All articles, alphabetical order
- 1, 6, 21, 107, … ?
- A Mini-Project to Decode a Mini-Language
- A Python syntax highlighter
- A Subversion Pre-Commit Hook. How to install and test a simple Subversion pre-commit hook script.
- A tale of two upgrades
- A world without version control
- A yen for more symbols
- Accidental Emacs. A list of Emacs modes and tricks I use all the time but discovered by accident.
- ACCU Conference 2008
- An ideal working environment
- Animated pair streams. Another look at the functional programming problem of generating an infinite sequence of pairs. An example of using the Python Imaging Library to generate an animated GIF.
- Anti-Social Build Orders. An article advocating zero-tolerance for anti-social build offences.
- Are List Comprehensions the Wrong Way Round?
- Attack of the Alien Asterisks. Unusual font rendering on Windows
- Awesome presentations
- Big City Skyline Puzzle. Comments on a novel computer science puzzle. When machine resources are scarce, a compiled language offers precise control.
- BIG G little g - What begins with G?
- bin2hex.py
- Binary Literals
- Brackets Off! Thoughts on operator precedence.
- Browsing Python Documentation using the Python Sidebar
- Built in Type Safety?
- Casualties in the great computer shootout. An investigation into various dimensions of some speed benchmark programs.
- Charming Python
- Code completion for dynamic languages
- Code Craft
- Code in Comments. Don't comment out dead code, delete it!
- Collaborative documentation tools
- Complacency in the computer industry
- Computer Language Complexity
- Creating a Temporary Subversion Repository
- Curling for web sites. A script using curl and bash to detect when a website status changes.
- Different Angles on Legacy Code
- Distorted Software
- Drawing Chess Positions. A follow-up article on scripting graphics.
- Drawing Chessboards. An article about creating graphics programmatically.
- Drawing Software Designs
- Elegance and Efficiency. Must elegant code be efficient? This article investigates.
- Entertaining Documentation
- Erlang Erlang
- Essential Python Reading List. An essential Python reading list. I've ordered the items so you can pause or stop reading at any point: at every stage you'll have learned about as much possible about Python for the effort you've put in.
- Eurovision 2008 charts
- Ever wish you’d branched first? A short article describing how to branch a Subversion working copy based on the development trunk.
- Evolving Python in and for the real world
- Feeding an internet addiction
- File shifting using lftp and rsync. Sometimes it's easier to shift files using the command line, rather than a GUI.
- Fixed Wheels and Simple Designs
- Fixing Compiler Warnings the Hard Way. Listen when your compiler grumbles, but sometimes you should ignore its suggestions.
- Fixing header file dependencies. A simple script to check header files are self contained
- fold left, right
- Friday Puzzles
- From __future__ import braces
- From CVS to Subversion
- From Hash Key to Haskell. A note on keys, characters, smileys, digraphs and Haskell.
- Fun with Erlang, ACCU 2008
- Functional Programming “Aha!” Moments
- Generating solutions to the 8 Queens Puzzle
- Getting started with Typo
- Google Mail holiday auto-responder
- Google Reader
- Happy Mac
- He Sells Shell Scripts to Intersect Sets. The Unix command shell contains a lot of what I like in a programming environment: it’s dynamic, high-level, interpreted, flexible, succinct. This article shows the Unix tools in action.
- High altitude programming
- Hong Kong Supplementary Character Set
- How green you are
- How many restarts?
- How to Mirror a Subversion Repository
- Hunting down globals with nm
- iBlame Exchange
- Ignoring .svn directories
- Ima Lumberjack, (s)he’s OK. Gender-neutral technical writing using fictional names.
- In, on and out of boxes
- Internal Subversion Externals
- Introducing Java
- Joined Output and the Fencepost Problem. Items and the spaces between them: some notes on the fencepost problem and joining up strings.
- Keyword Substitution - Just say No!
- Koenig’s first rule of debugging. The problems caused by the C++ compilation model, dependencies and cryptic compile diagnostics. If an expert like Andrew Koenig can’t get it right, what hope for the rest of us?
- Launching missiles and other unhappy accidents. Launching a missile is an example of a dangerous programming side-effect. Bus accidents are used to motivate team-work.
- Lenient Browsers and Wobbly Tables
- Lexical Dispatch in Python. Dispatching to functions based on their names
- Life, user manuals, recursive pictures
- Lock but don’t but
- Look and Say Numbers
- Looping forever and ever
- Macros with halos
- map, filter, accumulate, lambda
- Martin Fowler on Soft Documentation
- Maybe we live in a scripting universe. Comments on Larry Wall's 11th State of the Onion address.
- Me, Myself and OpenID. Setting up a personal OpenID server using phpMyID
- Merging sorted streams in Python
- Message to Self. What’s this?
- Metablog
- Metaprogramming is Your Friend. An investigation into metaprogramming techniques used by lazy C, C++, Lisp and Python programmers.
- Mistargeted ads
- Mixing Python and C++
- My (Test) First Ruby Program
- My First Typo Sidebar
- Narrow Python
- No www, yes comments, no categories
- Nonce Sense. Cryptography
- Not my links
- Oberon, Cromarty, Lisa, Waggledance, Ariel
- Octal Literals
- One svnserve, multiple repositories
- Ongoing Peer Review
- Overload Online
- Paging through the Manual using Access Keys
- Paralipsis
- Parsing C++
- Pcl-cvs and Psvn Incompatibilities
- Perlish Wisdom
- Permission and Forgiveness
- Personal overnight builds
- Personal version control
- Pitching Python in three syllables
- Polyominoes
- Posting from the command line using mtsend
- Pragmatic fashion
- Printed C++ Journals
- Programming Nirvana, Plan B
- Py2exe
- PyCon UK
- PyCon UK: statistics, pictures and perennial problems
- Python 2.5
- Python keyword workaround
- Readable Code
- Release then Test
- Removing duplicates using itertools.groupby. An interpreted Python session showing itertools in action.
- Retro-fitting coding standards
- Reversing Hofstadter’s Law
- Review of Pete Becker’s TR1 Book
- Rewriting String.Left()
- Robot wars
- RTM vs STW
- Running Sums in Python. A Python program to generate the running sum of a series.
- Saving changes to read-only files
- Scatter pictures with Google Charts
- Seeing with a fresh pair of ears
- Shameful Names
- Shells, Logs and Pipes
- Smart Pointers, Dumb Programmers. A note describing how a smart pointer tripped me up.
- So many feeds, so little news. So many feeds, so little news. A reflection on internet consumption.
- Soft Documentation. A software developer's investigation into documentation tools.
- Sounds of the Tokyo Metro
- Source open, problem closed. An example of the open source advantage.
- Space sensitive programming
- Spam, Typo, Subversion Logs
- Stop the clock, squash the bug. Which is better, a clock which loses a minute a day or one which is stopped? An investigation into how we find and fix software defects.
- String literals and regular expressions. An article about string literals, escape sequences, regular expressions, and the problems encountered when mixing these together.
- Subversion 1.4
- Sugar Pie. Approximating pi by scattering sugar.
- svn help patch
- Synchronising Workspaces
- Syntactic Sugar
- tag.wordaligned.org
- Takewhile drops one
- Test driven development in Python
- The case against TODO. A neat label for work in progress or an easy way to disguise the flaws in a codebase?
- The Etch-A-Sketch User Interface
- The Granny—Stroustrup Scale
- The Heroic Programmer
- The Lazy Builder’s Complexity Lesson. A discussion of algorithmic complexity, and a demonstration of how the C++ standard library allows programmers to write code which is both concise and efficient.
- The Maximum Subsequence Problem. A stream-based solution to a classic computer science problem.
- The Price of Coffee. Offering something for nothing and getting paid nothing for it. Leap day ramblings.
- The Third Rule of Program Optimisation
- The Trouble with Version Numbers
- There’s no escape??!
- Too big or too clever? Steve Yegge says that, for large applications, size is an enemy best controlled by dynamic languages. Alex Martelli says a language can be too dynamic for a large application. Who's right?
- Top Ten Percent. The most efficient way to sort the top 10% of a collection.
- Top Ten Tags. Choosing the right algorithm to select the N largest items from a collection.
- Trac — not just a pretty interface
- Tracing function calls using Python decorators. Developing code to trace function calls using Python decorators.
- Turing Tests and Train Trackers
- Version Control for Third Party Software
- What apple gets right
- When computer applications reside on the web
- When web search results get read out of context
- White black knight then black white knight. Yet more on drawing chessboards
- Why Python programmers should learn Python
- Why Software Development isn’t Like Construction. What’s the best metaphor for software development? Steve McConnell prefers “construction”. I disagree.
- Wiki Markup. Wikis often invent their own markup syntax. A note on why I favour Markdown.
- Zippy triples served with Python. How do you generate previous, this next, triples from a collection. A stream-based solution in Python.