Feed on
Posts
Comments

Archive for the 'Python' Category

Pretty much all the ‘work’ applications I’ve built in the last couple of years can be split into 2 parts:
1) CRUD: The database, and a UI for manipulating the data in it
2) LOGIC: The actual application functionality. (i.e. the reason for the app to exist)
These days I’m finding that the amount of actual logic/functionality I […]

Read Full Post »

I started programming seriously when I was at school. I became seduced by the idea of writing games and ended up learning 6502 and then ARM assembler. I sort of skipped the typically-british BBC BASIC introduction because I was impatient and had read in my Dad’s computer magazines that real games didn’t get written in […]

Read Full Post »

Ok - for me it boils down to: hg’s speed vs bzr’s renames
Mercurial is much much quicker. That’s not an imperical measurement using a large source tree - it’s an anecdotal observation on a tiny one.
For example, just typing ‘hg’ returns in 80ms, ‘bzr’ takes more than half a second: That’s just to dump the […]

Read Full Post »

BicycleRepairMan operates by searching and modifying python files on the filesystem, and thus has always required that you save your work before you do a query or a refactoring. I’ve never felt this to be a big deal before, but more recently I’ve been using its functionality more aggressively within emacs and I’ve started to […]

Read Full Post »

Ruby and Python

I’ve been playing with Ruby a bit recently. The big question: is the language better than python ? For me it comes down to a punchup between 2 killer features: Ruby’s blocks vs Python’s whitespace-indent magic.
Ruby’s smalltalk style blocks are great - they neatly support looping, closures and resource management idioms in one simple powerful […]

Read Full Post »

I’ve been using bazaarNG (bzr) for bicyclerepairman version control recently, but I’ve also got a close eye on Mercurial(hg) and Git.
Git is Linus’ implementation of a distributed SCM tool (sort of) for use with managing the decentralized development of the linux kernel, Mercurial is a project started at much the same time as Linux steered […]

Read Full Post »

I didn’t have a weblog when I originally wrote the bulk of the bicyclerepairman querying and refactoring functionality, which I think is a shame because it meant that the design decisions never really got documented.
In an attempt to rectify this I’m (hopefully) going to sling these up onto my weblog now in the hope that […]

Read Full Post »

As I mentioned in a previous post, I’ve switched Bicyclerepairman source control from CVS to BazaarNG as an experiment. This has been working out really well for me and so I’ve made a public branch of my tree available here. You can also grab a nightly tarball from that location too.

Read Full Post »

Have been experimenting with BazaarNG, a decentralized version control system. I find decentralized source control intriguing mainly I’ve been using CVS for so long that it’s odd not to have a central coordinating server. Anyway, I’ve converted the bicyclerepairman CVS tree into a Bazaar branch using Tailor, so you could say I’m sort of […]

Read Full Post »

My recent work on protest has rekindled latent interest in bicyclerepairman - my (aging) python refactoring toolkit project. BRM has a number of useful facilities for parsing and querying python source trees, and I think this functionality is just the sort of thing Protest needs for inter-package dependency tracking.
The problem is that these facilities are […]

Read Full Post »

I’ve been working a bit with Nat Pryce on his ‘Protest’ project recently. It’s a python unit test framework which generates documentation from the tests. E.g. you write test cases like:

class myFunctionTests:
”’ myfunction is a function belonging to me ”’

def does_something_cool():
[…]

Read Full Post »

I’ve been experimenting with adding openid authentication to django. I couldn’t find another software package to do this (although I did see this, which implies there is some other code out there)
Anyway - here’s mine so far.
The main problem I’ve hit is that the username column in the django authentication db schema (v0.90) […]

Read Full Post »

I’ve been porting my jamvat software to the django platform. Django looks cool and I hope it will get me some

Get jamvat running on the windows platform
Provide some UI, connection pooling, security and debugging goodies
Remove some setup documentation burden (since it’s a ‘django app’)

Anyway, I was immediately hit by the problem that the django […]

Read Full Post »

Made some software to explore the tag-triples idea a bit further. It doesnt attempt to do anything with context yet (although it does handle ‘graphs’). It does illustrate the ‘ease of metadata creation’ that I want.
I’ve installed a copy here for demo purposes (this is a temporary URL and may disappear at some point). […]

Read Full Post »

jythonservlet with tweaks

Fixed a bug in my tweaked jython servlet.
From the comments:

*
* This is a copy of the PyServlet that comes with jython, with the
* following enhancements (written by Phil Dawes - pdawes@users.sf.net):
*
* - It will try appending .py to the URL - e.g. /foo/bah resolves to
* the jythonservlet at /foo/bah.py
[…]

Read Full Post »

Hit some bad performance hotspots at work yesterday with the new suffix stuff.
The main problem occurs when you do text searches with multiple words, some of which are very popular. The query optimiser frequently makes a bad decision, which boils down to not being able to compute the permutations of the popular word, […]

Read Full Post »

I’ve made a new release of the Veudas RDF Knowledge manager. This release incorporates the latest veudastore package, along with some UI tweaks and documentation.
Get it from the Sourceforge project page

Read Full Post »

Text searches were becoming a big bottleneck in the knowledge base deployment at work. The grep solution allows speedup of pure text searches (such as a label search), but doesn’t work so well when the text search is part of a bigger query.
Ideally I would have used mysql’s fulltext indexing capability to index the […]

Read Full Post »

Made another release of my veudastore triplestore: Fixed a couple of bugs, and added an optimisation - see changelog for details.
Download it (0.2) from the usual place

Read Full Post »

I keep meaning to perfect these packages, but it doesnt happen so here’s another ‘release-early’ package.
Veudastore is a standalone version of the mysql RDF backend store that runs the veudas knowledge manager. It can be downloaded from the veudas sf project page.
From the readme:

INSTALL:
——–
- Install mysql and create an empty database
USAGE:
——
import veudastore
ctx = veudastore.init()
ctx.setDatabaseConnectParams(USER,PASSWD,DB,HOST)
ctx.createTables()
ctx.importFromURISource(sourceuri, graphuri)
q […]

Read Full Post »

Next »