Thursday, July 26, 2018

The PSF Jobs Volunteer Team: Community Service Award Q1 2018 Recipient

The popularity of the Python language has increased exponentially in recent years. Notably, Stack Overflow highlighted Python as the fastest growing major programming language. As Pythonistas, we know why: Python is easy to learn, solves real world problems in a variety of fields, and has an amazingly friendly community.

With its success, companies around the world are using Python to build and improve their products, creating a growing need for people that know – or are willing to learn – the language. Today you can see Python’s popularity reflected in the growing supply of Python-related jobs with a quick internet search. Or you can head over to the the Python official site and look at the Python Jobs board! Created in 2010 as a way to connect developers and companies, the Python Jobs board was relaunched in early 2015 and has since been run by an awesome team of volunteers.

It’s with great pride that the Python Software Foundation has awarded Jon Clements, Melanie Jutras, Rhys Yorke, Martijn Pieters, and Marc-Andre Lemburg with the Q1 2018 Community Service Award:
RESOLVED, that the Python Software Foundation award the Q1 2018 Community Service Award to the following members of the PSF Jobs Volunteer Team for the many hours they have contributed to reviewing and managing the hundreds of job postings submitted on an annual basis: Jon Clements, Melanie Jutras, Rhys Yorke, Martijn Pieters, and Marc-Andre Lemburg.

PSF Jobs Volunteer Team: A Team of Dedicated Volunteers


As a job poster, all you need to do is register on the Python website and create a job posting filling out the required information. Then, the Jobs Volunteer Team will review them one by one against a list of criteria – such as text format, the job description and how it is related to Python. The entry can be automatically published or sent back to its author with a review note. The process may seem simple, but imagine doing that for hundreds of jobs each year - that's a lot of responsibility!

The PSF Jobs Volunteer team has five members, including members Marc Andre and Rhys York.

Marc-Andre is the CEO and founder of eGenix.com, a Python-focused project and consulting company based in Germany. He has a degree in mathematics from the University of Düsseldorf.
His work with Python started in 1994.

As a Python Core Developer, Marc-Andre designed and implemented the Unicode support in Python 2.0, and authored the mx Extensions. He is also the EuroPython Society (EPS) Chair, a Python Software Foundation (PSF) founding Fellow and co-founded a local Python meeting in Düsseldorf (PyDDF). He served on the board of the PSF and EPS for many terms and loves to contribute to the growth of Python wherever he can.

Rhys grew up in a small town in Ontario, Canada where he developed a passion for drawing, writing and technology.

He began working in 1999 on Marvel Comics' Deadpool, and since that time has had the opportunity to work on ThunderCats, G.I. Joe, Battle of the Planets, and a number of exciting properties. He works in the film, television and video game industries - notably on Funcom’s "The Secret World", Drinkbox’s "Tales from Space: About a Blob" and Ubisoft's "FarCry 5".
Rhys recently wrapped on the third season of the science-fiction television series "The Expanse" as well as on the film "Polar". Rhys is also currently working as Art Director at Brown Bags Films on an undisclosed animation project. As if that wasn’t enough, Rhys teaches Python to children and adults as well. Rhys is very passionate about promoting programming literacy.

Engagement, Challenges and the Future of the Python Job Board


Explaining his involvement with the PSF Jobs Volunteer Team, Marc-Andre says,

“I took over the Job Boards project after the previous maintainer, Chris Wither, left the project in 2013. I kickstarted the relaunch project in February 2014 to migrate the old job board to the new platform.  
The project was on hold for several months between August 2014 and January 2015, but then picked up speed again and we were able to relaunch the Job Board on March 19th 2015. 
Since then a team of reviewers has been working hard to keep up with the many job postings we get each day.”

The Jobs Team faced several challenges during the platform redesign, such as managing the project, rethinking the review process, and finding people to help and. Following the relaunch the team faced additional challenges in keeping up with processing all the job posts that were remaining in the backlog.

As for the future of the Team, Rhys wants to continue providing a service to the Python community and Marc-Andre has worked with the PSF to turn the group into a PSF Working Group as of July 24, 2018. This change will enable to group to get more recognition from the PSF and the Python community at large.

How you can get involved


If you want contribute and be a part of the Team, Marc-Andre says:

Today, the job reviews are pretty easy to manage. We have laid out a set of rules which work well and reviews don't take long to do anymore. The process is documented here.

There are still a few rough edges in the system, so if there are Django programmers willing to help, please get in contact with Berker Peksağ and submit Pull Requests for the open issues we have on the tracker.

Rhys adds, “Do it. Even if you have little time, giving back to the community is a rewarding experience.”

Marc-Andre, member of The PSF Jobs Volunteer Team 


Wednesday, July 18, 2018

The Happy Medium: Distinguished Service Award Winner Tim Peters

When Tim Peters started working on Python, his first advice for Guido van Rossum was that programmers want to add ints and floats. From the beginning, Python had both kinds of numbers, just like today, but adding them together then required a cumbersome type-cast. Peters argued that Python should implicitly convert ints to floats, like most other languages, for programmers' sake: "That is a very common operation for anyone who works with floating point numbers," Van Rossum recalls him saying, "so you’ve got to do it this way."

Ever since, Peters has pushed the language in this direction. He insists that Python should be a practical language that caters to the needs of programmers, and he has a knack for guiding design debates to achieve this goal. In recognition of his contributions, the PSF presented Tim Peters with the 2017 Distinguished Service Award.

A Realist Algorithm

"Timsort is Tim's grand opus," says Van Rossum. The algorithm is not only the standard sort for Python; when Java developer Joshua Bloch saw its merit for sorting real-world data, he incorporated it into the Java standard library as well. The genius of Timsort is to recognize how data naturally occurs in everyday programs: it's less likely to be randomly ordered than to be partly ordered, or ordered in reverse. Programmers usually throw such data at a sorting function anyway, and a theoretically elegant algorithm like Quicksort won't recognize the shortcuts it could take to save work. Timsort is designed to recognize such opportunities and deploy efficient tricks for them.

Timsort is optimized for the world not as we imagine it, but as it is. This realism is characteristic of the Python language as a whole. It flows from Van Rossum's taste in design, which Peters distilled into a poem in 1999.

The Zen of Python

It's only 19 lines. But this short list of precepts has influenced the language and the programs written in it profoundly. It is a shared literature for Python programmers, in the same way that most English speakers know certain lines of Shakespeare. Python's designers quote the Zen of Python in PEP debates, and programmers reviewing code in their own Python projects use the Zen to support their opinions.

Guido van Rossum says, "You can use it to motivate a design choice, but it’s not scripture. It can’t be the only reason to choose a particular design. You still have to put your thinking cap on." Just like the Zen Buddhist sayings that inspired it, Peters's text isn't dogma. Indeed, for every commandment the Zen of Python hands down, there is also a joke or a contradiction to remind us to take it lightly.

Core developer Carol Willing summarizes the Zen of Python's message like this: "We're going to meet constraints in a way that makes good common sense first, so you can maintain the code and people can understand the code." It's this commonsense approach that makes Python a joy to use. Willing began coding on a mainframe at Bell Labs when she was in fifth grade in 1976; in all her years as a programmer the most enjoyable have been her years with Python. She says, "Every day I get to use it makes me feel like a kid again." Now, when she teaches Project Jupyter interns each summer, one of her first instructions is to type "import this".

Willing extends Python's Zen to its community, too. She says that "Beautiful is better than ugly" is a good guide for talking with our colleagues. "There’s an ugly way of saying things, and a more respectful, nicer way of saying things. Maybe we should err on the side of being respectful and nice."

A Happy Medium

In Guido van Rossum's estimation, Peters's biggest contribution to the community has been his years of answering questions and guiding debates on the Python mailing list, writing each message precisely and cheerfully. PSF director Thomas Wouters agrees: "Tim is just never flustered. He always takes it in good humor and it definitely has an effect on everyone else, as well." Even an experienced developer like Carol Willing says that when she sees a post from Peters on a topic she knows, she'll take the time to read it for new insights or new ways of explaining.

In design debates, Peters invented a notion of "channeling Guido" to free Van Rossum from the overflow of emails. He claimed to act like a spirit medium speaking with Van Rossum's voice, but this understates Peters's influence. "He was a mentor for me," says Van Rossum. "He combines incredible technical skills with insight into what the person he's communicating with is missing or needs to see, with a patient way of explaining. He showed me that style of communicating which I strive for but can't always do."

Recently, in the wake of contentious debate over the ":=" operator, Guido van Rossum resigned as BDFL. Tim Peters, too, is less active on Python mailing lists than before. The Python community can no longer rely on one individual and his channeler for guidance. As Brett Cannon wrote, "a key asset that Guido has provided for us as a BDFL is consistency in design/taste." As a summary of Van Rossum's thinking, the Zen of Python is now more important than ever.



Images: Utagawa Kuniyoshi (1797-1861), 108 Heroes of the Popular Suikoden.