Thursday, August 25, 2016

PyCon APAC - Bringing us together

Two weekends ago I was lucky enough to get the chance to attend PyCon APAC 2016. This year the event was held in Seoul, South Korea at the COEX Convention Center within the Gangnam-gu district. PyCon APAC 2016 brought 1,500 Pythonistas together and it was organized by the PyCon Korea team. This was a very special trip for me as it was my first trip to Asia. The first day while we were figuring out the public transportation system, I did experience some brief challenges.


However, the following days at the conference settled my disorientation. Through this process, I realized that the same Python community qualities existed in South Korea as they do everywhere else in the world. We all may not have been able to communicate verbally, but the openness of the community still prevailed. The locals were welcoming, inclusive, and took the time to teach us Korean customs and culture. More than that, PyCon APAC 2016 stressed diversity of nationality and gender. One great way that the conference made everyone feel like they were part of the community was this sign that comprised all the names of the people who had pre-registered for the conference.



This meaningful sign had such a positive impact on the attendees as it acted as a constant reminder. I enjoyed watching attendees find their names in the sign, and all of the tweets that followed.

Through experiencing PyCon APAC, I also learned that the organizers spend a great deal of effort making their community strong and open. At the conference I was invited to attend the PyCon APAC organizers' meetings. During this meeting, the organizers addressed important questions such as "Do we continue PyCon APAC even though many APAC countries organize their own PyCon?" and "How do we continue to increase diversity?" It was decided during the meeting that the purpose of PyCon APAC goes beyond regional conferences and should continue. It helps build diversity and brings forth positive influences from other parts of the world. The organizers decided that each location should attempt to have a small portion of their budget set aside to send some of their community members to other “Indo-Asia-Pacific” regional conferences, especially the yearly APAC conference itself. Hearing how the team of organizers valued such questions and discussions showed me that they valued our community and that is one reason why their conferences are so successful.



Beyond community importance, the conference brought us together to discuss core Python development. Some of the questions I heard at the PSF booth were, "When will Python 2.7.x stop being supported?" and "What will happen to those of us that use 2.7.x in a corporate setting?" Their questions were based on PEP 373 and PEP 494, and their worries were relevant ones. Many think that Python 3.5.x still needs a lot more work before developers no longer need Python 2. Those questions are hard, and no one has an absolute answer, no matter how strong their beliefs. But our discussions led to how we all need to work on making Python 3.x better, since it is the future of the language. We discussed the need to port packages from Python 2 to 3, and the need for corporate support.



Regardless of the PyCon 2 vs Python 3 debate, the attendees were excited to get coding during the PyCon APAC Sprints. This was the first time the PyCon Korea team held sprints, and they did not know how many sprinters to expect. They were overwhelmed when that day came and they had to book additional space to accommodate everyone. As an organizer, I can tell you that this is a good problem to have, especially when the organizers react properly and swiftly.


During the Sprints/Tutorial day, Pythonistas attended a sprint about Pandas & PyData led by one of the creators of the pandas project, Wes McKinney. The picture above shows hands-on learning at the tutorial for DjangoCupcake. Others attended sessions about the Django Rest Framework, Write the Docs, Tox, Travis, and aiohttp led by Andrew Svetlov, a core Python developer.

Establishing connections with Pythonistas from the APAC region and beyond made the long flights to and from Seoul worth every minute. I hope to attend future PyCon APACs and reconnect with all the wonderful people I met during the conference. Thank you, organizers and attendees, for a memorable conference!


Monday, August 22, 2016

"In the beginning, there was one Python group": Community Service Award Recipient Stéphane Wirtel

In the beginning, there was one Python group in Charleroi, the P3B (Python Blanc Bleu Belge)”, Stéphane Wirtel recalls. This first Python group was led by Denis Frère and Olivier Laurent. Together with Aragne, the first company using Python in Belgium, and Marc-Andre Lemburg the P3B helped organize the inaugural EuroPython in 2002. Over the years, however, the P3B disbanded. “Other groups have organized some events for the Belgian community”, Wirtel adds. These groups, however, have faced some of the organizing challenges as the P3B.


As a Python user of 15 years, Wirtel contemplated what would be the best way to sustainably build the Belgian Python community. He originally wanted to organize the first PyCon in Belgium but eventually decided to invest his energies elsewhere. Ludovic Gasc, Fabien Benetou and Wirtel began by hosting Python events in Brussels and Charleroi.


The Python Software Foundation has awarded Wirtel in the second quarter of 2016 with a Community Service Award in recognition for his work organizing a Python User Group in Belgium, for his continued work creating marketing material for the PSF, for his continued outreach efforts with spreading the PSF's mission.


IMG_0137.JPG


Outreach at PythonFOSDEM and Building a New Python Belgium Community


“FOSDEM is one of the most important events in the European development community with over 5,000 attendees participating in a weekend event” Wirtel explains. The importance of FOSDEM led Wirtel and Gasc to create the first PythonFOSDEM.


Since 2013 Wirtel has organized the PythonFOSDEM devroom, expanding the room from 80 participants in 2013 to well over 400 participants in 2016. Benetou, who volunteered in the FOSDEM 2016 Python devroom, remembers the excitement in the room explaining that the room was filled within five minutes of opening.



With the growth of the PythonFOSDEM devroom and the return of AFPyro-BE, led by Ludovic Gasc, Wirtel has been focusing efforts on building the belgium@python.org mailing list and registering a Belgian Python website. “Stéphane continues to challenge us to organize bigger and bigger events”, Gasc comments on Wirtel. His continued work promoting Python in Belgium is helping provide the building blocks for a new Python community in Belgium.


Python Software Foundation Marketing Work Group


As a member of the PSF marketing work group, Wirtel is an ongoing voice in the discussion and creation of PSF marketing materials. Wirtel helped with flyer development and distribution for  PythonFOSDEM 2015, PyCon North America 2015 and PyCon Ireland 2015.


Inspiring new CPython contributors at EuroPython 2016


Wirtel spoke at EuroPython this year on the topic of CPython. His talk, titled “Exploring our Python Interpreter”, outlined the basics of how the Python interpreter works. Of notable importance Wirtel framed his talk for CPython novices, pointing out documentation on where to get started and resources for how to find CPython core mentors. Wirtel also pointed to a CPython patch he recently submitted for the __ltrace__ feature. With his patch you can compile Python to easily show the Python bytecode generated, a significant suggestion for beginners to be able to play with in the Python interpreter. Here is an example of his feature in action:


>>> __ltrace__ = None  # To enable tracing
>>> print("hello")     # Now, shows bytecodes run
0: LOAD_NAME, 0
push <built-in function print>
2: LOAD_CONST, 0
push 'hello'
4: CALL_FUNCTION, 1
ext_pop 'hello'
hello
ext_pop <built-in function print>
push None
6: PRINT_EXPR
pop None
8: LOAD_CONST, 1
push None
10: RETURN_VALUE
pop None


Some of Wirtel’s other projects includes working as a former core developer of Odoo from 2008 to 2014, an open source enterprise resource planner which is built with PostgreSQL and CPython. He has contributed to Gunicorn and is working to contribute more to CPython. Wirtel is also a member of the EuroPython Society and the Association Francophone de Python (AFPy) as well as a PSF Fellow. Wirtel has supported EuroPython the last two years as a volunteer and as a working group member too.

Wirtel’s passion for bringing new Pythonistas into the fold, be it through the creation and continued organizing of the PythonFOSDEM Devroom or the proliferation of CPython knowledge and tools particularly suited for the beginner, is profound. As he noted in his EuroPython 2016 talk, he was completely new to CPython at the 2014 PyCon North America at Montreal! “Simply put Wirtel is the type of person who gets things done” Benetou says, adding that “these are the type of people that inspire me, that I like”.

Thursday, August 11, 2016

The Python Software Foundation is seeking a blogger!

Interview prominent Pythonistas, connect with the community, expand your circle of friends and learn about events in the Python world!


The Python Software Foundation (PSF) is seeking a blogger to contribute to the PSF blog located at http://pyfound.blogspot.com/. As a PSF blogger you will work with the PSF Communication Officers to brainstorm blog content, communicate activities, and provide updates on content progression. Example of content includes PSF community service awardee profiles, details about global Python events and PSF grants, or recent goings-on within the PSF itself. One goal of the 2016 - 2017 PSF Board of Directors is to increase transparency around PSF activities by curating more frequent blog content.


The Python Software Foundation is a 501(c)(3) non-profit corporation that holds the intellectual property rights behind the Python programming language. We also run the North American PyCon conference annually, support other Python conferences/workshops around the world, and fund Python related development with our grants program. To see more info on our grants program, please read: https://www.python.org/psf/grants/.


Job Description
----------------------------
  • Capacity to contribute one to two blog posts per month
  • Passionate about Python and the global Python community
  • Independently report progress and activities to Python Software Foundation Staff and Communication Officers on a monthly basis
  • Actively brainstorm content ideas for blog content individually as well as with Python Software Foundation Staff and Communication Officers


Needed Experience
----------------------------
  • Ability to work independently and on virtual teams
  • Familiarity with Python programming
  • Experience contributing to a technical blog or website


Bloggers for the Python Software Foundation receive a fixed fee per post they produce.

To apply please email two to three examples of recent articles (e.g. personal blog, contribution to professional publication) as well as a brief account of your writing experience to psf-blog@python.org. If you have questions, direct them to psf-blog@python.org as well. UPDATE: The Python Software Foundation will be accepting applications until 11:59:59pm Pacific Standard Time Thursday, August 25th, 2016.

Tuesday, August 02, 2016

"Avoiding the Curse of Knowledge": Community Service Award Recipient Ned Batchelder

Ned Batchelder didn't mean to get himself nominated for an award. He'd simply encouraged his Twitter followers to "nominate someone who made a difference for a PSF Community Service Award." A friend who saw his tweet thought, "You know, the person who best exemplifies the community spirit and community service of Python is Ned."

In the second quarter of 2016, the Python Software Foundation recognized Batchelder with a Community Service Award for his tireless work helping run the Boston Python user group, being a regular speaker at conferences, maintaining coverage.py, and being a friendly face for the community on IRC and elsewhere.

Coverage.py and ByteRun

Batchelder maintains coverage.py, a tool for measuring Python programs' code coverage. It monitors a program under test, to report which lines of source are executed and which are not. Coverage.py fills a vital niche in the Python ecosystem, ensuring our code is thoroughly tested, and Batchelder has developed it for well over a decade.

As an offshoot of his coverage.py work, Batchelder began experimenting with a project called ByteRun in 2013. His most prominent contributor is Allison Kaptur, who wrote a chapter on the project for The Architecture of Open Source Applications. "ByteRun is a Python interpreter written in Python," she says. "It’s not like a real one. It does now run most Python code that you throw at it, but Ned's original motivation was to explore instruction-level coverage for coverage.py. There are lots of cases where line-level coverage does not give the whole picture; he wanted to see if he could do better. That was his motivation, but I joined the project because I have an inexplicable love of byte code that I cannot justify."

Kaptur loved working on a codebase with Batchelder—despite his long experience, he is patient with contributors and enthusiastic about their work. When she reported a significant bug in his implementation of stack frames and scopes in ByteRun, he celebrated the discovery. "Wow, this is amazing! I'm humbled to learn that I had the data stack wrong."

Boston Python User Group

When Batchelder first attended the Boston Python User Group a decade ago it was already going strong. The group draws from Boston's big tech community, and it meets in Cambridge's Kendall Square, the epicenter of the tech industry there.

Under Batchelder's leadership the group has grown to over 6000 members. It was for this achievement that his friend and colleague David Baumgold, when he read Batchelder's tweet, nominated him for a Community Service Award. Baumgold says, "He is very, very good at getting people to open up about what they’re working on. He calls it pulling lightning talks out of people. He says, 'If you don’t think you have a lightning talk in you, come and talk to me. In five minutes I'll find your lightning talk.'"

Jessica McKellar, too, helped cultivate Boston Python for several years. Batchelder admits, "I’m not great at bringing in other organizers and giving them lots of control. But she was a big help in creating new events for the group." The workshops for women that McKellar started unlocked a pent-up demand in the area. McKellar created a follow-up event, the monthly Project Night, where workshop participants could advance further. Batchelder says, "On project nights people come and do what they want to do. When you run one of those every month, you get a consistent rhythm going and people continue to show up."

Another reason for the group's size is Batchelder's stick–to–itiveness. Organizing events for seven years and more isn't easy. There are nights he asks himself, "Really? I’m going to Boston Python again? That’s what I’m doing tonight?"

But it's worth it: helping people use computers, for Batchelder, is as fun as using computers himself. Even better is when he connects a newcomer to a project or person that provides precisely what they need. "When I can do that, I think—wow, I really nailed it. That was a good night."

PyCon Talks

When PyCon's call for proposals opens each year, Batchelder considers what question he's heard most often that year, and tries to come up with a "very good answer" that is the core of a PyCon talk.

But how does he compose the best answer he can?

"There’s all these topics that lead to each other in a dense graph, but I'm going to have to linearize it and speak one sentence after the other for 25 minutes." To trim that tree of knowledge to its trunk, Batchelder seeks the principles that lead from the question to the solution. "I try to lay bare the mechanisms that link them together."

His Unicode Sandwich talk in 2012, for example, distilled a painfully complex question into a simple answer. Programmers can handle Unicode correctly in their apps with his three concise tips. And his talk on looping and iteration in Python covers topics so fundamental that most Python programmers couldn't explain them much better than a mole could explain digging. David Baumgold says, "Ned is very good at avoiding the curse of knowledge. He's simultaneously very knowledgeable and also very accessible to beginners."

Juggling

Ewa Jodlowska, the PSF Director of Operations, says that every Python programmer she meets has a hidden talent. She was sitting at a table with Batchelder at PyCon Montréal last year when he picked up a few pieces of fruit and juggled them.

Batchelder has been juggling for so long he cannot remember how he first learned; perhaps from his father. Naturally, he teaches it too. At his workplace, Open edX, "There’s a bunch of people who learned how to juggle because they saw all the props on my desk. Whenever we have company outings there always kids that want to learn."

At PyCon this year he held an Open Space for juggling. Jodlowska recalls it was so popular it spilled out of the room. Batchelder stood in the hallway juggling his pins, while the crowd surrounding him cheered him on.

Photo by Max Batchelder