23:57 16 Jul 2010.
Updated: 01:20 17 Jul 2010
The official announcements are out, and my former employer Metaweb no longer exists. I’m happy that the ideas, and most of the people, have found a home, but it feels strange that the company is no longer a distinct entity. In many ways it makes a lot of sense for Google to end up owning them, and I hope the former-Metaweb-now-Google employees prosper.
[more...]
23:23 15 Jul 2010
One of the great things about unit testing is that you can get into a game-like mode where you make incremental but measurable progress—“flow”, basically—but what if it’s just not similar enough to a game for you?
Install Unit Testing Achievements, a Python package that works with nose, unittest, and Django. Somewhat crazy, definitely hilarious. Some of the achievements themselves are excellent, such as My God, It’s Full of Dots: The suite has at least 2,001 passing tests.
Sadly not yet working is another one I like, Heisenbug: Make a passing suite fail without changing anything.
21:35 12 Jul 2010
As a geek of my generation, I cannot help but find an eight-bit map of San Francisco (there are maps of other cities too) a wonderful thing. It became even cooler when I found out it was programmed in Python.
18:52 23 May 2010
I got an iPad for work on Friday, and have been playing around with it. I would not have bought one for myself, and have grave misgivings about the device, primarily due to its highly proprietary, locked-down, walled-garden approach.
That being said, I think it’s an extremely slick, well-designed device, and may represent the first steps towards a new phase in accessing computer and/or internet artifacts.
[more...]
23:36 16 May 2010
After a highly enjoyable, productive, and extended period, it’s time for me to return to the world of paid work.
I’m quite happy with the things I’ve done during my time off. Many of them are important only to me, but then, it’s been my time off.
[more...]
Permalink 3 Comments [
coding,
CrossFit,
diet,
document formats,
exercise,
food,
games,
goals,
personal,
python,
reStructuredText,
roleplaying,
software,
sports,
T,
tech,
tennis,
text editing,
version-control,
Vim,
WordPress,
writing]
13:33 29 Apr 2010
This post could be summarized as “regular expressions are a lot faster than naive for loops”.
I’ve been working on improving the script I use for live wordcount in Vim, partly for performance and partly so that I can package it up as a plugin and share it with other people. Along the way I’ve improved the speed of the script rather significantly, and will go through the key part of that change here.
[more...]
23:31 09 Apr 2010.
Updated: 01:39 10 Apr 2010
I’m going to compare seven different ways in Python to make one list out of several lists containing different numbers of elements, something that strikes me as a common but not necessarily everyday operation.
The philosophy of Python is that generally there should be one obvious and reasonable way to do things. I really like this philosophy—except when the Python way isn’t the way I prefer, of course.
[more...]
11:46 06 Apr 2010
I’ve been writing Python fairly steadily for the past couple of years, and a significant amount of that has been for my own projects; Python is what I tend to use to scratch workflow-related itches. That’s great, but many of these projects reach a point short of “finished” when I stop working on them.
[more...]
12:16 05 Apr 2010
Refactoring is rewriting source code while preserving the functionality of that code. I’m currently refactoring my Python script for Subversion status, because I want to experiment with sharing code on bitbucket and it seemed like a reasonable first project to put up there.
Some people hate refactoring, but I often enjoy it. I get a kick out of figuring out how to make code “better”, although that’s often a subjective judgment. In this case, when I opened up the script to have a look at it, I immediately saw a function that I knew I wanted to refactor. I’m amused by the enjoyment I derived from making the fairly simple change.
[more...]
14:43 02 Apr 2010
I use a notification system for OS X called Growl, which provides a single channel for various applications to use when they have something to tell me. I mainly use it for IM and email. I’m fairly happy with it, but one issue that irked me was dealing with clearing a bunch of the notifications off the screen.
[more...]
11:12 30 Mar 2010
Yes, clearly my progress (or lack thereof) needs quarterly reports. And here’s the first one for this year.
[more...]
Permalink 1 Comment [
coding,
community,
CrossFit,
exercise,
games,
goals,
MTG,
personal,
roleplaying,
web-development,
writing]
15:52 23 Mar 2010.
Updated: 17:58 23 Mar 2010
It’s too long, it’s full of self-promotion, and really it’s an ad for a video he’s selling, but it’s entertaining and contains some good advice: “Programmers: What to do if You Get Fired”.
This might be the best line:
If you’re looking for a better job, writing an amazing resume is a good place to start. I don’t mean just a better resume; I mean a resume that makes people stop asking if they should hire you and start asking if they can afford you.
Annoyingly, I find myself tempted to buy that video after reading his post…
So far, his 2008 presentation at RubyFringe seems pretty entertaining too. Maybe you should watch it after you’ve updated your résumé.
Update: at the end of that presentation, he says “build something because you believe it should exist”, which I agree with 100%.
23:55 25 Feb 2010.
Updated: 01:41 26 Feb 2010
15:56 23 Feb 2010
Last night a friend asked me what functional programming was, and as part of my answer I decided to rewrite a trivial program in the functional style to see what it was like. I did this in Python without using the functional module.
[more...]
23:50 16 Feb 2010.
Updated: 00:57 17 Feb 2010
As a result of my porting over jEdit (Jython) macros to Vim, I now have a fair amount of (Python) Vim scripts, and have learned some things about how to set up those scripts. I’ll go through some of that below, and hopefully other people writing Python scripts for Vim will find it useful.
[more...]
20:05 14 Feb 2010
Over the last couple of weeks I’ve been hacking away on scripts to customize Vim, replicating the scripts I made for jEdit. I’m more or less done, and this blog post is being written in MacVim. This hopefully means that when I’m done with it I’ll be able to publish it from within Vim, the same as with jEdit.
[more...]
15:18 04 Feb 2010
The Python Challenge seems like a good way to have fun with Python through puzzle-solving. As with all riddles, it’s important to read the questions carefully…
23:36 21 Jan 2010
I’ve been a big fan of jQuery more or less since it came out, and I’m happy to see the launch of The jQuery Project. I’ve used jQueryUI a couple of times and find it fairly useful; I haven’t tried Sizzle yet but it looks great for situations where you’re really concerned about keeping file sizes low but need decent CSS selector support; and I wish QUnit had been around when I was writing a lot of client-side code.
23:40 17 Jan 2010
I’m currently trying out Vim (again), and have made more progress this time, mainly due to Seth’s help. The key things that have made it better:
- :set hidden. Absolutely critical, this. Stops Vim from complaining when you try to switch buffers and your current buffer has unsaved changes.
- bufexplorer. Makes switching buffers a lot easier.
- A better Python syntax file. I didn’t like the defaults.
- My own indentation and syntax files for reStructuredText.
Really, though, the key first one was :set hidden. Before that I felt that I had completely misunderstood Vim’s file management model.
[more...]
15:56 10 Jan 2010
I upgraded this blog to WordPress 2.9 today, and it appeared to go entirely smoothly. Please let me know if you notice any breakage.