Many programmers (or coders, or software engineers, or computer wizards, or whatever term you would like to use; the arguments had over this could and probably will fill a whole blog post on their own) find themselves involved to a greater or lesser extent in the development of libraries and programming utilities for the use […]
The Absolutely Simplest Consistent Hashing Example
Lately I’ve been studying Redis a lot. When using key/value databases like Redis, as well as caches like Memcached, if you want to scale keys across multiple nodes, you need a consistent hashing algorithm. Consistent hashing is what we use when we want to distribute a set of keys along a span of key/value servers […]
pythonpackages.com beta launch
After 9 months of development, pythonpackages.com has grand-ceremoniously flipped the switch from alpha to beta. Here is an overview of the beta release features. Killer GitHub integration The workflow you may now enjoy is: Login with your GitHub account Select a repository that contains a Python package One-click release More sweet workflow: Click a button […]
Connecting to a Microsoft SQL Server database from Python under Ubuntu
Free tools are great, but the world ain’t all sunshine and rainbows. Sometimes, we may need to connect to a Microsoft SQL Server database from one of our Python applications running under Linux. Fortunately, there are ways to achieve this. I am assuming we got this: A Microsoft SQL Server installation running under Windows. I […]
A Django Administration interface for non staff users
A while back I had a Django application in which I needed registered users able to view, create, update and delete objects in my system. These objects were instances of only a subset of all the Django models.Model subclasses I had defined in the models.py file of my application. You may find this problem very […]
Server Side Templates and API Centric Development
We’re here to talk about the rise of the API-focused application, and how it interacts with templates for rendering HTML for web browsers. The simple point I hope to make is: you don’t necessarily need to use all client side templates in order to write an effective API-centric web application. I’ll do this by illustrating […]
Goodbye WordPress, hi rstblog!
Since having switched from the PHP world to the Python world about 2 years ago, I thought about relaunching my Blog using Python instead of PHP. At first, I thought about creating an application with Django and PostgreSQL, but never really had the time and motivation to finally implement it. But today I stumbled over […]
Things That Are Way Too Hard
When I went to university, I found myself studying Physics at the University of St Andrews in Scotland. This worked out very well for me: I can wholeheartedly and unreservedly recommend St Andrews as a place to study. The School of Physics is chock-full of great teachers and researchers, and my understanding is that the […]
The Ethics of Open Source
In my last post, I briefly mentioned that there is an ethical discussion in the software community about the relationship between ethics and free software. The crux of this ethical discussion is the relationship between software and civil liberties. Much of this discussion centres around the use of the word ‘free’; or, alternatively, the phrase […]
The GPL vs. The MIT License: Which License To Use
A great many developers, myself included, believe that it is important to spend at least some time contributing to open-source software projects. These projects will hopefully be licensed (if you haven’t got a license on your open-source project, you’re doing it wrong), to ensure that your contributions are used in the way you (or the […]
The Success Of Git: Why Subversion Needs To Die
I’ve not been programming for all that long, but in that time I’ve used two different version control systems. In my internship I used Subversion (SVN), and in my personal life and open-source stuff I’ve used Git. I find the relationship between the various major VCSes to be quite interesting, and wanted to devote a […]
A Simple Printer of Nested Lists
A rant Do you ever get the urge to kill? How many of us cringe whenever we see these words? Lately I’ve been spending a lot of time developing pythonpackages.com, (now running on heroku!) during which time I see a lot of these kinds of packages being released. I kid about the killing part, but […]
Politeness and Open-Source Software
Over the last couple of weeks, there has been what can really only be called a ‘brouhaha’ brewing over the role of politeness in open-source software. This argument was largely brought to the fore by a comment made by Linus Torvalds in response to a GitHub pull request. You can see the comment Linus made […]
Building a Minimalist Blog in Python (or, How I Learned to Stop Worrying and Love Web Development).
As of today, I have taken my final examination as an undergraduate student of Physics. With my graduate software engineering job beginning in September, I am one graduation ceremony away from being a Software Engineer instead of a Physics Student. Despite the fact that the world needs another programming/tech blog like a hole in the […]
Using Beaker for Caching? Why You’ll Want to Switch to dogpile.cache
Continuing on where I left off regarding Beaker in October (see Thoughts on Beaker), my new replacement for Beaker caching, dogpile.cache, has had a bunch of early releases. While I’m still considering it “alpha” until I know a few people have taken it around the block, it should be pretty much set for early testing […]