Skip to main content

A look at how Caktus Group built PyCon 2015, Libya's SMS voter registration, and more

Each July, the launch of the upcoming year's conference website is a huge moment for the PyCon team and community. It's a beacon to everyone that another PyCon is on the way, and a sign that the various teams that shape the event are already hard at work to prepare for it. For yet another year, we have a beautiful site in front of us: https://us.pycon.org/2015, designed and implemented by long time sponsor Caktus Group.

As with years past, the site is built on Django and Symposion, a conference management framework in use by several conferences in the Python community and otherwise. Caktus' prior involvement with that combination of technologies meant "we were able to concentrate on bug fixes and small features that make a big difference to the conference organizers," according to Rebecca Muraya, Caktus' lead developer on the PyCon 2015 site. Having been around the block with that stack has resulted in a higher quality site, and left more time to spend on the visual aspects of the site.

"One of the few requirements was the design should have color and energy and something that tied to the Palais [des congrès de MontrĂ©al]," Trevor Ray, lead designer, said of our request to include the vibrant colors found inside and out of the venue. Beyond the structure, what happens inside was equally as important to represent in the design, especially the talks - both on stage and in the hallways.


"Fueled by this idea, we focused on creating a design that communicated the idea of diversity, mingling crowds, and the energy you feel while you’re at a truly great conference. We wanted the colors to talk about PyCon, not only the Palais," said Trevor of the flowing snake-like colored ribbon.

Having spent nearly all of my time outside of talks the last few years, I saw this immediately. The free flowing nature of the color stream crossing back on itself, looping around, randomly appearing out of the sides as you scroll down the front page - that's a walk through the halls of PyCon to me. The size, direction, and shape of each color in the ribbon changing represents the different conversations with different groups going in slightly different directions at each step.

"It was both a great challenge and a wonderful opportunity to create a design for PyCon 2015. With the great feedback of the PyCon organizers and the input from the entire Caktus team I think the project has been a great success," said Trevor.

All the while, Caktus has been busy continuing work with iN DEMAND, one of the largest providers of pay-per-view and video on demand services. According to Hao Nguygen, through their work with iN DEMAND they've uploaded 1.3 petabytes of movies into the system. They're also working with the International Rescue Committee, a group which helped over 13 million people affected by humanitarian crises around the world. "Our portfolio really emphasizes projects that are complex and highly scalable since that, for us, is where it gets interesting, where high quality code matters most," says Hao.

One of the most interesting pieces of their portfolio is the work they've done to implement SMS voter registration in Libya. Due to the ubiquity of SMS technology in Libya, where there are 163 cell phone subscriptions per 100 Libyans as of 2013, the government mandated that registration be carried out via SMS.

In order to build the system, Caktus went with RapidSMS, a Django-based SMS framework. "We’ve implemented RapidSMS applications for UNICEF in Rwanda, Malawi, and Zambia," said Tobias McNulty, CEO of Caktus, experience which helped them build the Libyan system that saw 1.5 million registrants across two elections.

Tobias went on to mention how political instability raised the stakes not only for delivery of the project within time and budget constraints, but how that instability led to the need for a system that
didn't rely on in-person registration. A Caktus case study mentioned 78 in-person registration stations having been forcibly closed by violence in December 2013, among the many reasons why an SMS system was needed by the Libyan High National Elections Commission.

"Our software integrates with Vumi, an application focused on connecting to mobile network operators in a very scalable fashion," said Vinod Kurup, Caktus' lead developer on the registration project. The application is built on top of Twisted, with heavy use of Celery to offload their message processing. Deployment is managed with Fabric and Salt. They also got a lot of use out of Django and a host of Django libraries under the hood.


"As you can see, one of the major reasons that Python is attractive is that it can handle so many diverse aspects of the application, from the web, to the SMS backend, to asynchronous processing, to mobile network connectivity, to deployment," continued Vinod. "The combination of simplicity and power made it an obvious choice for this project."


Beyond development projects, Caktus is currently building out classroom space and curriculum for their upcoming Python and Django courses. Called Astro Code School, the three and twelve week courses are heading for a spring time launch, with plans for corporate training as well.

As for PyCon itself, Caktus is looking forward to getting back to Montreal for another year. "Aside from manning our booth, we’re hoping to attend talks, say hello to folks we know, and meet new people," says Hao, so go up and introduce yourself. They're also sponsoring Django Girls and PyLadies as well!

Comments

Popular posts from this blog

PyCon 2019 close to sell out!

We are all very excited that, once again, PyCon will sell out.  Time is running out so act fast if you are planning to attend, there are 60 tickets left as of April 12th at 11:00am central time.
Things to remember:

Hotels:PyCon Hotel Blocks are sold out, we suggest using online hotel booking sites to search for the best options near the Huntington Convention CenterHotel changes and cancellations should be made by contacting the hotels directly.  Hotel cancellations should be made directly with the individual properties 48 hours prior to arrival to avoid a one night cancellation chargeDietary Restrictions:If you indicated 'dietary allergy' when registering and have not provided specifics, please email pycon-reg@python.org with your dietary restrictions.Registration Cancellation Deadline:April 19th is the final date to submit an email requesting a conference registration cancellation for the $50.00 ($25.00 for students) cancellation fee.April 20th and after there will be no refund…
Introducing our 2019 Keystone Sponsor: Microsoft! Our top sponsors — companies who step forward to make the biggest investment in PyCon and its community — not only use Python for their own development but also offer Python as a crucial tool for their own customers. That is certainly true of PyCon’s Keystone Sponsor this year.

I recently caught up with the Python Team at Microsoft to talk about how they're using Python and was excited to hear what they had to say.

Q: Is your organization using Python in any surprising ways?
Yes, and in many surprising ways! To mention just three examples:

We have large swaths of data scientists whose jobs rely around Jupyter Notebooks. This includes our security analysis team, which is constantly working to identify new security threats and protecting literally billions of users of Windows, Office, and our cloud services for consumers and businesses—every day.Python is an important part of the CI/CD pipelines that are executed thousands of times ev…

PyCon 2020-2021 Location

Now that registration and planning are well underway for PyCon 2019 in Cleveland, the PSF is pleased to announce that the home for PyCon 2020 and 2021 will be Pittsburgh, Pennsylvania!

The conference will be held in the beautiful David L. Lawrence Convention Center on April 15-23, 2020 and May 12-20, 2021.


The Steel City is built around the convergence of the Ohio, Allegheny, and Monongahela rivers and offers an understated mix of arts, culture, and technology. Join the Pittsburgh Python User Group for a meetup, eat dinner in a converted train station at the Grand Concourse, take a century-old cable car up the Duquesne Incline to see stunning views of the city, or visit the Robot Hall of Fame at the Carnegie Science Center's roboworld® exhibit. While you're out and about, see if you can count all 446 bridges in the city (that's more than you'll find in Venice, Italy)!

In Pittsburgh, you'll find that the residents are all neighbors. And with 90 unique neighborhoods tha…