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.
Timing-independent array comparison « root labs rdist
An overview of some of the techniques that *don't* prevent or mitagate timing attacks.
Web Application Exploits and Defenses
This should be required reading for web developers. Kudos to Google for putting this out.
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.
Ian Bicking: a blog :: Re-raising Exceptions
Everything you ever wanted to know about re-raising exceptions in Python.
Cloudvox - API-driven phone calls
Wow. Looks amazing.
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.
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.
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.
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.
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.
Scrapy – Trac
Interesting: “an open source web crawling and screen scraping framework written in Python.”
Matt Legend Gemmell – MGTemplateEngine - Templates with Cocoa
A Django-ish template language for Cocoa.
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.
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.”
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.
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.
Introduction to Information Retrieval
Looks like a must-read; Matt says that this is the best technical book he's read in years.
MTV API Documentation Home
Goddamn: MTV has an API, and it uses Atom. This somehow boggles my mind.
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.
XPRL.org Home Page
“eXtensible Public Relations Language.” Yikes.
Useless Use of Cat Award
Unfortunately, this isn't what the title promises.
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.
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.
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.
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.
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.
Protocol buffers: the early reviews are in [dive into mark]
Absolutely perfect roundup of the reaction to protocol buffers.
Annotype
“Neat script I wrote for a friend to annotate a Python script with the types observed during a run of the program.”
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…
James Henstridge » Two‐Phase Commit in Python’s DB‐API
Two-phase commit proposal for Python. A bit esoteric, but this could help us crazy ORM weenies a bit.
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.
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.
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.
The Naive Approach to Hiring People
A pretty radical proposal reguarding hiring practices, but one that makes a *lot* of sense.
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.
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.
g :: A Simple Plugin Framework
Marty implements a plugin architecture in six (brilliant) lines of code.
TrueCrypt explained
Cryptography makes my head hurt.
ProgrammingLanguageTheoryTextsOnline < Techno < TWiki
If I thought I could actually make it through an entire textbook on a computer screen this would be amazing.
PyLinda: PyLinda - Distributed Computing Made Easy
An implementation of tuplespaces in Python
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.
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.
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.
Eventlet - Second Life Wiki
Non-blocking IO library by Linden Lab. I've heard awesome things about this; gotta give it a try.
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.
about:cmlenz - CouchDB “Joins”
Mah head asplode.
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.
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.
CFDG: Context-Free Design Grammar
Pastebin/gallery for CFDG images/files.
The Monkey Experiment, (or) “Why Do We Do That?”
Completely true, and unfortunatly so.
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.
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.
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.
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.
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.”
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.
Another PostgreSQL Diff Tool - Welcome to Another PostgreSQL Diff Tool
Diff two PG schemas. Very cool.
Book - NLTK
A book on natural language processing in 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)
Home - Garmin Developer
Garmin's new developer website. APIs, device communication toolkits, services… must investigate further…
Evaluation of Database Management Systems for Erlang
A paper comparing different DBMSes for Erlang.
DynamicModels - Django Code - Trac
Fantastic information about creating Django models at run-time. I didn't even know this was possible!
Official Google Mac Blog: Google data APIs connect Cocoa developers to Google
Cocoa GData bindings from the great G in the sky.
How to Write a Spelling Corrector
Awesome article on how you can write a simple spelling corrector in a handful of lines of Python.
Buildix from ThoughtWorks :: project start-up in a box
A development toolbox in a single disk image.
Amazon Web Services Developer Connection : Monster Muck Mashup - Mass Video Conversion Using AWS
Holy freaking crap this is cool.
jerith.za.net: Socket programming in Erlang
Sweet - I've been looking for a quick tutorial of this nature.
Ask Reddit: How did you end up using Django? (reddit.com)
A good collection of stories from Django users. Gives me the warm fuzzies :)
pydoctor
YA python to API doc tool. But this one's by mwh, so it's likely a cut above.
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.
lj19: Derivative Works
The best summary of what constitutes a “derivative work” in open source. It's more complex than it needs to be :(
Statistical Data Mining Tutorials
Um, wow.
gotAPI.com - quick developer reference for CSS, HTML, JavaScript, PHP, AJAX, SQL and more
Hey, pretty nifty.
CS 61A Home Page
Class using SCIP at Berkeley
MIT OpenCourseWare | Electrical Engineering and Computer Science
MIT OpenCourseWare classes in CS/EE
Structure and Interpretation of Computer Programs, Video Lectures
Video lectures to accompany SCIP. Awesome.
Stevey's Blog Rants: Egomania Itself
“If you do a rain dance for enough days in a row, it will eventually work. Guaranteed.”
HOWTO Avoid Being Called a Bozo When Producing XML
Awesome. I know about 30 people who need to read this yesterday.
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
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.
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.
mnk::macbs2::about
Basic Stamp programmer for mac
The R Project for Statistical Computing
I should learn R
Threading is Evil
A web site devoted to saving the world from threads
Entries
Peter Norvig on programming languages
A quote from Peter Norvig on programming languages.