This post has been brewing for a long time, but the last entry on Ian Biking's blog,
Saying Goodbye to Python, made me sit down and write it. It’s rather personal, and probably not very interesting, but for me it’s important that it be preserved somewhere.
It's pretty easy to forget about all those people who made you who you are now, often without even knowing it. In a few days, Python and I will be together for 10 years. I don’t remember exactly the day when I first downloaded the Python interpreter, but thanks to my active Internet life, you can compile a list of past achievements from a certain point.
Python technical communities and me
I owe a lot to online communities and people I met on the Internet. When I was about thirteen years old, I bought two books on programming. A book on Delphi, and a book about Python. The latter was called “Python für Kids”, the author was Gregor Lingle, and it was intended to teach children. Without this book, my life would be completely different, and I could end up as a Delphi programmer.
Thanks to this book, I entered the German Python forum, and the forum in turn opened my eyes to the fact that people actually use Linux for some real things. The former administrator of this forum recommended that I take a look at the fresh Ubuntu Linux in case I want to play around with anything. This administrator was Fritz Tsizmarov aka Dookie, who, unfortunately, died in 2005.
')
At first, I did not touch Python, but thanks to the book and the recommendation, Fritz became a Ubuntu user. This was a few months after the release of the first version. I found a community of German users
ubuntuusers.de , which just appeared. Since at that time I was already a little versed in PHP, I volunteered to help with installing phpBB in order to slightly improve the appearance and add a news section. Sascha Morr entrusted me with access to the heart of the site, and from 2004 to 2007 I spent an incredible amount of time trying to improve it.
I learned a lot during the support of ubuntuusers. At the beginning, I changed PHP scripts by uploading files via FTP. Later I started editing them already in vim right on the server using SSH. I learned about SQL injection and proper software development, learning from my mistakes. I owe a lot to my knowledge of Matthias Urlichs, who provided us with a server. It was a great success to get into this crowd. At the beginning of my work on ubuntuusers there were only a few hundred people. Initially, we were located on PHP hosting, then we started several servers and started working on them together with the French Ubuntu team.
Before I stopped working on this site, we and the web development team rewrote almost completely phpBB and MoinMoin, not to mention half a dozen small things, in Python. Pocoo was conceived as an attempt to write a replacement for phpBB in Python (specifically for this site). While working on it, I constantly learned so many new things that I had to start over again several times. In the end, ubuntuusers ended up on a custom forum engine, with custom wikis and a blog aggregator. We added XMPP-based notification support, and a few other things that taught me a lot about network programming and programming in general.
Most of the people with whom I spoke while working on ubuntuusers, I only knew on the Internet. I did not even know the real names of many of them.
Running around
I have been in the python community longer than I have been in the Ubuntu community, and the experience with the Ubuntu community has given me an important lesson: you shouldn't get attached to communities too much.
I loved everything about Ubuntu. I enjoyed making my contribution. When my wallpaper was selected for distribution on a CD, I was the happiest guy in the world.
However, over time, it became clear that this is not a community with which I would like to be close for a long time. It behaved in many ways not the way I liked. Much of Canonical’s domestic politics and philosophy changed in ways that I personally could not support.
Thanks to Alexander Schremer, from the German Python IRC channel, I met Georg Brandl, who was then the core contributor to Python. I learned about programming from George even more than when I was working with ubuntuusers. He showed me how to extend the CPython interpreter with new keywords, and explained how C. works.
I began to invest less in Ubuntu and ubuntuusers, focusing on Python. Georg and I started working on Pygments (nee Pykleur) to replace PHP syntax highlighting tools.
At some point in our small #pocoo channel (which was created during the attempt to create the forum engine), we decided to switch to English, as the number of people increased to 10.
I still have the IRC logs of those years, and it was very exciting to go back and see how much has changed. How much I have changed, how everything around me has changed.
#pocoo is still available, and several hundred people communicate around it around the clock.
There were many other people who made a lasting impact on me. I have learned a lot from Marek Kubica from the German python forums. He and a few other people from the German Python-community were the first ones I met personally after meeting on the Internet.
Grown up online
When a teenager grows up, he needs some kind of environment, but he is not sure which one. For me, the search took a long time. I was constantly trying to fit in at least somewhere. First, Python and Ubuntu, then Ruby, PHP, and other things.
Sometimes there are people in the community you want to match. When I played with Ruby, I met Cornelius Kalnbach and Christian Neukirchen. Cornelius wrote CodeRay, the first syntax highlighting tool I saw, which almost correctly highlighted Ruby code. At the beginning of work on Pygments, we were competing to better highlight Ruby code.
When I was upset that WSGI was not receiving enough attention in the python community, I became interested in Ruby again, starting work on my microframe and giving Rack, the WSGI specification for Ruby, created by Christian, a terrible logo (which is still used!) .
I worked on PHP for a while, starting to port Jinja, which ultimately led to the emergence of Twig, which people still use.
But wherever I was distracted, I always returned to the python for a month or two. Something about him was special.
Python people
They are the main reason for writing this post. I wouldn’t become what I’d become if there weren’t so many incredible people in the Python community. I have already mentioned Georg Brandl, who was my mentor, but there are still many others.
Ian Bicking was my motivator. I read every post on his blog and pestered IRC many times to learn something new. Thanks to Jacob Kaplan-Moss, I began speaking at conferences. I got to EuroDjangoCon in Prague in 2009, and after one of the reports I approached him to ask a few questions. On the same day, he invited me to make a report on what I was doing at DjangoCon. And after a few months I updated my passport and flew to the US for the first time to give a presentation about not using Django on DjangoCon.
On two DjangoCons in Portland, I met Mike Malone (presumably from Pounce), Adam Lowry and Michael Richardson from Urban Airship for the first time. Jason Kirtland was also from Idealist. Meeting with all these people inspired me a lot. It was incredible to meet someone who uses your development, even if only a little bit.
There have been a lot of great discussions about technology and the world with Python developers, and it was almost impossible to imagine that all this really happened.
In the period from 2009 to the present, thanks to the Python community, I received many opportunities to visit other countries, share experiences and gain new knowledge. I have good memories of drunken nights with Jesse Noller spent talking about Python 3 (yes, before it was cool) at PyCon US; or talk about God and peace with Honza Kral until the morning in the Berlin bar on djangocon.eu.
I met Maciej Fijałkowski for the first time at a practically exclusive Polish conference somewhere on the border with the Czech Republic. Despite the fact that the conference was
'in the middle of nowhere' , I got a lot of pleasure.
I can't count the number of amazing intersections with Python People at various conferences. I was in Ukraine, Poland, Japan, US, Italy, Czech Republic, UK, South Africa, Holland, Israel, and Russia just for conferences or people associated with Python.
I celebrated the last three birthdays at a conference in Groningen (which is no longer so small) with a bunch of great people.
There are a lot of unmentioned people left who have strongly influenced me and who are somehow connected to the Python community: Simon Willison, David Cramer, Adam Hitchcock, Michelle Rowley, Carl Meyer, Leah Culver, Eric Holscher, Alex Gaynor, Adrian Holovaty, Nick Coghlan, Graham Dumpleton, Łukasz Langa, Simon Cross, Chris McDonough, Ned Batchelder (which inadvertently gave me an important life lesson), Guido van Rossum, Chad Whitacre, Mike Bayer, Eric Florenzano, Michael Foord, Idan Gazit, Jannis Leidl, Stevedene , Michael Trier, Lynn Root, Tyler Šiprová, Hynek Schlawack, Daniel and Audrey Roy Greenfeld, Kenneth Reitz, Glyph Lefkowitz, Amir Salihefendic, Holger Krekel and, most likely, someone else who took off from his head.
Community vs. Technology
I will always feel a strong attachment to the community around Python. And this is interesting, because I feel that I am investing in Python now much less than a few years ago.
I still use python in my daily work, and I will continue to work on my projects and go to conferences, but I fully imagine myself busy with something else after a few years. But by itself, I will be grateful to this community, and at the moment I find it hard to believe that I will ever feel the same strong affection for another community of programmers.
Until recently, the python-community was practically devoid of contradictions and was (and continues to be) an excellent starting point for starting to get acquainted with software development and Open Source.
I have heard from many people that they feel at home in Python-society and continue to associate themselves with it even when they switch to developing on Go or JavaScript or simply using this language to a lesser extent or for other purposes.
However, for me the separation of community and technology is important.
I love this community and everything that it has done for me, but the more I program, the more I find imperfections in some technologies, which, moreover, sometimes develop in different ways. I still love most of the ideas and concepts of python, but I begin to appreciate other programming concepts. Who knows what I will do in ten years, but I will always appreciate this community, even if the technologies I use will no longer include Python.
Past and future
So, ten years of my connection with Python will soon pass, ten years of dating with wonderful people, many of whom have influenced me. I hope that the community will not change much and will remain by obtaining the same opportunities for many.
And most importantly: I hope I can give something. Most likely, I will no longer have a chance to return something in return to the people who influenced me, but I can always try to influence the next generations of programmers.