Thursday, October 29, 2015

Django Girls Seoul: A Great Success!

One of the greatest joys of being part of the PSF is to hear the success stories our members. Back in July, the PSF sponsored a small Django Girls workshop in Seoul, South Korea with a modest grant of $2000 USD. We’ve recently received a letter from one the organizers, Rachell Calhoun, and I’d like to share it here:
Hello,
I’ll just start by saying I knew nothing of programming or anything tech two years ago. I got inspired by a failed interview to start learning programming and I found some awesome like-minded people that were studying Python. We did so many Python MOOCs, tutorials, Raspberry Pi and even Pygame! This year we started working on web development and along came Django. The core members from this study group (codeforeveryone.co) were inspired by Django Girls to make an event in Seoul. We worked hard to make the event accessible to everyone, translating everything into both English and Korean.
At first we thought it would be a small, simple event of 30 participants, but after the first day we had more than 30 applicants, so we decided to expand it to 70 participants, 26 coaches and five organizers. We tried our best to make it a casual, fun, and motivating experience for all involved.
During the three months leading up to the event, we worked hard at getting sponsors. Because of the PSF sponsorship, we were able to make it a wonderful introductory experience to Python for all the participants as well as some coaches!
We had 425 applicants from 11 different countries, ages ranging from 16 to 50 years old. We chose 70 of the best applications. Some of the participants in the event were able to complete their web blog applications, and some even went on to do the extended Django Girls' tutorials. 
We hope to harness the momentum from Django Girls Seoul participants and coaches to help create a more permanent community where we can all continue to study and teach Python and Django. We’ve started planning a follow-up event in three weeks. Our original group of organizers' philosophy is to learn by doing and master by teaching. So we’d like to continue learning and teaching together, inspiring and connecting like-minded people to create a supportive, welcoming community for all.
Thank you again from everyone that participated in our event.
Rachell Calhoun, Django Girls Seoul Organizer




Photos courtesy of Rachell Calhoun

Since this initial workshop, Rachell and the organizers have made true on their promise to keep going in building their community. They’ve recently held their follow-up event, during which about 35 women, along with 10 new coaches, worked on an extended Django Girls' tutorial. All five original organizers also participated: In addition to Rachell, these are Hassan Abid, a phone app developer, Jin Park, a full-stack developer, Sujin Lee, who works in online education, and Dayoung Park an administrative coordinator. 
According to Rachell, one of the great features of such a community is that the experienced coaches and organizers also learn from teaching and from each other. She believes that her own background as an EFL teacher, along with her perspective as a novice Python programmer, contribute to making these teaching events successful.
Additional events planned for the future include a Django Girls Code Camp taking place every Saturday for two months, and offered free of charge to participants. The intention is to leverage the skill learned in the two months and then apply it to non-profit projects that will benefit the local community and offer the coders more real world experience.
To help us learn more about these and other events planned by this group, Rachell kindly sent along the following links:
I hope you’ll all join me in sending our sincere congratulations and thanks to Rachell, her team of organizers, and all the participants on a wonderful project that is enlarging and enhancing the Python community!
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at msushi@gnosis.cx.

Friday, October 23, 2015

Twisted Trial Ported to Python 3!

Twisted, as many of you know, is an asynchronous, or event driven networking framework written in Python (https://twistedmatrix.com/trac/wiki). Twisted has been around for about a decade, offers many features, including low-level primitives and high-level interfaces, and works with many protocols (including HTTP, XMPP, NNTP, IMAP, SSH, IRC, FTP). 

Twisted Logo
Due to its maturity and complexity, Twisted requires a lot of time and effort to be completely ported to Python 3. Fortunately, the PSF was able to help fund some of this work; one recent result is the release of Twisted 15.4, which includes Twisted’s standard test-runner, Trial (codenamed "Trial by Fire").
The PSF Grant allowed core developer and Twisted release manager,
Amber (HawkOwl) Brown, to port Trial to Python 3. She recently sent the PSF this announcement:
“Just wanting to let you all know that a Twisted with the PSF-funded Trial Py3 port is now released. And a little example of it in action:
https://asciinema.org/a/cthr9xezlt8mxg5dp0n73fzc9. Again, many thanks for accepting the grant proposal – the ability to dedicate a significant chunk of time to this work has meant it was completed well sooner than if the grant had not been accepted.”
Due to certain differences between Python 3 and Python 2 (e.g., removal of ClassType and unbound methods), Amber tells us that the porting of Trial required a rewriting and retesting of the test suite loader. The work is mostly done and the current port duplicates most of Trial’s previous functionality with the exception of its distributed test runner (DistTrialRunner).
Specifically, the PSF grant allowed Amber to perform the following steps:
- Complete and test the Trial unittest loader 
- Fix the remaining failing Trial tests  
- Create a tool which runs only the portions of Twisted that have been ported to Python 3 for use in Twisted development  
- Break up the port into smaller pieces, put them up for review, and address the review comments  
- Merge the reviewed portions
Trial’s features–a front-end, the ability to handle Deferreds and asynchronous tests, and the capacity to build testcase-duration reactors, make testing much easier. The Twisted team will now be able to use Trial for continued Python 3 porting, while users of Twisted will be able to test their codebases more easily as they port them to Python 3. Because of Trial, we can look forward to Twisted 15.5 in the near future (and hope to see more users' code ported to Python 3, as well). As Amber tells us,
"15.5, coming soon, will come with another handful of ported modules, and the twistd application (a daemoniser + plugin runner, the recommended way of spawning long-running Twisted services)."
The PSF sends its gratitude and congratulations to Amber Brown and the Twisted team on this important accomplishment.

To learn more about Twisted, the following websites, video talks, and tutorials are available:
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at msushi@gnosis.cx.

Tuesday, October 20, 2015

BBC’s micro:bit project open-sourced today!

As you may recall, there have been a couple of previous posts to this blog about the BBC’s micro:bit project  (also see PSF newsblog).
The micro:bit is a small, stripped-down, wearable computer (similar to a Raspberry Pi) and based on an nRF51 chip. The educational project, part of a larger UK program called Make it Digital, is designed to inspire children to become digital creators by giving away 1 million micro:bits to all 11 year-old UK schoolchildren this spring.

Today I heard some exciting news about the project from our good friend, Nicholas Tollervey, which I’m happy to pass along here. 
According to Nicholas: 
From the beginning the BBC have said that Python would be one of the possible languages that the device can be programmed in. The PSF is one of around twenty organisations in the project partnership. Since it’s a microcontroller, and the aim is to run Python… well, there’s a pretty obvious answer when trying to combine those two things. 
We’re incredibly pleased to announce that MicroPython runs on the BBC’s micro:bit. Furthermore, all the work done so far is being open-sourced today and the repository can be found here: https://github.com/bbcmicrobit/micropython
Right now only the code related to the MicroPython port is released. When the device is delivered, all the resources needed to recreate the entire project are to be released under an open license. The laudable intention is to provide an unencumbered legacy so others can build upon and adapt the work of the partnership that has created this device. 
To read more details and learn the story of how MicroPython came to be on the micro:bit, check out Nicholas Tollervey’s blog post found here: http://ntoll.org/article/story-micropython-on-microbit
Finally, there is much to be done. The project needs help from people with skill and experience developing for such devices. Could you contribute something to a project that will touch the lives of 1 million children and leave an open legacy that anyone could re-use? If so then please read the above-linked post and head on over to the code repository.
I hope that many of you will take Nicholas up on his request to contribute to this worthwhile project.
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at msushi@gnosis.cx.

Friday, October 02, 2015

Python in Cameroon a Success!

It is always a pleasure to report on the success of PSF funded projects. Recently we’ve heard from Ngangsi Richard about the Python Cameroon initiative. As you may recall, last March the PSF sponsored a one-day workshop in Bamenda, PyCon Cameroonfor the purpose of exposing women and girls to the power of Python programming. This latest project further extends programming accessibility to those previously denied the opportunity.
Python Cameroon  was a month-long intensive course offered in August, free of charge, to beginners, and largely funded by the PSF. According to Ngangsi, Program Coordinator and Instructor, there were 18 students in this first session: three men and fifteen women. An additional ten people could not be accommodated. All were total beginners. As Ngangsi describes them, 
Most of them had no idea about programming. Most of them have never been taught anywhere how to write programs. Some of them were not even familiar with a computer.
Because of this lack of basic computer skills, Ngangsi had to adapt the course to allow students enough time to absorb and practice what they were learning. By the second week, he had settled on a schedule that allotted two days to introducing new material in lectures, two days for the students to practice the exercises, and an extra day for questions and review. 
Ngangsi at the board
Photo credit: Ngangsi Richard 
Additional challenges that had to be contended with included frequent power outages, a too-small classroom that was shared with other groups (resulting in some loss of property), and a shortage of computers and even chairs. Since there was one computer for every two students,  the time needed for exercises and practice was also increased. Ngangsi, as the only instructor, bore the entire burden of preparation and teaching. Those of us who are or who have been teachers know how exhausting full days in the classroom can be. 
But, amazingly, given the obstacles, the students succeeded in learning. Ngangsi taught them many standard introductory topics (including data-types, statements, lists, tuples, variables, and expressions). Of course, some concepts, like functions, proved challenging; still, the students persevered and made it through to the complexities of dictionaries, recursion, classes, modules, and exceptions. 
After the first day of lecture, I saw some improvement. Most of them started figuring how to do some of the basic stuff like writing very simple programs with the Python interpreter.

By the end of the month there were some real successes, including two women Ngangsi mentioned who were writing more complex programs and planning to continue to learn more.
Some of the students
Photo credit: Ngangsi Richard

Ngangsi recently expressed his thanks to the PSF for funding this instruction so that it can be offered to the students free of charge. This fact has surprised and excited the students and has generated a great deal of interest.
Just this week I had another six girls who heard about the program and they came to find out. They were excited about joining, but I had to tell them to wait since we don’t have enough space and resources.
He also reconfirmed his commitment and shared his plans to continue and expand this work.
My vision for this program is to be able to start a new community of women developers from Central Africa using the Python programming language… . With the amount of interest we have already about this course, we should be able to educate 300 girls in two years and possibly even more with Python programming and computer science.
You can see some videos to learn more about this project at: 
And I’m sure that I speak for the entire PSF in sending a big 'congratulations' and 'thank you' to Ngangsi, his students, and everyone involved with this worthwhile project!
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at msushi@gnosis.cx.