December 29, 2007
Utilities for implementing Modified Preorder Tree Traversal (MPTT) with your Django Model classes and working with trees of Model instances.
Posted by Tim at
12:49 PM
|
TrackBack
December 28, 2007
After some brainstorming, and a few late-night chats Jake created a Disk+S3 backend which gives us all the benefits of the Disk-only model, and the hassle free approach of the S3 engine. In this implementation, the data is persisted on local disk, which gives us an incredible throughput capacity, and a slave thread quietly replays all of the commands to the S3 backend as well, thus giving us a hassle free persistence and recovery model for virtual environments such as EC2! Let's take a look at the request cycles:
Posted by Tim at
09:14 PM
|
TrackBack
December 25, 2007
URL Templating enables you to dynamically rewrite URLs in your HTML content, using an easy-to-understand templating langauge.
Posted by Tim at
01:50 PM
|
TrackBack
The generic way of doing cross tabs (sometimes called PIVOT queries) in an ANSI-SQL database such as PostgreSQL is to use CASE statements which we have documented in the article What is a crosstab query and how do you create one using a relational database?
In this particular issue, we will introduce creating crosstab queries using PostgreSQL tablefunc contrib.
Posted by Tim at
01:09 PM
|
TrackBack
December 23, 2007
Enter your zipcode to see demographic data
Posted by Tim at
09:17 PM
|
TrackBack
You save more fuel switching from a 15 to 18 mpg car than switching from a 50 to 100 mpg car.
Posted by Tim at
09:07 PM
|
TrackBack
December 22, 2007
This is an anecdote describing the process of creating a patch I came up with for the python-dateutil module which resulted in significant performance gains. It’s a good demonstration of the heapq module included with Python.
Posted by Tim at
09:04 AM
|
TrackBack
December 15, 2007
One simple question. That's all it took for Christophe Bisciglia to bewilder confident job applicants at Google (GOOG). Bisciglia, an angular 27-year-old senior software engineer with long wavy hair, wanted to see if these undergrads were ready to think like Googlers. "Tell me," he'd say, "what would you do if you had 1,000 times more data?"
Bisciglia adores MapReduce, the software at the heart of Google computing. While the company's famous search algorithms provide the intelligence for each search, MapReduce delivers the speed and industrial heft. It divides each task into hundreds, or even thousands, of tasks, and distributes them to legions of computers. In a fraction of a second, as each one comes back with its nugget of information, MapReduce quickly assembles the responses into an answer. Other programs do the same job. But MapReduce is faster and appears able to handle near limitless work. When the subject comes up, Bisciglia rhapsodizes. "I remember graduating, coming to Google, learning about MapReduce, and really just changing the way I thought about computer science and everything," he says.
Posted by Tim at
07:45 PM
|
TrackBack
This article mini-series by Matt Butcher will look at the Python application programmers interface (API) for the LDAP libraries, and using this API, we will connect to our OpenLDAP server and manipulate the directory information tree.
Related
Posted by Tim at
10:34 AM
|
TrackBack
December 12, 2007
A complete Python wrapper for the Google Chart API.
Posted by Tim at
12:05 AM
|
TrackBack
Look at most sorted list of filenames, product names, or any other text that contains alphanumeric characters - both letters and numbers. Traditional sorting algorithms use ASCII comparisons to sort these items, which means the end-user sees an unfortunately ordered list that does not consider the numeric values within the strings.
For example, in a sorted list of files, "z100.html" is sorted before "z2.html". But obviously, 2 comes before 100!
Python source code included
z1.doc
z10.doc
z100.doc
z101.doc
z102.doc
Posted by Tim at
12:03 AM
|
TrackBack
December 09, 2007
DTrace has been getting a lot more press recently, since Apple has ported it to Leopard, it’s also been getting a lot of mentions in the Ruby community since Apple has included the DTrace providers for it. Yet, surprisingly few seem to actually use DTrace much (yours truly included really). So here’s a short intro to DTrace and D..
Posted by Tim at
08:42 PM
|
TrackBack
The CSS Text Wrapper allows you to easily make HTML text wrap in shapes other than just a rectangle. You can make text wrap around curves, zig-zags, or whatever you want. All you have to do is draw the left and right edges below and then copy the generated code to your website. Get to it!
Posted by Tim at
08:34 PM
|
TrackBack
December 08, 2007
Adonomics is your source for Facebook analytics. By providing a stock-market-style analysis of the Facebook platform we enable developers and investors to track application growth, activity, and valuation.
Posted by Tim at
06:34 PM
|
TrackBack
December 06, 2007
Perl is a postmodern language, and a lot of conservative folks feel like Postmodernism is a rather liberal notion. So it's rather ironic that my views on Postmodernism were primarily informed by studying linguistics and translation as taught by missionaries, specifically, the Wycliffe Bible Translators. One of the things they hammered home is that there's really no such thing as a primitive human language.
Posted by Tim at
07:24 PM
|
TrackBack
December 05, 2007
At the White House news conference yesterday, The Chicago Tribune’s Mark Silva gingerly snuck up on a state-of-mind question.
“I can’t help but read your body language this morning, Mr. President,” he said. “You seem somehow dispirited, somewhat dispirited.”
W. did look like a kid who’d just had his toys taken away. But he acted humorously exasperated, as he always does when the talk turns introspective.
“This is like, all of a sudden, it’s like Psychology 101, you know?” he said, as reporters laughed.
.. W. loves to act as though psychology is voodoo even though his whole misbegotten foreign policy has been conducted from his gut, by checking the body language of his inner circle and looking into the hearts and souls of dictatorial leaders.
Posted by Tim at
06:24 PM
|
TrackBack
December 04, 2007
Grids, Tabs, Dynamic Forms
Posted by Tim at
10:37 PM
|
TrackBack
December 01, 2007