# 日本語はこちらのCodeZineに掲載されています。For Japanese please visit this site. CodeZine | PyCon Singapore 2013 参加レポート
What is PyCon Singapore?
Python Conference (PyCon) is a series of community-based conference where Pythonistas gathers and exchange updates and experience on various topics related to Python programming language. Singapore has been hosting PyCon APAC, PyCon to represent the region until 2012 when Singapore handed over to Tokyo the 2013 event.
PyCon Singapore 2013 Details
- Official Site: https://pycon.sg
- Date: June 13th to 15th, 2013
- Sessions: Two session tracks with a keynote presentation. All in English.
- Fees: Early bird – S$150, Standard – S$200, At the Door – S$250
- Venue: Republic Polytechnic, Singapore
- Participants: about 150 participants
Singapore boasts for its diverse culture, so is its PyCon. Besides the majority of local participants, there were many participants who are originally from other countries. You see many Malaysian, Indonesian, and some from Americas and Europe who live and work there. There are a few flying in from other countries – including me from Japan. The diversity does not mean only their home countries and ethnic groups, but also language. All session tracks are in English, of course – which you find quite unusual in other Asian cities. Participants are speaking in their own languages among themselves during break, but if they see you non-local swinging by, they will immediately switch to English for you. I appreciated this very much during my visit after knowing how lonely it would be to get lost in translation in overseas conference.
Travel to Singapore
It takes only 7 hours from Japan to Singapore. Even I stopped over at Hong Kong, but I left Japan in the morning and arriving in Singapore before dinner time. A taxi from airport to central business district costs about SGD 25 and 30 mins if no traffic jam. MRT or bus can be an option if you travel light.
After checking into a hotel in CBD area, I ran to a nearby Seven Eleven to buy a local SIM card. If you have a SIM-lock free phone (some phones is “locked” to a particular home country’s network company), the local SIM is always the best option. It comes with standard or micro-size SIM at about SGD 12. You can call (local/international), SMS, and the most importantly 3G access anywhere.
From hotel to Conference site
My friends from Japan arrived late in the midnight, so the first day of conference today is the first time to meet up with them. We grabbed some breakfast at the local kopi store (I will explain in more details later what kopi is) near our hotel and took taxi to the conference site.
The conference was held at Republic Polytechnic in Woodlands district, somewhere in north of island. Even you are a frequent tourist visitor to Singapore, I bet you haven’t been in this area. It was about 30 minutes ride from CBD at the cost of SGD 27. Once off from taxi, I got covered with a veil of heat in tropical island. The first day of the event was on Friday, and I could spot some students between modern-designed classroom buildings.
Registration was completed on web, so I just had to give may names and received an event T-shirts and a sticker once my registration confirmed. I was led to a main hall for the opening event. My friends, Manabu and Iqbal, and I decided that we should just split to different tables to mingle with people. I sat with four Chinese students and two Indians. The conversation started with the common ice breaking topic here: Which part of Python are you working on? The student I sat next to studies Statistics and codes a lot of them in Python. To my surprise, two among the four Chinese students are high school students, and they study Python in their computer science class. Impressive.
Opening and Keynote
After a brief opening speech by, the microphone was handed to Wes McKinney for his keynote session. He created Pandas library, a Python data analysis library, and also the author of “Python for Data Analysis” published from O’Reilly.
He briefly ran through the concepts and mechanism of data analysis, a highlight of the session came with a live demo of Pandas on IPython Notebook. He used the tags information in Stackoverflow as target dataset to showcase what we can do with Pandas. For example, summarize the number of entries for each tag and chart them in bar chart format – by typing several commands, and it just appeared on screen like magic.
When we were looking at the tag of “emacs”, somebody among audience shouted as “how’s vim?”, then he responded by showing up the data for “vim” and extra “sublime text2”. You can still watch the session via video, but I suppose this kind of live feeing experience is unique to only those at site.
After the keynote session, everybody came out to lounge area for tea break. For every break between sessions people came out to the area to chat with friends, ask follow-up questions to a presenter, etc… everyone enjoys it in his own way.
I just popped by Manabu and Iqbal and said hi to them, then I headed over to a group of the students I sat with during the earlier session. They told me, in Singapore, depends on school and level of curriculum, students study programming and build web application. There are lots of varieties of curriculum among schools, and some school teaches more traditional computer science course with such a topic like “how standard input/output works” and others focus more on its practical application as how to build application. Python is one of the popular languages among teachers, according to the students, and it was even one of sessions for the 2nd day of conference.
Then I walked over to the two sitting at another table. One of them works as a black-box tester at software company. He does not write application on his own, but he is exploring how he can improve the productivity of testing with help of programming. The other is a freelance engineer originally from Chile, and he is based in Vietnam and Singapore. He said that PyCon is a good place to connect with other developers in region, and I agree.
The next session I attended was titled as “Computing with Acceleration: GPU, CUDA and Python.” He walked through how processing with graphic card evolves, GPU programming in C language, and a Python case studies for GPU programming environment. The second half looked at the actual code samples with Python’s PyCUDA and Copperhead in contrast to the standard Python’s parallel programming.
I personally had not encountered the case I needed such sophisticated parallel programming, but it was always interesting to know those outside of my boundary through conference session.
After the session related to technical requirements, I joined this session. The first half explained the web service that Plivo offers – a web telephony back-end service. The latter half was about the real case study that he had experienced – one week to implement to provide a new API.
He talked about how his work had progressed from a bare bone to a full-stack of application architecture by leveraging the available tools and frameworks. He walked through with us at phase by phase and highlighted the challenges that he had faced. I suppose this is very useful for someone who develops a web application. He, by taking API interface as an example, commented that his first choice of Piston did not match his requirement, and needed to switch to Tastypie at the end. We cannot know those stories from the end product.
I was originally expecting something “if you are creating API, this is the best practice you should follow” from this session, but it turned out to be, in a good way, different from my original expectation. You can read lots of published books and web tutorials for such best practice sharing, but it is rare to hear those real stories by someone who had gone through himself.
Then another break. I had had more than enough during break, so I was not hungry at all – well fed at PyCon! To food lovers, the menu at PyCon Singapore included wide variety of foods to cater for different cultures and religions. Besides the standard universal menu of sandwiches and sweets, there are Chinese, Malay, etc.. They also served some vegetarian choice, and it was also Halal compliant, so safe to eat for Muslim. The only regret to some people was coffee. It wass available only at kopi style. Kopi is a local coffee drinks, and the coffee liquid filtered many many many times through coffee powder before served. It is different from other countries’ coffee, so when you want to enjoy it, just do as the locals do – put a spoonful condensed milk or eva milk with lots of sugar. That will do a trick.
I quickly finished a snack plate in 5 minutes, and I started wandering between groups.
I joined a table of these two who were happily sipping kopi. They told me they are students, so I just thought they are studying Python at school. It turned out to be that the one on left is also a engineer at startups, and studying at Nanyang Technological University (also known as NTU) which ranks the top two in Singapore with the other National University of Singapore (NUS). He appeared at the stage in the afternoon to present the technical side of a startup he works for. We were both interested in what we are doing, so we exchanged Facebook contacts, and I started wandering among groups again.
While I kept wandering, the lunch hour is up and time for the afternoon sessions. The afternoon session started with the presentation pitch by startup sponsors and lightening talk. For the lightening talk, everyone was invited to sign up to get a chance to talk on stage. I signed up for myself to do PR for the upcoming PyCon ApAC 2013 in Japan.
Amazon Web Services
Next I joined a session related to Amazon Web Services. It was a demo of Python boto to manage AWS services. The presenter did the demo by actually going through codes and typing commands to show how it works with Amazon EC2 and S3.
It was new thing to me because I usually use AWS through the management console provided by Amazon. More than that, I was the most impressed how well he delivered the presentation. It was well balanced between the things I believe crucial to a good technical presentation:
- presentation with slides
- hands on experience with typing commands in live
- demo on screen
If the session is with all but slides presentation, the audience can not see the real feeling of programming by typing, commanding, and configuring them. If the presenter just keeps typing commands on a stage, it is not maximizing the potential of presentation opportunity. However, going only for live demo is all or nothing approach. I have seen many cases that live demo failed on stage and they did not have a backup plan. George, the presenter, also mentioned that it just does not work sometime and told everybody to wish him luck before the demo started to upload pictures with EC2 and S3. I would imagine that much of background work done before these presenters came up on stage.
Python for Blackbox Testers
The presenter for this session was the one I had chat with in the morning. He did not have coding experience before, but along the way to improve his process of blackbox testing, he had picked up programming. He presented how much programming can help improve productivity of testing and repetitive works.
He was very polished at presentation to start with, and because I know him in person, I found myself more keenly listen to what he was delivering. His message was vert consistent between our casual chat over kopi and his presentation – he wishes more non-technical people see the potential of programming and realize how much one can do with Python.
This was the last session for the day. I was getting a little exhausted after the whole day conference, and now there was only one left to enjoy before we called it a day. This session was about visualizing time series data. He introduced Graphite and its related libraries and tools that he used to identify a service bottle neck and visualize service usage for customer dashboard.
After all session the organizer concluded it for the day, we took a big (really big) group photo. This is a very good memory when returning home.
￼PyCon Singapore team invited us PyCon JP team for dinner. That was a feast!
A Pyth Less Travelled
The second day started. I was wondering which session I should join with another for Shinken, because I was in Singapore, I decided to join something I could only attend here – Python in Singapore education.
A speaker is teaching Computer Science at Dunman High School which is one of prestigious schools in Singapore. Also the curriculum mentioned in this talk of “A-level Computing” is also the top end, so we can not simply assume every Singaporean students learn programming this way, but it was exciting to know that secondary school students are building Django web app and completing homework on Google App Engine.
Among the topics covered in this talk, I was most intrigued with his question – “should students make everything on their own or learn how to leverage the available resource.” If the sole purpose is to learn how to program, it is critical to understand how the programming works, and that should not be shortcut. However, especially after open source became more popular, we know there are lots of useful resource available there, and learning when and how to use them is a key to success. That is at least what is happening at the real programming environment.
Programming classroom used to be, after learning basic syntax, students move onto how to build sort function, etc. I believe, on top of them, we are now in the time when we need to show them where they can find tool and service with features they need, how to read README manuals and get help from community forums to shape the final product.
Music beat aware interactive physics simulation
I was looking forward to this session the most for this conference. I am interested in prototyping and controlling music with script language like Python, so this definitely fits my taste. I also asked a question there if any professional musicians creating work with Python, but I got Nos from the speaker and other audience.. Well, maybe it just started happening now!
The session was very structured and focusing on the research he went through. The most fun part came to our surprise when he demonstrated a sound wave weapon! Though it was harmless with normal audio speaker installed at venue, its noise was so uncomfortable that all of us just covered our ears while we tried to listen to what the speaker saying! Python controlled pitch, length, strength and articulation to make such irritating noise. He also demonstrated more mild use case which can convert human voice into computer-generated voice. Please check the video!
Writing, Publishing and Maintaining Reusable Django Apps
This was another session I was looking forward to. There are lots of information on web about how to build reusable Django app, but most of them can not escape from their fate to be outdated. They just do not work after the change in project/application directory structure, and so on.. Information on web is hard to remain fresh. This session covered how to start Django project, documentation, and publishing to PyPI within 30 minutes, so if anybody is starting building Django app, I would strongly recommend this talk.
￼Start up & Lightening Talk
There were more than 10 start ups sponsoring this event, and each had 8 minutes to present their service and how they use Python. Both the first and second day had one hour each after lunch break. This kind of elevator-pitch is always good to keep presenter focus and audience awake. The topic ranged from e-commerce, news analytics service for financial institutions, going dutch app, IP telephony service, presentation techniques, and lots of others.
On the first day, I also came up to the stage as one of the lightening talk speakers to do introduction of PyCon APAC in Japan.
Iqbal also talked on the second day about how to leverage NGO structure to manage conference. If anybody wants to know how these PyCons being organized or wants to organize one, please check the video out.
After the lightening talk, we just stayed back in the main hall, and it proceeded to the closing. After the short closing speech, a keynote speaker Mr. McKinney gave out his books as gift. The lucky ones were chosen based on “Pandas library’s sophisticated data analytics” to pick the best speakers among Start ups and Lightening talks. We all had a good laugh in the data analysis process!
￼I and Iqbal were one of the lucky ones on that day, and it just really paid off experience of being a little nervous before my talk.
Time flies, and my happy one day and half conference came to end here. It was very welcoming like Singapore itself. I believe it truly proved that Singapore as one of the best cities to host international conference.
Among many concerns that foreign participants have, the biggest concern would be the language. Possibly you do not know anyone else in the conference (and which is exactly what you ask for when you attend different conference to meet different people), and what if they only speak the language that you do not understand?
Singapore is a good place to start. Everyone there speaks English, and they are happy to switch from their dialect to English if they see one person in group does not understand their language. Also they are quite use to the non-native English speaker, so they can shift down an English gear if someone needs people to speak more slowly. These are very unique to Singapore among other Asian cities.
I also saw a Chinese student from mainland who was also struggling with his English, but he spoke up a question during the session in main hall. We all speaks the common language of Python, however broken or with unique accent one’s English is, we know how to get along with other fellow Pythonistas.
Bright campus, kopi under tropical sun, and full-day Python talks. If you want to be lost deep in Python world, I would propose PyCon Singapore as a milestone event for your next year’s planning.