PyCon Zim 2017
I had the priviledge of attending PyCon Zimbabwe two weeks ago. This was my very first language conference.
PyCon is a conference for the Python programming community. In Zimbabwe, it was held from the 23rd to the 26th of August 2017. This year’s PyCon was the second one in Zimbabwe and its goal was to bring together students, professionals, experts and enthusiasts who are passionate about the Python Programming language. The conference was held in the capital Harare at the beautiful ZESA National Training Center and it was sponsored by The Django Foundation, the Python Software Foundation, Github, Nexmo, Fuzzy Brains, PyCharm, Python Anywhere and individual sponsors. Not bad for a second conference!
The first day of the conference was dedicated to workshops and it coincided with a Django Girls workshop at the same venue. The room that the Django Girls workshop was conducted in was more colourful than the one for PyCon. Django Girls had lot’s of swag that we didn’t get. From what I heard from the people who attended the Django Girls workshop, it was a very successful event. The Django girls built a blog. Four workshops were hosted on the first day, namely the Django Girls workshop, another Django workshop on how to add thumbnails and dynamic captions to Django applications, an Intro to game programming using Pygame and a workshop that I facilitated on how to use Python to work with Spreadsheets.
The second Django workshop was led by Irene Nandutu from Uganda. Irene ran participants through how to setup a virtual environment, installing Django and building a simple Photo gallery-like web application. many of the people in Irene Nandutu’s room were new to Python so getting started wasn’t easy because a lot of time was spent setting up virtual environments and fiddling with python 2/ python 3 errors. Some people in the room had never heard of virtualenv before and most were on Python 2 whilst Irene’s examples were in Python 3. What came as a surprise to me was that setting up a virtual environment in Windows is slightly harder than on Linux. This could be in part to me not being used to using the Windows command prompt, it is very different from the bash shell I’m used to. In the end, everyone got their virtualenvs working and Irene walked us through how to build an application.
The next workshop was by Fyeidale Edmond on game programming. Fyeidale Edmond and I are both from the same city(Bulawayo) so it was great to see someone from home giving a talk on such an interesting subject. Fyeidale’s talk introduced everyone to Pygame; a cross platform set of modules for writing video games. In this workshop, we got to see Fyeidale take us through the steps required to build a game from start to finish.
This, in my opinion was the most interesting workshop/talk I attended because I watched Fyeidale build an adventure shooter game in front of a live audience and I also got to play the game at the end of the day. His talk focused mostly on 2D games and covered everything from getting the right libraries to designing maps and worlds, the mathematics and physics involved in giving objects life-like movement, gravity, making effects like explosions and ripples right down to how to package games as executables. I really enjoyed this workshop.
The last workshop of the day was by yours truly and it was on how to manipulate Excel spreadsheets using Python and openpyxl. I basically took my blog post on the subject and turned it into a live demo. I felt that my presentation came as an anticlimax for the audience since it came after a workshop on building games. Excel documents play an important role in business and It was important that I gave that talk. It is my hope that knowing how to work with excel using computer programs will help everyone who heard my talk become more efficient and productive in their work.
The second day of the conference was dedicated to shorter talks and Keynote addresses. There were a total of 20 talks scheduled but unfortunately some of the speakers didn’t make it and so their talks had to be cancelled.
Loek van Gent from the Netherlands gave the keynote address entitled “So this idea of yours…” that detailed the wonderful adventure of becoming a coder. This was a non-technical talk about Loek’s travels, fascination with the Rubik’s cube and music. Loek shared lessons he learned along the way and how they can be applied to learning software development.
The next talk after that was by Jabulani Chibaya on “How to develop a data driven culture”. This talk was packed with lot’s of information on why businesses need data for decision making and how they can go about collecting, analysing and using data to drive decisions.
Marlene Mhangami, a board member of the Python Software Foundation and also co-founder and director of Purple Lipstick, a Zimbabwean non-profit organization that empowers young women to reach their full potential, gave a talk on ZimboPy, an after school coding program for girls in under-served communities. Marlene talked about the work ZimboPy has done and the challenges they had to overcome.
What stood out to me in her talk is that there are still a lot of people who have never used, let alone programmed a computer before. A lot more work needs to be done in Zimbabwe to get the youth to be computer literate.
Lloyd Napata gave the next talk on how Python can be used in GIS applications. I didn’t hear much of his talk because I was getting ready to give a talk as well at around the same time.
“Avoiding a bad date and having a good time” was the title of Wendinoda Washaya’s talk on handling dates in programming. Wendinoda gave solid advice on how to deal with common date time issues like inconsistent date and time formats, date arithmetic and dealing with time zones. In his talk, he encouraged developers to use libraries like dateutil and pytz. If you’re interested in learning more what Wendinoda had to say about dates, visit his blog post:
The next talk was given by me and was titled “How to send desktop notifications in Linux from Python Scripts”. This was a short talk about how to allow execution of GUI dialog boxes from shell scripts and also how to send notifications to the desktop using a Linux utility called notify-send.
After my talk we had a fantastic two course lunch where I got to meet and talk to many of the PyCon delegates. This was the highlight of my day.
The first afternoon talk was by Gerald Muchenje on how the Python community in Zimbabwe can be a force for good through entrepreneurship.
After that we heard “The Next Big Thing in Technology with Python — Lets get serious with AI” by Achim Munene a developer and student at the Harare Institute of Technology. Achim’s talk touched on what AI is, why it matters and why Python is one of the languages that are best suited to build AI applications.
Alison Mukoma, a web developer from Zambia gave a very opinionated talk on why Django is superior to web2py and other micro-frameworks. I enjoyed listening to this talk, Alison had a lot of good facts about what made Django better and how using Django has made him a more productive developer.
Tendai Marengereke, a lecturer at the Harare Institute of Technology gave a talk on Python’s adoption in Higher education within Zimbabwe. A recent survey carried out by TechZim showed that Python is one of the top 5 languages used in Zimbabwe and Tendai’s talk basically confirmed this. Tendai shared with everyone how Python has slowly crept into University curriculum and the challenges that educators face when they plan to introduce a language like Python to their syllabi. Python’s adoption at university level is promising and some universities now use it as the go to language for their introductory programming classes and some teach Python as a scripting language in security and networking courses.
The last two talks were given by Kundai Gwatidzo and Jose Machava(from Mozambique) on how to work with GitHub and how to deploy Django applications to Heroku.
The last talk of the day was by Jessica Upani from Namibia. Jessica’s talk was on how she has organised conferences and workshops for school going children in Namibia.
Day 3 & 4: Coding Sprints
The third day of the conference was a social day, there were no talks or demos, instead we spent the day getting to know each other and we also went sight seeing around Harare. On the last day of the conference, we went to Muzinda Hub for coding sprints.
The talks and workshops at PyCon were great, but what I enjoyed the most was meeting the people who made Pycon…PyCon. Our community is small, but it is growing and I am happy to be part of the Python Zimbabwe. There was also a raffle at the PyCon and I won a PyCharm license! Other people got a paper back copy of the Two Scoops of Django book.
Our community in this little corner of the globe is small and growing and I am happy to be part of Python Zimbabwe. Thank you to the sponsors, organisers, speakers and everyone else who made this event a success.