archive / 2008 / August

  1. Title: Dynamic Ad Targeting With django-monetize
    Tags: django django_monetize

    For the past few days I have been working out this project in my head, and I finally sat down this morning to finish the implementation. django_monetize is a pluggable Django application for easily using a diverse array of monetization techniques in your Django project, and also for targeting different ads/monetization options based on the viewer and page content.

  2. Title: Transcending Search-as-You-Type Stickiness
    Tags: UI design

    A look at improving the standard search-as-you-type search field for non-instant searches, which in naive implementations can create a lagged or sticky feel to your user interface.

  3. Title: Epic PyObjC, Part 5: Resources and Farewell
    Tags: Cocoa OS X PyObjC python
    Series: An Epic Introduction to PyObjC

    This brief final segment of the Epic PyObjC tutorial series looks at a few statistics from the series, and also I recommend a few resources for moving forward.

  4. Title: Epic PyObjc, Part 4: Drag & Drop, Multiple Nibs
    Tags: Cocoa OS X PyObjC python
    Series: An Epic Introduction to PyObjC

    In this fourth segment of the Epic PyObjC tutorial we take a look at implementing drag and drop in two different ways, as well as using multiple nibs in one application. This is the final segment of Epic PyObjC that focuses on this project; the fifth one will be a collection of resources about continuing with Cocoa and PyObjC.

  5. Title: Epic PyObjC, Part 3: Browsing, Caching, Indicating
    Tags: Cocoa OS X PyObjC python
    Series: An Epic Introduction to PyObjC

    In this third segment of the Epic Introduction to PyObjC and Cocoa we spend some time in the standard application development workflow of iterating new idea from concept into feature. First, we have double clicking an entry open its page on FreeBase.com, then add disk based caching of results, and we end by adding an indicator to reassure users that the app hasn't frozen while retrieving data from Metaweb.

  6. Title: Epic PyObjC, Part 2: Adding a Library & Bindings
    Tags: Cocoa PyObjC python
    Series: An Epic Introduction to PyObjC

    This is the second segment of the Epic Introduction to PyObjC tutorial series. This time we're looking at integrating the simple metaweb.py library into our project, as well as using Cocoa Bindings and an NSArrayController to make setting up an NSTableView as easy as possible.

  7. Title: An Epic Introduction to PyObjC and Cocoa
    Tags: Cocoa PyObjC python
    Series: An Epic Introduction to PyObjC

    PyObjC is one of the most helpful projects I have ever used, but a number of individuals have been having trouble getting started with PyObjC on Leopard because the documentation is in a bit of a disarray. In particular, there didn't seem to be a comprehensive tutorial that could introduce a newcomer to all the important aspects of PyobjC, and that was completely up to date. Here is my attempt to fill that void. With a vengeance.

  8. Title: Writing to Application Support in PyObjC
    Tags: Cocoa PyObjC

    Applications may thrive on data, but programmers only thrive on data that is coherently organized. For Cocoa applications, user specific data is stored in an application specific subfolder of the '~Library/Application Support/' folder. Here is a quick look at the code necessary to calculate that Path in PyObjC.

  9. Title: Writing Titles Under Ninety-Five Characters
    Tags: fail

    A short, dull, and pointless story about why my recent blog entries all have titles under the length of 95 characters.

  10. Title: Deleting From NSOutlineView With the Delete Key
    Tags: Cocoa PyObjC

    I was trying to figure out how to delete items from an NSOutlineView with the delete key (and without simply binding the delete key to an NSButton), and it took a bit longer than necessary to figure it out. Here is a simple example that will hopefully help out those in a similar situation.

  11. Title: How to Use Selectors in PyObjC
    Tags: PyObjC

    Working on a current project I ran into a bit of confusion about how to get selectors working in PyObjC. After a bit of digging I found out that information I needed, and have crafted it into a mildly cohesive document for your development pleasure.

  12. Title: An Introduction to Using CouchDB with Django
    Tags: CouchDB django
    Series: Loose Coupling in Django

    This is the final installment of my series of articles looking at how Django's loose coupling philosophy impacts day to day development. Here we'll be looking at using CouchDB with Django to create a simple web application.

  13. Title: Global Popularity of Programming Languages

    I used Google Insights to look at the global search popularity for a dozen programming languages. Although I wasn't inspired with any particularly valuable insights, its still fairly interesting to see the distributions.

  14. Title: An Introduction to Compassionate Screen Scraping
    Tags: python screen scraping

    One of the most common quickie projects on the web is to screenscrape a website and play around with its data. These projects are a lot of fun, and can allow for inventive mashups, but often the screepscraping scripts cause unnecessary load on the site's servers due to inconsiderate technique. This is an introduction to the art of compassionate screenscraping.

  15. Title: A Syntax Coloring Template Filter for Django
    Tags: django python

    I spent a bit of time this evening writing a template filter for Django that accepts a string of code (and optionally the name of the Pygments lexer to use for highlighting) and returns the code nicely syntax colored. A simple but slightly helpful addition to your templating arsenal.

  16. Title: A Year Later, Home From Japan
    Tags: japan

    As many of you (if anyone actually reads these) already know, I am back from Japan. Here are a few thoughts about returning back to America.

  17. Title: Python Content Scraper for OneManga.com
    Tags: python screen scraping

    I spent a while today writing a fairly kind content scraper for OneManga.com, which shows how to use Python's httplib2 and BeautifulSoup to scrape data with a flexible api and minimal http connections.

  18. Title: Reading "The Nudist on the Late Shift" in 2008
    Tags: entrepreneurship review

    Today I finished reading Po Bronson's "The Nudist on the Late Shift." Its an interesting look at a wide swathe of different players in the Silicon Valley internet bubble. Well, to be more precise, in the first Silicon Valley internet bubble. Looking at the state of Valley entrepreneurship today, almost ten years later, much of what Bronson has to say is still intensely relevant.

  19. Title: Cocoa Drag and Drop text into the Dock Icon
    Tags: Cocoa ObjC PyObjC

    I spent much too long today trying to figure out how to implementing drag and droping selected text onto an application's Dock icon (and its Finder icon as well), and will proceed to share this knowledge with you in the hopes that related searches will not leave their queriers quite as lost as I was.

  20. Title: How to Write a Wrapper Library
    Tags: design

    Recently I received a comment wondering how to approach writing a wrapper library on top of an existing library. Although writing wrapper libraries is hardly a lost art of antiquity, developing a new interface to a library can create a lot of added value without too much effort, so it seems like something deserving of a couple hundred words.