Posts concerning python

CrossFit and Coding (and Meat)

10:28 31 Dec 2009

In 2009 I achieved some significant things that weren’t on my list of goals, although they’re not concrete achievements in the same sense.

Permalink     1 Comment     [, , , , , , , ]    

Some Python Tips and Tricks

05:08 21 Dec 2009

Python Tips, Tricks, and Hacks at Siafoo is an excellent overview of useful Python knowledge. I was familiar with most of it but still think it’s worth reading over. I did learn a couple of new things, too.

Permalink     Comment     [, ]    

GPS, URLs, Math, Python, Featuritis

23:53 08 Dec 2009. Updated: 01:43 09 Dec 2009

Earlier this evening Gever suggested a service dedicated to shortening URLs that had geolocation data in them. My immediate responses were that a) this was a great idea, and b) that I wanted the shortened URLs to still be human-readable in some sense—specifically, I wanted a person to be able to look at two URLs returned by this service and have some idea of how close to each other they were.

Permalink     1 Comment     [, , , ]    

addons.mozilla.org Moving from CakePHP to Django

20:43 17 Nov 2009

This post details why they’re making the move. I find this of interest partly because it’s a move from a very popular web language (PHP) to one that’s become vastly more popular in the last couple of years (Python), and also because Django is the one major Python framework I haven’t tried out yet. Because of my liking for Python, I have a personal bias that makes me happy to see a prominent project such as this one move to the language.

I find it odd that they’re going from Subversion to git instead of to Mercurial, but I like the fact that they’re moving their documentation to the reStructuredText-based Sphinx.

Permalink     3 Comments     [, , ]    

Test-Driven Development: A Bad Example

23:59 05 Oct 2009

Test-Driven Development (TDD) is a programming methodology that calls for programmers to first write tests that will only be passed by code that meets the specifications for whatever component they’re working on, and then to write the code for the component and keep working on it until it passes the tests.

I don’t tend to use Test-Driven Development, even though I often think I should. When working on personal projects, I don’t even write many tests after the code is done, and that’s something I should definitely do. But I generally regard it as a good practice.

Permalink     Comment     [, , ]    

Python Extended List Slicing

23:18 01 Oct 2009. Updated: 08:20 02 Oct 2009

I never knew about this optional third parameter to list slices—in addition to e.g. getting the third to fifth items in a list with somelist[2:5], you can also get every nth item with somelist[::n].

This makes it very easy to get every odd or even item in a list, odd with somelist[::2] and even with somelist[1::2].

Where I think this is particularly handy is if you have to grab e.g. three-line chunks out of some text:

chunks = []
lines = text.split("\n")
for i in range(0, len(lines))[::3]:
    chunk = []

The docs on extended slices are here.

Permalink     1 Comment     [, ]    

RTF/Word–reStructuredText Toolchain

12:05 24 Sep 2009. Updated: 14:19 06 Oct 2009

It took me a while to get there, but I now have a working toolchain to automate going from an RTF file (or a Word document) to reStructuredText. The final link took the longest to find, and turned out to have been right there all along (no, I’m not going to turn this into a retelling of The Alchemist). But if you’re interested in how to get from Word to a sane format (like reStructuredText), this post will interest you.

Permalink     1 Comment     [, , , , , , ]    

404 Pages

23:36 10 Sep 2009. Updated: 00:38 11 Sep 2009

wpbeginner has a list of their favorite WordPress 404 pages. There are some good ones in there, but none of them do what I think they should do—that is, as well as provide helpful links to popular pages, also provide a list of guesses about where the user was actually trying to go. Coincidentally, today I also read this excellent article about finding the longest common subsequence between two strings. So, at some point, I’ll improve my blog’s 404 page so that it calls, probably via asynchronous request, a Python script that checks the user’s requested URL against all valid URLs WordPress knows about, and then suggests to the user whatever the closest matches are. I’m somewhat surprised that this isn’t done more often, but it seems that far too many sites are really blasé about 404s.

Permalink     Comment     [, , , ]    

Python Script for Subversion Status

23:48 02 Aug 2009. Updated: 11:33 06 Apr 2010

I find in my use of Subversion that I often want to see a side-by-side list of files that aren’t under version control and files that have some other status. I also want these lists to be sorted alphabetically. Naturally, I ended up writing a Python script for this.

Permalink     Comment     [, , , , ]    

Better reST–WordPress Pipeline

23:15 28 Jul 2009

Last week I posted about my setup for going from reStructuredText to WordPress. It involved a shell script, some Python scripts, and the pbpaste and pbcopy commands. It worked, but it was a little on the convoluted side.

Now I have a slightly better process, and one that I will have used to publish this post.

Permalink     Comment     [, , , , , , , ]    

Better Word Count in jEdit

22:33 19 Jul 2009

I tend to care about word count in my writing. I’ve never been paid by the word, but nevertheless, it matters to me. From time to time I write fiction where I set the word count in advance, and then I try to hit it precisely. Even when that’s not the case, I just like to know how many words there are in a piece I’m writing. For this reason, a "word count" function is completely critical to me for whatever word processor or text editor I’m using to write.

jEdit has such a feature. It’s more or less the same as the one that I’ve been using in AbiWord, and in various word processors before that. But for quite some time I’ve wanted a better word counter. Since jEdit is now my application for all writing and I can script for it in Python, it was time to make the word counter I wanted.

Permalink     Comment     [, , , , , ]    

jEdit Macros in Python

16:57 17 Jul 2009. Updated: 17:52 18 Jul 2009

jEdit has long been my text editor of choice, and I’m using it more than ever now that I’m writing more or less everything in it. I’ve been waiting a while for 4.3 to come out, but overall I remain quite happy with it. I do occasionally wonder about switching to vim or Emacs, but jEdit’s generally been able to do whatever I wanted it to.

I haven’t done much scripting with it, though. I recently came up with some use cases for scripts—involving reStructuredText, naturally—but I was a little reluctant to do the scripting because it involves Java and I really want to keep my current focus on Python and JavaScript.

I was therefore rather happy to discover the existence of the JythonInterpreter plugin, which makes it possible to write macros for jEdit in Python.

Permalink     2 Comments     [, , , , ]    

Some Character Encoding Gotchas

10:31 16 Jul 2009

While scripting my reStructuredText to WordPress workflow, I ran into a bunch of character encoding problems.

Permalink     Comment     [, , , ]    

Blog Workflow with reStructuredText

22:57 14 Jul 2009. Updated: 23:13 28 Jul 2009

I wrote about moving my writing over to reStructuredText on Sunday, and since then I’ve moved both my morning pages and my blog writing to it. The latter proved more complicated, primarily because I wanted to make the process almost as easy as writing pseudo-HTML (which is more or less WordPress’ native format, and kind of mine, too, for the last several years). With some hacky wrangling, I’ve managed to set that up.

Permalink     4 Comments     [, , , , , , , ]    

Python Script to Change OS X Desktop Backgrounds

22:42 29 Jun 2009

OS X has built-in functionality to rotate between different desktop backgrounds, but if you have multiple monitors and want backgrounds that fit together (i.e. that have two halves, one on each monitor), you need to set that manually. I wanted a script to do this for me, selecting a pair of backgrounds for each day. I wrote one in AppleScript, but was so unimpressed by it that I decided I’d do it over in Python.

Permalink     Comment     [, , ]    

Python Syntax Highlighting for star-light

23:37 26 Jun 2009

A couple of years ago I plugged star-light, a syntax highlighter that’s entirely client-side. I’ve been happy with it, but wanted a Python mode for it. I was going to post some other code this evening, and then decided that I should just make the Python mode myself.

This led to fun with regular expressions.

Permalink     Comment     [, , , , ]    

PyWebSF Site Update

15:46 23 Jun 2009

I did some work on the PyWebSF site, so that it looks rather better than it did with the default WordPress theme. I altered a pretty good WordPress theme called Arras Theme, which I was fairly impressed with. As a reminder, the first meeting is tonight.

Permalink     Comment     [, , , ]    

Pylons Via Apache Port Issues

16:42 12 Jun 2009

I’ve been using Pylons (and, more recently, the Pylons-based TurboGears 2.0) for various projects for a while, and a few weeks ago ran into an annoying and specific problem: using Pylons via Apache made Pylons occasionally think it was running on a different port.

There’s a relatively easy answer to this, but until I was reading through TurboGears documentation, I didn’t find it.

Permalink     2 Comments     [, , , , , ]    

PyWebSF: Meetup for SF-Area Python Web Developers

22:07 09 Jun 2009. Updated: 19:42 11 Jun 2009

My brother is organizing what will hopefully become a regular web-centric Python meeting. The first meeting is planned for 18:00 Tue 23 Jun 2009 at the SF Public Library. I think a couple of speakers are lined up already, although I don’t have details on the talks. I’ll be there, and if you’re a Python developer with web interests, or a web developer into or curious about Python, you should attend too!

Permalink     Comment     [, , , , ]    

Some Minor Software Projects

14:37 27 Jan 2008. Updated: 23:14 28 Jul 2009

I already have a buch of plans for larger projects, including finishing the sfmagic.org rewrite, but I think it makes sense to have some smaller projects to work on as well, things that I can switch to and make significant progress on in a relatively short amount of time.

Permalink     1 Comment     [, , , , , ]    

sfmagic.org Rewrite: Planning Data Entry

23:52 15 Jan 2008. Updated: 01:33 16 Jan 2008

Sadly, I’m not quite going to finish a drop-in replacement for the current sfmagic.org codebase by my deadline of tomorrow. I’m close, and I think I have everything except the data entry portion, which I’ll lay out in this post.

Permalink     1 Comment     [, , , ]    

sfmagic.org Rewrite: Head-to-Head Done

23:57 14 Jan 2008

Unless I’m forgetting about something important, head-to-head is done.

Permalink     Comment     [, , ]    

sfmagic.org Rewrite: Head-to-Head Some Working SQLAlchemy

23:56 13 Jan 2008. Updated: 01:52 14 Jan 2008

I haven’t had much time to work on the project over the weekend, but I have made some progress in getting the queries into SQLAlchemy form.

Permalink     Comment     [, , , ]