10 Jan 2008

Simplifying Web Framework Deployment on Shared Hosting

On Dreamhost freaking out because they can’t get Rails deployed reliably.

tomayko.com   02:18

15 Apr 2007

Lesson #5

A long overdue request for maintainers on two potentially important Python projects.

tomayko.com   20:35

06 Feb 2007

Too much politics for programmers

Ian compares Pylons and TurboGears and makes a few interesting general observations along the way.

tomayko.com   18:51

29 Dec 2006

The Pending Ruby/Java Co-op

A prediction piece on the possibility of a Ruby backed coup d'état on the JVM and what that might mean to the pragmatic web developer.

tomayko.com   17:56

11 Nov 2006

XML Templating in Python Evolves

A brief history of the Kid templating language and an endorsement for the next generation of XML-based templating: Genshi.

tomayko.com   13:58

07 Jul 2005

Announcing lesscode.org

lesscode.org goes live.

tomayko.com   08:19

27 May 2005

IBM Poopheads: "LAMP Users Need to Grow Up"

That is to say, they don’t get it. This started out as a simple rant and turned into a decent sized essay on basic shared-nothing architecture and scaling down.

tomayko.com   18:29

28 Apr 2005

Why I love Sean McGrath

“If you cannot think of 3 good reasons why dynamically typed programming languages have a role to play in this universe, you don’t want the job.”

tomayko.com   13:45

22 Apr 2005

On HTTP Abuse

And why we need more three-legged stools.

tomayko.com   15:55

01 Apr 2005

Insects and Entropy

How complexity killed the best bug ever created in the whole world.

tomayko.com   21:44

29 Mar 2005

The Battle of the Less Clueless

IronPython vs. JPython: who cares?

tomayko.com   09:03

05 Mar 2005

Kid 0.6

Template Inheritence, Match Templates (kind of like XSLT’s), cElementTree support, a refined Python API, documentation…

tomayko.com   02:49

25 Feb 2005

Scary Rails vs Quixote Stats

Wherein we avoid a Python vs. Ruby flamewar by changing the subject to Object vs. RDMS persistence.

tomayko.com   22:34

IBM redemption

I humbly retract my previous negative statements about IBM.

tomayko.com   21:15

22 Feb 2005

Fish, bad.

Just keep talking.

tomayko.com   00:22

17 Feb 2005

Web Dominated by J2EE?

The web as currently imagined by the tech. industry is quite different from the web that actually exists.

tomayko.com   19:51

02 Feb 2005

Tools for Democracy / Distributed Journalism

On using the web to co-ordinate massive grass-roots efforts quickly.

tomayko.com   03:01

26 Jan 2005

Kid by Example

Kid 0.5 announcement with a couple of page fulls of example usage.

tomayko.com   02:51

23 Jan 2005

No Rails for Python?

What does Ruby on Rails have that we don’t and why?

tomayko.com   03:48

20 Jan 2005

Getters/Setters/Fuxors

Python’s attributes are not Java’s getters/setters and why that’s a good thing.

tomayko.com   00:43

12 Jan 2005

ElementTree on the come-up

Why I prefer ElementTree to “standard” DOM APIs and why it’s sometimes better than libxml2.

tomayko.com   02:46

11 Jan 2005

Ross' Taint.. I mean, Tate.. I mean, Rawke!

Ross Burton builds the first real-world application using Kid Templates.

tomayko.com   01:04

Kid 0.4

On changing from GPL to MIT, going after web-framework support, and simplifying as much as possible.

tomayko.com   00:09

15 Dec 2004

The Static Method Thing

A comparison of Java’s static methods and Python’s class methods.

tomayko.com   05:41

11 Dec 2004

But the world doesn't work that way

I miss Mark Pilgrim.

tomayko.com   00:33

10 Dec 2004

Transformation Templates in Kid

Trying to figure out a way of providing XSLT-like template matching in Kid.

tomayko.com   21:31

Why isn't there a simple XSLT?

Why not extend XSLT to be easier instead of building a new template language?

tomayko.com   15:16

09 Dec 2004

The Day Tim Bray Saved Java

Tim seems to be working miracles over at Sun.

tomayko.com   00:50

05 Dec 2004

XML Pull-chaining with Python

Applying a chain of Python generators to achieve transformation of the XML infoset.

tomayko.com   04:08

02 Dec 2004

Kid 0.2 and a note on Template Design

This release is all about documentation.

tomayko.com   01:56

29 Nov 2004

In search of a Pythonic, XML-based Templating Language

How I decided to build Kid – the simple, pythonic, XML-based template language.

tomayko.com   23:06

28 Nov 2004

Hello Pythonosphere

How to get syndicated in Python-oriented news communities.

tomayko.com   16:17

18 Nov 2004

Splice

A Python based weblog thing or something.

tomayko.com   00:48

09 Nov 2004

Weapons and Coding

Wherein we predict that whoever decides to take dynamic languages seriously will win the interpreted bytecode market.

tomayko.com   00:25

01 Oct 2004

Dynamic Superclassing in Python

Danger’s my middle name.

tomayko.com   00:38

20 Sep 2004

Guido's 10-line Python Scripts

How they’re different from mine.

tomayko.com   15:15

12 Sep 2004

Cleanest Python find-in-list function?

There has to be a place for this in the standard library.

tomayko.com   22:46

05 Sep 2004

Python Inner Classes

Why are they there?

tomayko.com   03:09

17 Feb 2004

Learning Python As You Go

I never would have imagined a language with so much power could be so easy to pick up.

tomayko.com   19:00

12 Feb 2004

tomayko.com   18:16

02 Feb 2004

tomayko.com   15:45

23 Nov 2003

tomayko.com   12:36

09 Jul 2010

Building Filesystems the Way You Build Web Apps

Interesting concept. Layer the routing guts found in modern web frameworks over Linux’s FUSE userland filesystem stuff and you get a nice model for developing custom filesystems.

The small example (~30 LOC) shows how to build a simple GitHub filesystem, which gives you this:

opus:~ broder$ ./githubfs /mnt/githubfs
opus:~ broder$ ls /mnt/githubfs
opus:~ broder$ ls /mnt/githubfs/ebroder
anygit      githubfs     pyhesiodfs  python-simplestar
auto-aklog  ibtsocs  python-github2  python-zephyr
bluechips   libhesiod    python-hesiod
debmarshal  ponyexpress  python-moira
debothena   pyafs    python-routefs
opus:~ broder$ ls /mnt/githubfs
ebroder

Pretty awesome.

blog.ksplice.com   21:32

30 Jun 2010

pocco

Python version of Docco, the quick-and-dirty, hundred-line-long, literate-programming-style documentation generator:

8888888b.
888   Y88b
888    888
888   d88P  .d88b.    .d8888b  .d8888b  .d88b.
8888888P"  d88""88b  d88P"    d88P"    d88""88b
888        888  888  888      888      888  888
888        Y88..88P  Y88b.    Y88b.    Y88..88P
888         "Y88P"    "Y8888P  "Y8888P  "Y88P"

All together, we have Docco, Rocco, shocco, and now Pocco. Jeremy observes, “It’s a whole little adorable family of midget programs now…”

fitzgen.github.com   01:14

09 Feb 2010

How do we kick our synchronous addiction?

Eric Florenzano asks why modern web frameworks insist on a synchronous programming model and gives some answers with possible alternatives. The article is dead on, IMO, but I’m not sold on his conclusion:

We need to look at these alternative implementations like coroutines and lightweight processes, so that we can make asynchronous programming as easy as synchronous programming.

For Ruby, this is all about making Fiber robust and widely available. There was a time when I too thought this would solve all problems by hiding the underlying async model but retaining its benefits. That’s the dream. I don’t believe in it anymore. Having experimented with such an approach on a small team, I’m fairly confident that everybody working on an event-based/async program needs to understand the underlying model or blocking code will inevitably be introduced and destroy everything. And once everyone’s comfy with async, you’ll find that the sync façade is annoying and unhelpful. Embrace it.

eflorenzano.com   04:44

08 Feb 2010

Performance Retrospective in PEP 3146 -- Merging Unladen Swallow into CPython

Shame:

Our initial goal for Unladen Swallow was a 5x performance improvement over CPython 2.6. We did not hit that, nor to put it bluntly, even come close. Why did the project not hit that goal, and can an LLVM-based JIT ever hit that goal?

Here’s the performance comparison itself. Most gains were under 1.5x and memory usage grew significantly in every benchmark. Startup time also suffered.

As mentioned in the Performance Retrospective, they had to divert a lot of energy from performance work to fixing LLVM bugs and axe grinding on debugging/profiling tools. I have my fingers crossed that they can pull off the 5x gains in the next round. Let’s hope so, I’d demand at least that much to justify this:

In order to use LLVM, Unladen Swallow has introduced C++ into the core CPython tree and build process.

Slipperyest of slopes.

python.org   08:41

11 Nov 2009

Writing good documentation

Jacob Kaplan-Moss:

It’s really tempting to use an auto-documentation tool like Javadoc or RDoc for reference material.

Don’t.

Auto-generated documentation is almost worthless. At best it’s a slightly improved version of simply browsing through the source, but most of the time it’s easier just to read the source than to navigate the bullshit that these autodoc tools produce. About the only thing auto-generated documentation is good for is filling printed pages when contracts dictate delivery of a certain number of pages of documentation. I feel a particularly deep form of rage every time I click on a “documentation” link and see auto-generated documentation.

Hate that shit.

You know what I want? Man pages. For everything. Wouldn’t it be cool if you didn’t have to write roff?

jacobian.org   17:09

22 Oct 2009

Why I like Redis

Simon Willison on using Redis with the Python REPL to get complex shit done quick. Insightful piece, as always.

simonwillison.net   04:15

12 Oct 2009

Everything is Unix

Jeremy Zawodny takes a look at the * is Unix thing and throws in some additional goodness: more on fork(2), the benefits of copy-on-write, and atomic file operations.

linux-mag.com   11:25

06 Oct 2009

Python is Unix

Jacob Kaplan-Moss does the prefork echo server example from my Unicorn is Unix piece in Python. Awesome. Let’s see some more of these. Where you at, Perl?

jacobian.org   10:21

12 Sep 2009

Tornado on Twisted

Dustin Sallings proofs out an implementation of the recently released Tornado web framework but builds on top of Twisted. The result is -1,297 fewer lines and all the benefits of having the Twisted framework underneath. I’ve been waiting for someone from the Ruby community to announce a port — we’re good at stealing. Using Dustin’s fork as a reference and basing a Ruby implementation on EventMachine might be the way to go.

dustin.github.com   21:30

10 Sep 2009

Toward a new self-definition for open source

Ian Bicking’s talk from DjangoCon 2009. Stimulating. I’m sure a nice comment thread will develop here over the next few days as well.

blog.ianbicking.org   10:53

04 Sep 2009

Snakes on the Web

Jacob Kaplan-Moss somehow pulls a bunch of interesting contemporary web development issues into a coherent essay. This bit on what happens when web apps begin to mature is especially well stated:

This is an impossible situation for framework developers: by optimizing for a quick start, by focusing on common needs, we’re essentially guaranteeing future failure. Remember the “Rails doesn’t scale” pseudo-controversy last year? I guarantee it’s only a matter of time until there’s an angry “Django FAIL” moment.

Frameworks ought to gracefully fade away as you replace them, bit by bit, with domain-specific code. (This is what I meant, above, that inter-op is also a scaling issue.) Right now, they don’t.

I wish more people would write about their experiences growing out of the general purpose web framework. It’s a totally natural thing but most people seem hesitant to talk about it because it’s interpreted as an attack on the framework or community.

jacobian.org   10:13

19 Aug 2009

Dropping Django

This seems to be a trend in Python and Ruby web circles. Frameworks present developers with a choice: accept these constraints, give up a little control, and I’ll make you more productive. Longer-lived apps start to evolve out of the framework at some point, though. You need more control over a piece here, or aren’t satisfied with the way something works there, and so you refactor and pull stuff out until the framework begins to slowly fade away. Maturity is a part of the web app development lifecycle we have precious little data on.

This comment nails it:

Maybe it worked out exactly like it should have. Django bootstrapped your app to a certain point. Got you further faster than you would have if you implemented everything from scratch. Then from there, you identified the things you considered inadequate and replaced them. If it all goes away who cares. You have learned something, shared it with us and moved on.

I think that’s just fine. Unexpected maybe, but fine.

blog.brandonbloom.name   12:00

18 May 2009

djng—a Django powered microframework

Simon Willison is working on python web microframework based on Django. This will get interesting. Fast.

simonwillison.net   17:09

26 Apr 2009

When celebrity programmers attack: Guido on tail calls

“Almost all non-functional programmers are unaware that tail calls facilitate a programming paradigm that they have never seen. The ability to tail call to functions that are not statically known is the foundation that makes many combinators useful. This is a style of programming where functions are composed in order to create a pipeline for values to flow through. Without tail call elimination, every stage in the pipeline would leak stack space and the whole approach becomes unusably unreliable.”

flyingfrogblog.blogspot.com   18:03

09 Mar 2009

Delve into UNIX process creation

It’s important to understand how fork(2), pipe(2), and exec(2) work. I don’t want to hear anymore of this “fork is a hack” shit from any of you :)

ibm.com   03:13

17 Feb 2009

Ryan Tomayko on the Ruby on Rails Podcast

Geoffrey Grosenbach interviewed me yesterday for the Ruby on Rails podcast. We had a nice chat about Python/WSGI, Rack, Sinatra, Rack::Cache, Heroku, and other random stuff.

podcast.rubyonrails.org   10:27

26 Jan 2009

Javascript, it's Python with braces!

Guyon Morée shows how JavaScript 1.7/1.8 have been moving more and more toward Python with a few side-by-side examples. List comprehensions and generators would definitely be extremely cool to have in browser land.

gumuz.nl   18:44

16 Jan 2009

Woonerf and Python

Ian Bicking explains the connection between modern traffic planning and modern programming in dynamic languages.

blog.ianbicking.org   12:38

13 Dec 2008

ETags And Modification Times In Django

Nice look at caching idioms in Django and why you need to generate HTTP cache validators up-front and efficiently.

pointy-stick.com   07:58

20 Sep 2008

How to usurp PHP’s place: an outline

Aristotle Pagaltzis on eating PHP’s lunch: “It will have to be more than just a programming language, because PHP itself is really more than a programming language. It includes a crude web framework (an invocation model reminiscent of CGI, with extensions) plus a crude deployment solution (just make all the libraries part of the language and let the sysadmin worry about it – who in turn often defers to his operating system vendor). This is PHP’s way of taking the worse-is-better philosophy to dazzling new depths …”

I was having this conversation at work the other day and came away with the conclusion that even if something were to reach feature / ease of use parity with PHP today, it would be many years before it actually surpassed the language in real deployments. PHP is everywhere.

plasmasturm.org   17:03

14 Sep 2008

hackety.org   21:36

13 Sep 2008

Django’s cache framework

All frameworks should approach caching the way Django does. The core app/origin framework does no real caching but provides utility/helper methods for setting standard RFC 2616 cache related headers on the response easily and correctly. A completely separate set of caching goo (“middleware”) sits between your app and performs the actual caching based purely on the headers set by the origin. The benefit to this approach is that caching is totally independent from the app framework and can be swapped out for a true gateway (“reverse proxy”) cache at any time.

docs.djangoproject.com   01:12

28 Jun 2008

refactormycode.com

Awesome idea. Nice syntax highlighting. (Via Simon Willison)

refactormycode.com   13:46

03 Jun 2008

Reia -- Python/Ruby hybrid language syntax; runs on the Erlang VM

Good idea. Solve the “concurrency problem” for dynamic/scripting languages and the “language syntax problem” for Erlang, without sacrificing the benefits of either. Someone needs to keep an eye on this.

wiki.reia-lang.org   06:13

30 May 2008

Processes spawn faster than threads?

Sometimes! Or, fork(2) is a very fast operation on legitimate operating systems. I didn’t realize it could be as fast as spawning a thread, though.

blog.extracheese.org   10:00

09 Apr 2008

Clouds Rolling In: The Google App Engine Q&A

Stephen O'Grady with the obligatory Q&A, which is excellent as always.

redmonk.com   19:44

Interactive Google App Engine Python Shell

The Python REPL running on Google’s infrastructure.

shell.appspot.com   19:10

App Engine and Open Source

Ian Bicking: “Many people are excited about how far up you might be able to scale something based on App Engine, but I’m excited about how far it could be scaled down.”

blog.ianbicking.org   08:39

08 Apr 2008

My initial reaction to Google App Engine (in Simon Willison's comments)

I’ve since went to sleep and reawakened. I’m typically fairly curmudgeony when I wake up but I’m still having the same reaction.

simonwillison.net   06:19

07 Apr 2008

Google App Engine

Christmas in Python land! Run Python/WSGI code on Google’s infrastructure. This is an incredibly H U G E win for the Python web community and further validates WSGI’s architectural awesomeness.

code.google.com   19:53

Ruby’s not ready

Matt Chisholm evaluates Ruby against Python for an upcoming project and determines that it’s a big pile of doodoo. I can’t agree with the conclusion but he details a lot of Ruby’s warts really quite well.

glyphobet.net   16:08

03 Apr 2008

Maintainable Programmers

This was a really great lesscode.org piece by Aristotle. The follow-up discussion in the comments was superb as well. Being in the middle of everything really warped my view of what was going on back then, I think.

lesscode.org   18:00

The immediacy of PHP

David Heinemeier Hansson: “PHP scales down like no other package for the web and it deserves more credit for tackling that scope.”

Agreed!

loudthinking.com   07:57

20 Feb 2008

A Nice Big Purple Reddit Stack Trace

reddit.com is running Pylons-0.9.6, Paste-1.4.2, Routes-1.7, Beaker-0.7.5 on FreeBSD 6.2-RELEASE (amd64). Wow. Nice environment.

img46.imageshack.us   17:55

01 Feb 2008

How I lost my faith (in lisp) - comp.lang.lisp

“Between 1988 and 1991 I worked on the research program that led to the Mars Pathfinder rover […] All three of [the prototypes] were programmed not in Lisp, but in little mini-languages whose compilers were written in Lisp.”

groups.google.com   04:59

22 Jan 2008

Django People

Simon Willison’s latest project makes it easy for people developing in Django to hook up and get laid (since they have so much free-time due to developing in Django).

djangopeople.net   13:24

12 Jan 2008

Reverse proxy roundup

Bob Ippolito wrote up some pros and cons to reverse proxy implementations in different servers a few months back. I don’t think much of it is out of date at this point but nginx isn’t represented.

bob.pythonmac.org   07:25

What PHP Deployment Gets Right

Ian takes a look at some of the attributes of PHP’s deployment model, why they work so well (for PHP), and why other environments have such a hard time duplicating them.

blog.ianbicking.org   07:17

10 Jan 2008

Shared Hosting is a Ghetto

“The constraints, the instability, and the unpredictability of a shared hosting environment are a big part of the reason why the web hosting business is moving towards virtualization everywhere you look. Big kids need their own sandboxes to play in.”

al3x.net   04:35

04 Dec 2007

Python

“Whitespace?”

xkcd.com   17:06

26 Nov 2007

PEP 3117 -- Postfix type declarations

“After careful considering, much soul-searching, gnashing of teeth and rending of garments, it has been decided to reject this PEP.”

python.org   07:53

02 Oct 2007

Software Is Hard

“Talking about a software development schedule more than a year out is like talking about where we go after we die. Everyone has some idea where we’ll end up, but those ideas differ wildly, and there’s a lack of solid evidence to support any of them.”

gamearchitect.net   15:32

27 Sep 2007

Advanced Python (or Understanding Python)

Thomas Wouters covers a ton of ground (quickly) on lots of Python’s interesting features. This may be the quickest way for newbies (or refugees) to come up to speed with the language.

video.google.com   14:39

18 Sep 2007

Joe Gregorio | Projects [bitworking.org]

Aww man, Joe’s real project list looks like my wish-i-was-hacking-on list.

bitworking.org   01:19

25 May 2007

Evolution of a Python programmer

“Web designer” is dead on :)

dis.4chan.org   05:03

16 May 2007

Relevance: Silverlight, the DLR, and thee

“The general thrust of this argument is that having a full-fledge rich-windowing experience in the browser is going to put a stop to all that amateurish mucking around with JavaScript and the DOM. … that’s hogwash.”

relevancellc.com   02:42

14 Apr 2007

Sam Ruby: Genshi Filters for Venus

“In the remaining four templates, the translation from XSLT to Genshi markup is straightforward. And generally, the Genshi markup is both more compact and more powerful.”

intertwingly.net   11:32

25 Mar 2007

Invasion Of The Dynamic Language Weenies [hacknot.info]

Wow. Pretty solid anti dynamic language advocacy piece. It’s been a while since I’ve written anything longish so maybe I’ll try to put together something of response to this.

hacknot.info   14:43

24 Mar 2007

have u seen an idea even billGates shouldn't hear Mr.Guido ? please read because it's important.

“also it could be disguised as a cancer research stuff should some disassamble its code. the use-free-computer-time type of thing they do on the net.”

article.gmane.org   06:06

02 Jan 2007

weblog.raganwald.com   09:37

26 Dec 2006

Programmer Hierarchy

Ranks programmers by who they consider themselves superior to. Comedy.

hermann-uwe.de   05:44

05 Dec 2006

10 Reasons Why Django kicks Ruby on Rails’ collective ass.

Wherein the author lists 8 reasons (maybe 3 of which are approaching objective or even valid) and also spells Adrian’s name wrong: “Adrian Zolovaty”. Ruby/Python flame-bait is exactly what we need.

predius.org   18:35

30 Nov 2006

Programming Languages are like Women

This guy gets around…

just-humour.blogspot.com   05:59

28 Nov 2006

Shut the fuck up and write some code???

I have no idea … but I’m digging the Kid and TG references ;)

d.hatena.ne.jp   14:20

15 Mar 2006

Coding Tool Is a Text Adventure

But instead of ducking grues and collecting zorkmids, you’re interacting with whatever program code you’re working on, as well as the data and hardware devices that it uses. “It treats the web and APIs as just more objects and places, and is a platform fo

wired.com   08:37

13 Mar 2006

Tour de Babel

the best shit ever

cabochon.com   11:49

04 Feb 2006

artima.com   06:38

18 Jan 2006

Sriram Krishnan : Lisp is sin

All roads lead to Lisp…. eventually… we think. :)

blogs.msdn.com   03:04

04 Jan 2006

djangoproject.com   21:22

09 Nov 2005

What Is TurboGears (Hint: Python-Based Framework for Rapid Web Development)

Really cool to see TG and Kid getting some press on O'Reilly

macdevcenter.com   21:46

27 Sep 2005

expressivity of "idiomatic C"

Best Lambda Thread. Ever.

lambda-the-ultimate.org   08:40

08 Jul 2005

The BuildBot

Let’s build an open / distributed build network.

buildbot.sourceforge.net   02:21

03 Jul 2005

CLR Dynamic languages under the hood (Part 1 of many)

Joel Pobar to dive deep into dynamic language support on Microsoft’s CLR..

blogs.msdn.com   07:38

23 Jun 2005

A Bright, Shiny Service: Sparklines

Joe Gregorio throws together a RESTful web service for generating sparklines.

xml.com   07:22

19 Jun 2005

Dealing with marketing types...

Nice python-list thread with Paul Rubin challenging my ibm-poop-heads article and Andrew Dalke (and quite a few others) champions it. This discussion is worth more than the original article!

mail.python.org   16:44

18 Jun 2005

IT Conversations: Guido van Rossum (Part 2) - Building an Open Source Project and Community

Second part of what looks to be a really kick ass presentation by the BDFL.

itconversations.com   16:37

IT Conversations: Guido van Rossum (part 1) - Building an Open Source Project and Community

Can’t wait to listen to this. Guido talks about how the Python community has grown over the years.

itconversations.com   16:37

15 Jun 2005

The 80-20 problem

This is mostly true in my experience. It’s too bad we had to pick on some nice Python projects to make the point but true is true.

blogs.zdnet.com   22:32

14 Jun 2005

Writing code for others that use it

Damn if I haven’t started writing this post 10 times and stopped because I couldn’t get the point out. Well said, Bill.

dehora.net   12:03

30 May 2005

Anonymous Blocks in Python 2.5?

We really need this, IMO. I’ve noticed that a lot of Ruby libraries use anonymous blocks for resource management like this and it’s hard to argue that its inferior to the try/except model.

python.org   06:46

28 May 2005

dehora.net   05:30

25 May 2005

Python Metadata Importer

A Spotlight Plugin that imports and indexes Python source code. w00t!

apple.com   08:24

22 May 2005

Drowning in the koolaid

“Just remember that the next time you use one of the mainstream languages – many of the "features” were designed with the idea in mind that you, the developer, are a moron."

cincomsmalltalk.com   13:42

17 May 2005

Not Elegant?

Patrick Logan calls bullshit on a BUILDER.COM article on “scripting languages”… Quick list dynamic language misconceptions: inelegant, fragile, unprofessional, only used by monkeys..

patricklogan.blogspot.com   09:20

03 May 2005

Python Challenge

Weird game that uses facets of the web as pieces of riddles. Kind of spooky.

pythonchallenge.com   05:12

29 Apr 2005

Google Search: programming language

How cool is this?

google.com   03:28

13 Apr 2005

Quixote 2.0 Released

and under a GPL compatible license.

mail.mems-exchange.org   09:42

12 Apr 2005

Radical Simplification

Everything I ever wanted to say about the current state of software development in ~50 slides. Thanks, Sam.

intertwingly.net   08:00

06 Apr 2005

Analyst Report: Scripting languages lag in Web services support

That’s because they don’t have shithead analyst speculation driving feature development…

theserverside.com   08:09

05 Apr 2005

IronPython 0.7.1 is released to the world!

Jim Hugunin announces Microsoft’s first official release of IronPython. Let’s be absolutely clear: Microsoft just released a respected free software project.

blogs.msdn.com   17:43

Upcoming changes in Python 1.5

Best c.l.p thread ever: irritating whitespace-based indentation gone, death of for loop, all strings are regular expressions, and WE FINALLYY GET BRACES! (via Hans Nowak)

groups-beta.google.com   05:31

31 Mar 2005

Index of /~twl/conferences/pycon2005

Very organized and thorough notes from PyCon.

sauria.com   03:32

28 Mar 2005

internetnews.com   09:28

25 Mar 2005

Design patterns part II - State

This one is kind of weird but it shows another kick ass capability dynamic languages have: changing and object instance’s class (behavior) at runtime.

fraca7.free.fr   02:47

Design patterns part I - Chain Of Responsibility

Pretty reusable implementation of the Chain Of Responsibility pattern in Python. Very clean.

fraca7.free.fr   02:43

18 Mar 2005

DRM-free iTunes interface "PyMusique" (written in Python)

Looks like this let’s you use iTMS like normal but the files are stripped of DRM on the way down or something. And it’s written in python.

boingboing.net   02:22

16 Mar 2005

brpreiss.com   04:08

15 Mar 2005

Doing Java Without Java

More dynamic language play on the Java front.

blogs.sun.com   16:46

Project Coyote

Tim Bray on the dynamic language push at Sun.

tbray.org   09:31

09 Mar 2005

Programmers' block

Bill de hÓra describes the major flaw in high level languages like Python..

dehora.net   13:14

18 Feb 2005

weblog.hotales.org   20:04

16 Feb 2005

Markdown in Python

An implementation of John Gruber’s markdown text to XHTML processor in Python.

freewisdom.org   08:33

14 Feb 2005

The false promise of template languages

David Hansson (of Ruby on Rails fame) on why codeless template languages don’t work.

loudthinking.com   05:26

03 Feb 2005

Tim Gerla's Blog - Kid

Ahhh, shucks..

specifix.com   08:04

23 Jan 2005

Java get/set - not that harmful

Bill de hÓra challenges some of the points I made in Getters/Setters/Fuxors. Specifically, the getter/setter bloat and IDE comparisons. Some good points here.

dehora.net   15:02

29 Dec 2004

Blue Sky Development

Well written line-of-though writeup on the decision process leading up to a language selection when the sky is blue and you’re building a new app. Hint: Python :)

blueskyonmars.com   16:52

15 Dec 2004

Python Idioms and Efficiency Suggestions

excellent list of python Idioms

jaynes.colorado.edu   08:54

TinyP2P

that’s sick. sick! did you notice he even squeezed a CC license in there?

freedom-to-tinker.com   06:44

13 Dec 2004

Kid on Cafe con Leche

Elliotte Rusty Harold announces Kid to the masses. thanks!

cafeconleche.org   15:13

The present and future value of Python

Udell talk on Python from Summer 2004. He talks about python running on JVM/CLR/Mono towards the end.

udell.roninhouse.com   05:43

10 Dec 2004

awaretek.com   19:26

A Crash Course in Python

Nice intro to Python HTML-based slides. This covers a ton of info in a very small space.

acm.uiuc.edu   16:02

08 Dec 2004

Dynamic Java

Oh Tim, how I love thee. Let me count the ways..

tbray.org   17:45

06 Dec 2004

dirtsimple.org   09:51

Python Vs Ruby

A complete comparison..

c2.com   00:56

05 Dec 2004

a generator-based XML reader

Fredrik Lundh with a super simple technique for incremental parsing with ElementTree. There’s a few limitations but this is probably all that is needed in large portion of cases.

online.effbot.org   08:35

04 Dec 2004

Cross-breeding XSLT and ZPT

Leslie Orchard with some thoughts on Kid. I’ll have to get a post out on exactly what I’m looking to steal from XSLT.

decafbad.com   01:05

02 Dec 2004

Python Is Not Java

I’ve noticed that too. Concepts aren’t portable between the two languages somehow.

dirtsimple.org   21:52

01 Dec 2004

On the Relationship Between Python and Lisp

Paul Prescod rebuttal to Paul Graham on the Python/Lisp connection. Good stuff…

prescod.net   10:39

28 Nov 2004

What's New in Python 2.4

Generator expressions, simpler string substitution, built-in set Objects, function decorators, subprocess module, and much more…

python.org   13:15

23 Nov 2004

The py.test tool and library

This seems to be a bit cleaner and more functional than the standard python unittest module.

codespeak.net   06:33

15 Nov 2004

ZODB/ZEO Programming Guide

I think I’m going to give ZODB a try with my blogging system.

zope.org   15:55

18 Oct 2004

SongWrite

Python based guitar tab editor/viewer.

home.gna.org   02:53

12 Oct 2004

Introduction to Stackless Python

From late 2000, promises of continuations and other niceties. Will probably never make it into Python core though since there’s JVM and CLR Python implementations to worry about now..

onlamp.com   01:27

10 Oct 2004

GadflyB5: SQL Relational Database in Python

Can be run in-process or client/server. Whole database stays in memory. Could be super useful in some situations.

gadfly.sourceforge.net   14:35

06 Oct 2004

Fast, Easy Database Access with Python

Some good ideas here. Would have been nice to fold some of the classes into a module..

devx.com   01:40

04 Oct 2004

linux.duke.edu   10:47

Python Web Modules

where tf did this come from?

pythonweb.org   10:45

29 Sep 2004

mems-exchange.org   14:35

Python Quotations, page 1 of 10

“I prefer (all things being equal) regularity/orthogonality and logical syntax/semantics in a language because there is less to have to remember. (Of course I know all things are NEVER really equal!)”

amk.ca   07:03

28 Sep 2004

Python __special_attributes__

Beware! Danger lies ahead…

python.org   13:13

27 Sep 2004

QuixoteCookbook

Cookbook area of the Quixote Wiki. Lots o' topic specific howto’s.

quixote.ca   15:39

Developing Web Applications with Quixote

Condensed version of everything you need to know about using Quixote. (From PYCON 2004).

python.org   15:29

REST for Quixote

Some code and theory on developing RESTish stuff under Quixote.

rexx.com   14:47

Quixote

Python web framework that rocks.

mems-exchange.org   14:40

12 Sep 2004

Python Built-in Functions

List of built in functions (i.e. non-module) in Python.

python.org   17:07

09 Sep 2004

ModPython Wiki

A wiki…. About mod_python..

modpython.coedit.net   17:41

mod_python - Integrating Python with Apache

Nice article on how mod_python integrates with apache. Goes into significant detail on non-CGI type stuff you might want to do.

modpython.org   16:41

Wrestling HTML

XML.com: Dealing with tagsoup HTML in Python.

xml.com   06:56

08 Sep 2004

slashdot.org   10:39

01 Sep 2004

aspn.activestate.com   10:07

Ruby vs. Python (comp.lang.python)

An honest and objective comparison of Ruby and Python.

groups.google.com   09:45

31 Aug 2004

Scimitar - A Python implementation of ISO Schematron

Uche Ogbuji. Compiles schematron schema to python.

uche.ogbuji.net   13:28

28 Aug 2004

GmailFS - Gmail Filesystem

“..provides a mountable Linux filesystem which uses your Gmail account as its storage medium.” – Maybe I will be able to put these 7 Gmail invites to good use after all.

richard.jones.name   20:21

27 Aug 2004

Python's super Considered Harmful

This is more documentation than I’ve ever seen on super.

ai.mit.edu   17:30

26 Aug 2004

ibiblio.org   14:58

25 Aug 2004

A New Program for the Enterprise

OMFG Python is reaching critical mass.

baselinemag.com   15:51

23 Aug 2004

Backdoor dynamic languages

Ted Leung explores recent developments that seem to suggest that both Sun and Microsoft might be thinking about hijacking Python. If Jython and IronPython grow large followings, the library support has split three ways: Standard Python Libraries, Java Lib

sauria.com   01:18

16 Aug 2004

WebStack

Wish more people would get behind Paul on this one.

boddie.org.uk   13:35

15 Aug 2004

Python Programming FAQ

Frequently asked questions on the Python programming language. I didn’t see “Why does Python rock so hard?”

python.org   06:22

13 Aug 2004

Python 2.3 Quick Reference

80% of what you need to find when coding in Python.

rgruet.free.fr   17:23

The Python Paradox

More Python love from Mr. Paul Graham.

paulgraham.com   01:32

12 Aug 2004

Resistance is Futile

Bill points out the inevitability of the Pythonification of the world.

mnot.net   01:42

09 Aug 2004

itunes2rhythm.py

Python script to convert iTunes xml database to rhythmbox xml database.

blergl.net   13:23

31 Jul 2004

Proper XML Output in Python [xml.com]

On entity substitution and whatnot..

xml.com   22:16

30 Jul 2004

Dark Corners

Most articles beginning with “occasionally I still discover some obscure feature of Python that displays surprising behavior” are usually worth reading.

zephyrfalcon.org   06:25

29 Jul 2004

It's so del.icio.us

Pythonic interface to the del.icio.us REST APIs.

randomthoughts.vandorp.ca   15:24

25 Jul 2004

ibiblio.org   18:25

22 Jul 2004

projects.edgewall.com   20:42

Dive Into Python

will buy..

diveintopython.org   09:43

21 Jul 2004

jamesclarke.info   10:14

20 Jul 2004

Python Types and Objects

Good detail on Python’s new style classes..

cafepy.com   21:38

pyaiml.sourceforge.net   18:26

amk.ca   06:06

planetpython.org   00:43

19 Jul 2004

Python main() functions

Guido, getopt

artima.com   17:23

Truth and beauty

Hmm..

jorendorff.com   16:45

path Python module

A first class path object for Python.

jorendorff.com   16:44