It was time for a Python conference. Attending many JVM ones I never had chance to give Python its place. Now, whenever the problem stands before me – Python is default language of choice, I love the freedom and possibilities it gives, especially in data science world. Let’s be honest, it has become my “love” since 2 years, so attending PyCon was a must. What kept my focus? I will share it with you:
Speed is what matters
One of talks I attended was about
pypy. Mr Cuni showed it as the default choice when you want to write fast Python code with that library. If you want to do so, execute your code with
pypy and not
python. The use case shown during the presentation was video processing, that is true, the version of program run by pypy was much faster. But the next day, when I discussed the topic with video processing people. They said comparison chosen for the presentation was not quite fair. Python is just a scripting language not a real-time video processing tool.
Cloud is everywhere
We were shown how cloud services are important. Two main players were mentioned. Who won? In my opinion stage is of AWS. It is hard to imagine how now we could handle processing great amounts of data. First of all, Suryansh Tibarewala presented Alexa, which is a service on AWS. Unfortunately we didn’t see any live demo, but at least the theory was introduced. Beware, speech recognition brings lots of difficulties, one of these is handling consecutive questions within the context. The next day, Michał Smereczyński shed some light on Microsoft as a cloud provider. He was convincing us, Azure is not only about Windows. Azure Batch is a nice Azure service, thanks to what you can run your scripts in parallel. If you have some batch job to be executed occasionally, there is no need to buy and maintain big servers. Furthermore you are not forced to set up your environment manually each time, as ACR allows you to store and use your Docker images. The Friday’s Ansible task given by Paweł Kopka also made it clear, having professional configuration management tool, I can play with any cloud provider using the same (or similar) scripts.
Are you healthy?
Two of the presentations were especially cool in my humble opinion. And important! They proved how Python may be a help in disease prevention. On Friday I learned about Python use in bioinformatics in talk given by Jacek Śmietański. We learned what make DNA, RNA and proteins different and how can I fit very loooong genome sequences, and analyze them with
Biopython that you can fetch from here. Unfortunately the talk was not given in English, so it blocked some foreign audience from listening to that talk, although they were interested. On Saturday in MRI talk we were shown how does Python help scientist to analyze MRI pictures. The libraries used for that purpose are
nipy, but you can make good use of other non-Python apps as FreeSurfer. The main use case of Mikołaj Buchwald was to learn, what parts of our brain are stimulated when we are shown particular images. What motivates me to have a positive thinking is the following sentence I extracted from that talk:
An action and visualizing it is almost the same, so keep thinking of positive attitude
Ms Christine Bejerasco showed the way of FSecure way toward security standards. She started as Perl developer and then switched to Python as she could continue working with regex there, and well… we all know it: Python is far better. In my opinion her Cybersecurity talk was one of the best, as it was of great quality, no extensive details were enforced and a lot of practical examples were shown. When the Internet was not so popular, evil code was to be linked to existing exe files and it could infect machines via physical drives. Now, living in times of so popular “online life” we have to be careful about what we browse and what we do open. I learned that even visiting dangerous sites, without actually downloading something intentionally, can lead to disaster. My browser can be probed for vulnerabilities and then injected with some malicious code. Viruses can even live for some time deactivated and then run (wake up) in the most critical moment (Stuxnet). How to play with viruses, and not to harm your machine? They are using sandboxes to do so.
How to teach a machine
Machine learning is not an obvious task. And this is not only a buzzword nowadays. The words like numpy scipy sklearn were mentioned heavily during days of the conference. I was happy to attend Saturday’s workshop that showed me how neural networks help to recognize picture. The challenges and solutions for computer vision were presented by Prakhar Srivastava. It was pretty new for me to learn, that in 2015 year Convolution Neural Networks already surpassed human ability to recognize simple pictures. Sounds a little creepy. I learned that before using some advanced libraries as
keras you would better understand how it works under the hood. Then you would be better prepared to 1) cherish what
import sklearn enables you to do and 2) use well these tools. You can also play with nice Neural Network demo online, here.
Are you confused by the rewrite vs refactor debate? In this post, I'm going simplify things for you and help you decide if you should rewrite, refactor, or do something else to improve the health of your software system.