Re: About the psycopg2 name

From: Mike Bayer <mike_mp(at)zzzcomputing(dot)com>
To: Federico Di Gregorio <fog(at)dndg(dot)it>
Cc: psycopg(at)lists(dot)postgresql(dot)org
Subject: Re: About the psycopg2 name
Date: 2018-02-27 19:44:24
Message-ID: CA+RjkXFL6Jy7actUy+S=dGfjpuD_jpUYYofGpON+1Nq9S2Y75w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: psycopg

On Tue, Feb 27, 2018 at 8:44 AM, Federico Di Gregorio <fog(at)dndg(dot)it> wrote:
> On 24/02/18 18:20, Joe Abbate wrote:
>>
>> On 24/02/18 11:29, Karsten Hilbert wrote:
>>>
>>> On Sat, Feb 24, 2018 at 11:27:22AM -0500, Reuben Rissler wrote:
>>>
>>>> Does anybody know the history behind the psycopg2 name?
>>>
>>>
>>> The 2 was added after a major rewrite, for what that's worth :-)
>>
>>
>> IIRC Federico Di Gregorio (who should know the story behind the name) was
>> a psychology major (just kidding :-).
>
>
> Ah ah, no. At the time I was just fresh out of university (biophysics) and
> working for a "free software" company during the dot.com bubble.
>
> Like always, the name was a joke, and a badly worded one. At the time, all
> PostgreSQL Python drivers were pure s**t and my company gave to two interns
> the job to write a new driver. They produced s**t^2 by writing first a
> server that connected to PostgreSQL using libpq and then a Python client
> that was supposed to connect to the server and pass through it all the SQL
> for the backend. After a couple of month the whole thing still didn't work:
> the worse bug was that for apparently no reason it opened connections to the
> backend like _crazy_.

today we call this PGBouncer :)

>
> So, in about a weekend I wrote the core of psycopg 1, just to demonstrate
> that you can write something that works without over-engineering it. I
> wanted to call it psychopg (a reference to their psychotic driver) but I
> typed the name wrong.

I always thought it was related to Psyco
(http://psyco.sourceforge.net/), like you tried using that at first or
something like that.

>
> Fast forward a couple of week: psycopg 1 is much better than anything else
> (that says a lot about the state of the other drivers) and we have our first
> adopter outside the company[1] :)
>
> And the name just stuck.
>
> To be honest, we later decided that the name was ok, given that, at the
> time, psycopg was the only driver able to support multi-threaded Python
> applications without dying an horrible death. Something along the lines that
> the driver should be a bit "psycho" to manage all the threads. Or something
> like that.
>
> federico
>
> [1] If you're curious about that, just have a look at the docs/SUCCESS file
> in the source distribution. Is a gathering of the email we received after
> checking with the users if a particularly nasty bug was gone and asking for
> success stories while preparing the 1.0 release back in 2001.
>
> --
> Federico Di Gregorio federico(dot)digregorio(at)dndg(dot)it
> DNDG srl http://dndg.it
> I porcellini di terra sono davvero Crostacei! Non lo sapevo!
> Certo che sono crostacei, hanno la crosta!
> Allora la pizza è un crostaceo?! -- discorso all'ESC2k07
>

In response to

Browse psycopg by date

  From Date Subject
Next Message Joe Abbate 2018-03-26 23:11:55 BC date getting misinterpreted?
Previous Message Federico Di Gregorio 2018-02-27 13:44:29 Re: About the psycopg2 name