Jacob Kaplan-Moss

Activity tagged “programming”

Bookmarks

Popular recipes by Raymond Hettinger « ActiveState Code

You could teach an advanced Python class by just going over all of Raymond's Python recipes.

(algorithm, programming, python, recipe)

Timing-independent array comparison « root labs rdist

An overview of some of the techniques that *don't* prevent or mitagate timing attacks.

(crypto, cryptography, programming, security, timingvulnerability)

Web Application Exploits and Defenses

This should be required reading for web developers. Kudos to Google for putting this out.

(development, google, programming, security, vulnerabilities, web)

A Standard for Open Source Code Documentation [Alex Reisner]

A nice outline for how open source code documentation might be organized. I'm less than convinced that there needs to be a “standard,” but as a sort of conceptual framework for organizing docs this does a great job.

(documentation, opensource, programming, standard)

Ian Bicking: a blog :: Re-raising Exceptions

Everything you ever wanted to know about re-raising exceptions in Python.

(code, debugging, exceptions, programming, python, traceback)

Raphaël—JavaScript Library

Awesome-looking JavaScript vector library, rendering to SVG/VML. FF 3+, Safari 3+, IE 6+. Make sure to play with the demos; they rock.

(canvas, drawing, javascript, js, programming, svg, vector, visualization, webdev)

Digg the Blog » Blog Archive » Looking to the future with Cassandra

A great Cassandra success story from Digg (76 billion columns, 3 TB, sub-second updates). I'm looking forward to the opportunity to use Cassandra myself.

(cassandra, database, digg, nosql, production, programming, scalability, scaling)

A Survey of Concurrency Constructs

Ted Leung's OSCON talk. One of my favorites, he zoomed through a bunch of different ways languages implement concurrency. Chock full of links to implementations, theory, and details.

(concurrency, oscon, oscon2009, presentation, programming, slides)

Pivotal Tracker

Bug tracking software oriented around the “story/iteration” model. Looks pretty neat, though I kinda wish the bullshit jargon around “Agile Software” would curl up and die; it's just distracting and Inside Baseball-y. I especially like the built-in velocity tracking; that's something traditional bug tracks aren't so good at.

(agile, collaboration, development, management, planning, programming, projectmanagement, scrum, software, time, tools, tracker, webapp)

hatful of hollow - Visualising Sorting Algorithms

Really awesome, and I think I finally understand how heapsort works. Oh, and it comes with bonus Python+Cairo examples.

(algorithms, code, computerscience, datastructures, programming, python, sorting, visualization)

Scrapy – Trac

Interesting: “an open source web crawling and screen scraping framework written in Python.”

(crawler, framework, parser, programming, python, scraper, screenscraping, spider)

Candygram

An implementation of Erlang-style concurrency for Python. Processes are implemented on top of threads, unfortunately, so there's a pretty low limit on the level of concurrency, which illustrates the problems with “porting” a concept like this between languages. Still the API is relatively sane, and with some work on the underlying model — perhaps a switch to select/epoll — this could be a very nice addition to the Python concurrency toolkit.

(concurrency, programming, python)

How SQLite Is Tested

SQLite's testing infrastructure is nothing short of inspired: “SQLite […] consists of approximately 62.2 KSLOC of C code. […] By comparison, the project has 716 times as much test code and test scripts - 44568.6 KSLOC. […] The TCL test suite obtains 99.37% statement coverage [… and] 95.16% branch coverage.”

(programming, software, sqlite, testing)

20 Useful Visualization Libraries : A Beautiful WWW

Roundup of 20 free (some gratis, some libre) visualization toolkits. I'd heard of about half of these, but some others are news to me. Awesome.

(charts, dataviz, graphs, programming, visualization)

Whoosh

Pure-Python search engine. Looks like a great idea if you need something simple and don't want to mess with an external service.

(programming, python, search, searchengine, via:simonw)

Introduction to Information Retrieval

Looks like a must-read; Matt says that this is the best technical book he's read in years.

(algorithms, book, free, informationretrieval, programming, via:mccurdy)

MTV API Documentation Home

Goddamn: MTV has an API, and it uses Atom. This somehow boggles my mind.

(api, atom, mtv, music, programming)

Google Visualization API - Google Code

Google's visualization API — previously only available as widgets in a Google Spreadsheet — gets released for general use today. See also the Python library.

(apis, dataviz, google, programming, tools)

XPRL.org Home Page

eXtensible Public Relations Language.” Yikes.

(language, programming, public, schema, xml, xprl)

Useless Use of Cat Award

Unfortunately, this isn't what the title promises.

(bash, cat, programming, scripting)

Working Without Copyleft

An interesting look at the choice to use a “weaker” open source license like the BSD, and some good arguments against the GPL.

(bsd, copyleft, gpl, licensing, opensource, programming)

stevenf.com: How to report a bug in a Mac OS X application

Steven's specifically talking about reporting bugs in a OS X application, but there's really very little here that's OS X specific. Reporting bugs well is an art; those who practice it well see their itches scratched sooner.

(bug, programming, reporting, testing, tips)

Simon Willison: Announcing dmigrations

The schema evolution in Django space is really heating up. With luck we can keep the competition friendly, and pull out a best-of-breed solution to roll back into Django.

(database, db, django, evolution, orm, programming, python, schema)

Kansas Primary 2008 recap at Matt Croydon::Postneo

Matt's been working on the JW's election coverage for a few years now, and it's getting *really* slick. To me, though, the most interesting part is in how Matt's been able to track down clueful people at Douglas County and the Secretary of State; having a quick and clean source of data makes this process much, must easier. It strikes me that there really isn't a whole lot of difference between Matt cultivating these relationships and a “traditional” journalist's cultivation of sources.

(2008, django, elections, ellington, journalism, ljworld, programming, visualization)

Simple Top-Down Parsing in Python

Fantastic article on building a top-down parser in just a few hundred lines of Python. Read this even if you don't care about parsing: effbot really demonstrates many of the cool idiomatic tricks that makes Python such a pleasure to write and read.

(algorithms, programming, python)

Protocol buffers: the early reviews are in [dive into mark]

Absolutely perfect roundup of the reaction to protocol buffers.

(google, network, programming, protocolbuffers)

Annotype

Neat script I wrote for a friend to annotate a Python script with the types observed during a run of the program.”

(code, languages, programming, python, types)

Coding Horror: Does More Than One Monitor Improve Productivity?

I don't understand why there's so much debate about this: more screen real estate is simply a negligable cost even for a tiny performance increase. Wonder if my 30” is here yet…

(monitors, productivity, programming)

James Henstridge » Two‐Phase Commit in Python’s DBAPI

Two-phase commit proposal for Python. A bit esoteric, but this could help us crazy ORM weenies a bit.

(db, dbapi, programming, python, sql)

The Pownce Blog » Blog Archive » Announcing Pownce API v2.0

Version 2 of the Pownce API is out, and it's extremely well-designed. I hope Leah will write about the backend-details — this is the best Django-powered REST API I've seen yet.

(api, djangopowered, pownce, programming)

iCalendar package for Python

Another iCalendar library. This one has perhaps the best API of all the ones I've used and seems to work with all the iCal feeds I've thrown at it.

(calendar, ical, icalendar, library, programming, python)

prefuse | interactive information visualization toolkit

Nifty looking dataviz toolkit. Some overlap with Processing, it seems, but there's also a bunch of graph/node stuff in Prefuse that looks neat. It's Java, unfortunatly, but maybe that'll be a good excuse to try out the recent advances in Jython.

(analysis, dataviz, graph, graphics, java, library, programming, software)

The Naive Approach to Hiring People

A pretty radical proposal reguarding hiring practices, but one that makes a *lot* of sense.

(blog, for:mcroydon, hiring, ideas, interview, programming)

xkcd - A webcomic of romance, sarcasm, math, and language - By Randall Munroe

Oh yeah! Good ol' C-x M-c M-butterfly…” I think this might be my favorite XKCD yet.

(comic, emacs, funny, geek, humor, programming, xkcd)

Changes Beta

An interesting visual diff tool along the lines of FileMerge or kdiff3. I've been more than happy with FileMerge, but Changes is probably worth a look.

(development, diff, mac, programming, scm, software)

g :: A Simple Plugin Framework

Marty implements a plugin architecture in six (brilliant) lines of code.

(framework, plugins, programming, python)

ProgrammingLanguageTheoryTextsOnline < Techno < TWiki

If I thought I could actually make it through an entire textbook on a computer screen this would be amazing.

(books, pmscs, programming, reference, theory)

Tuple Space

An area of CS that this Literature student knows nothing about. I've been thrashing around trying to come up with something like this at work; seems like a bit more CS knowledge would have saved some of that thrashing. Grump.

(distributed, programming, tuplespace)

PyRTF - Rich Text Format (RTF) Document Generation in Python

RTF generator written in Python. Looks like a docutils writer based on PyRTF should be pretty trivial, and that might make a better reST -> Word workflow than my current reST -> ODF -> OO.org -> Word nonsense.

(library, programming, python, rtf, text)

Frameworks Exist for Conceptual Integrity

Adam Gomaa *nails* the philosophy behind Django. I've tried to make similar arguments, but never really could articulate why Django works the way it does. Adam gets is perfectly right.

(django, mmm, philosophy, programming)

Eventlet - Second Life Wiki

Non-blocking IO library by Linden Lab. I've heard awesome things about this; gotta give it a try.

(code, concurrency, networking, programming, python)

Matt Legend Gemmell » Blog Archive » Get rid of your code with Leopard

An overview of what's new in Leopard for developers. The killer feature of Leopard is really going to be what it lets indie developers do; I can't wait to see what Panic, Flying Meat, et al. can do with this stuff.

(api, apple, cocoa, development, leopard, programming)

Python Package Index : IPy 0.51

Nice utility class for dealing with IPv4/IPv6 addresses. Especially nice is the netmask handling; I never have been very good at calculating netmasks by hand.

(code, ip, network, programming, python)

ASPN : Python Cookbook : Getting items in batches

I never remember how to do this right. Don't miss the comments for Raymon Hettinger's amazingly clever version.

(batch, code, list, programming, python)

CFDG: Context-Free Design Grammar

Pastebin/gallery for CFDG images/files.

(contextfree, graphics, programming, software)

7 reasons I switched back to PHP after 2 years on Rails - O'Reilly Ruby

Read the comment thread for the 8th reason: good lord the Rails community is obnoxious. It's a shame: Rails is such beautiful tech, but it seems to attrack the worst of the rabid fanboy assholes out there.

(php, programming, rails, ruby, rubyonrails)

Mark Finkle’s Weblog » Hello JS-CTYPES, Goodbye Binary Components

This is a pretty big deal: I've been using ctypes in Python for quite some time, and I can attest to how much better it is than writting C/C++ wrappers. XPCOM in particular is a total PITA, so js-ctypes should mean a bunch of new, awesome Mozilla plugins.

(c, ctypes, javascript, js, library, mozilla, programming, xpcom)

The Hand of FuManChu - Storm, SQLAlchemy, and Geniusql

Not sure about the quality of the benchmarks, but I'd nevertheless still like to see how Django stacks up here. Not very well I'd imagine, but Django's always been an 80% ORM anyway, so 80% of the performance would be just *fine* with me.

(benchmark, geniusql, orm, performance, programming, python, sql, sqlalchemy, storm)

lwqueue: Lightweight cross-language message queue system

A stab at a memcached-like message queue. Looks super-simple, and 1000 op/s isn't half shabby.

(code, distributed, messaging, programming, python, queue, scaling)

gameobjects - Google Code

Game Objects is a collection of 2D and 3D maths classes, and algorithms for helping in the creation of games with Python. Suitable for PyGame, but independent of it.”

(game, math, programming, pygame, python)

The Future of TurboGears - TurboGears | Google Groups

TurboGears 2.0 will be built on top of Pylons. This is a very good thing for the Python web community. This has majorly cool implications for Django, too, so I better get my butt in gear and start coding.

(programming, pylons, python, turbogears, webdev)

Book - NLTK

A book on natural language processing in Python.

(book, code, language, opensource, programming, python)

How We Learned to Cheat at Online Poker: A Study in Software Security [Cigital]

Revealing the “psudo” in “psudorandom” (thanks for the quip, Matt)

(gambling, games, poker, programming, security)

Home - Garmin Developer

Garmin's new developer website. APIs, device communication toolkits, services… must investigate further…

(api, code, for:mcroydon, garmin, geo, gps, maps, programming)

DynamicModels - Django Code - Trac

Fantastic information about creating Django models at run-time. I didn't even know this was possible!

(db, django, models, programming)

How to Write a Spelling Corrector

Awesome article on how you can write a simple spelling corrector in a handful of lines of Python.

(code, probability, programming, python, spelling)

jerith.za.net: Socket programming in Erlang

Sweet - I've been looking for a quick tutorial of this nature.

(erlang, programming, server, sockets, tutorial, via:jkocherhans)

Ask Reddit: How did you end up using Django? (reddit.com)

A good collection of stories from Django users. Gives me the warm fuzzies :)

(development, django, for:holovaty, programming, python, web)

pydoctor

YA python to API doc tool. But this one's by mwh, so it's likely a cut above.

(development, documentation, generator, programming, pycon2007, pydoc, python, tools)

Connectors for the NdbApi in Launchpad

Low-level database connectors for MySQL. Essentially you get to use a relational database without SQL. Could be very interesting when combined with an ORM.

(database, development, library, mysql, programming, pycon2007, python)

lj19: Derivative Works

The best summary of what constitutes a “derivative work” in open source. It's more complex than it needs to be :(

(copyright, law, legal, licenses, opensource, programming)

CS 61A Home Page

Class using SCIP at Berkeley

(pmscs, programming)

Stevey's Blog Rants: Egomania Itself

If you do a rain dance for enough days in a row, it will eventually work. Guaranteed.”

(agile, essays, methodologies, programming)

HOWTO Avoid Being Called a Bozo When Producing XML

Awesome. I know about 30 people who need to read this yesterday.

(howto, programming, tutorial, xml)

Inefficient sort algorithms

This paper is the condensation of a discussion of inefficient sorts in the talk.origins newsgroup. The main focus was on a sort suggested by Richard Harter. Although the topic (and much of the discussion) was apparently frivolous it raised real mathematic

(algorithms, funny, programming)

PySyck

PySyck is aimed to update the current Python bindings for Syck. The new bindings provide a wrapper for the Syck emitter and give access to YAML representation graphs. Hopefully it will not leak memory as well.

(programming, python, yaml)

Minutes PHP Developers Meeting

Some insights into what PHP6 will look like. Apparently namespaces will make it in (yay!) but the suggested syntax looks terrible.

(php, php6, programming, webdev)

mnk::macbs2::about

Basic Stamp programmer for mac

(basicstamp, hardware, mac, osx, programming)

Threading is Evil

A web site devoted to saving the world from threads

(programming, threading)

Entries

Peter Norvig on programming languages

A quote from Peter Norvig on programming languages.

(languages, norvig, programming)