The annual Czech PyCon conference was held for the fifth time , this time in the city of Ostrava. After I have missed it last year, I decided to attend it again; so I have boarded a bus from Brno and after a peaceful and sleepy trip have arrived at my destination.
The conference was being held at the conference center Hlubina, former coal mine surrounded by a complex of former steel mills. This place has quite unique atmosphere, which was not much dimmed on this second visit of mine1.
After the queue for the registration and conference swag2 was behind me, I sat to listen to the first talk. This talk was supposed to be about how to utilize your laziness, but I have soon realized that my savings in hotel fees earned by early rising must be paid in attention span – I started to snooze almost immediately. Unfortunately for me, the speaker was including too much detail about finance business for my taste, which was not really helping me to stay awake. As a consequence, I have decided to leave the room not long after the talk started, and went to search for the most important place in the whole conference3 – a coffee stand.
In this regard, the organization team have to be praised. As far as I can tell, the baristas were busy during the whole conference, but the queue was never too long and the coffee was of a very high quality. First small cup of a surprisingly strong espresso was more than enough to wake me up, and I could, after a period of wandering the hall and recruitment stands, return to the talks in much better shape.
The Mindful Learning talk was, at it’s core, about making the learning process as effective as possible. According to Anastázie Sedláková, the main requirements for successful learning session are dedicated time, clean head and full concentration on the information at hand. Various student competitions and games can be utilized as additional motivators for students. On the other hand, homework assignments proved to be not very efficient from her (teacher’s) point of view, as most of the adult students simply will not dedicate additional time to do them.
The talk content pretty much corresponded with my humble teaching experience4. I walked away with some additional ideas for leading a course, which I hope I will remember the next time I attempt to teach someone.
I teach, therefore I learn
The next talk was also about teaching, but this time more motivational than practical. Juha-Matti Santala surprised me right at the start with his voice. I could not shake the feeling that he had just finished a marathon run and then started speaking immediately. However, what I have considered to be a shortage of breath turned out to be his normal voice, and he wielded it with extraordinary grace. I had no issues with paying attention whatsoever, and by the end of the talk I was filled with excitement and ideas.
Juha-Matti talked about his teaching experience and about the ways it improved him.
He noted the necessity of simple communication (
explain your work to 5-year-old),
and of the deep knowledge he would never acquire without student questions.
Most of all, he highlighted the shared joy of creating something from nothing
that is the reason large portion of programming people choose their career,
and which he gets to enjoy anew each time with his students.
This talk was one of my favorites in the whole day. I walked away with several potential technical meet-up ideas, and with a burning desire to try to organize another Python course.
Inheriting code, and I do not mean classes
After a lunch break that I mostly slept through on a sunbed outside the main hall
I headed to a presentation about maintenance of code inherited from someone else.
Flavio Percoco described his strategy
for familiarizing oneself with and then modifying the codebase
without losing too much sleep or sanity.
The whole process was presented as a sequence of rules that had been proven beneficial in such situations.
Among them, there were present rules expected in any refactoring endeavor
All tests must pass. No exceptions.)
together with less obvious ones
If no tests exists, write them – so that current code pass without change.)
This talk is rather difficult to sum up without re-writing it whole; I can wholeheartedly recommend watching the recording once it is available. The talk can be pretty much utilized as a sort of checklist for getting to know foreign code. For me personally, this kind of mental map can be very handy when going through unfamiliar codebase.
After the code inheritance was behind me, I have found that the coffee starts to lose it’s power over my sleepiness. Not even the hand-made tea, served in a tea-house style porcelain (teapot and cup for each drinker), could keep me fully awake. As a consequence, my memories of the rest of the day is a lot less detailed5.
Miroslav Pojman talked about the iteration protocol and it’s Python implementation. Since generator expressions and their assembling to more complex pipelines are ones of my favorite Python tricks, this talk was pretty recreational for me; I have spent most time browsing the Internet6.
I had almost the exact opposite problem with Pavel Šimerda‘s talk about utilizing Python for compiled binaries. Although I have spent a fair amount of time debugging my C code at the university, it is not something I’m doing regularly in my workplace. I tried to pay a bit more attention than in the previous case, but eventually doze off and mentally labeled this talk as “re-watch from recording when it becomes relevant”.
My sleepy early evening was saved by Miro Hrončok
and his introduction to shebang (
Although I was pretty familiar with the topic thanks to my work on Fedora,
in his presentation even the familiar was rather enjoyable experience
– and I got to finally learn why there are
on my GNU/Linux machines.
As a bonus shared after the conference on Miro’s Twitter,
he praised the presentation software he used
and which is designed to specifically handle PDF presentations – pdfpc.
Overall, it was a very pleasant closing of the day 😁.
After the last talk, I hanged in the main hall for a while. While the hall was slowly getting empty, I ate my evening pizza and considered staying for a bit of the planned board game night; however in the end I capitulated before my fatigue and went to the hotel without further socializing.
After the first day, I was really tired and sweaty, but also feeling inspired in both social and technical aspects of the programmer’s life. After I promised myself to go to a conference a day early next time in order to not have to fight with the lack of sleep, I went to bed early looking forward to the next day.
My first visit was purely touristic one, about a year before. The Dolní Vítkovice complex is definitely worth a visit – where else you can get a coffee on top of 80 meters high tower? ↑
Especially a handy and sturdy water flask was greatly appreciated during the whole conference. ↑
At least for me during the whole Friday. ↑
I have organized 2 small and rather amateurish Python courses for beginners. ↑
Conference recordings are a godsend. ↑
This is my university-gained vice; my apologies to the speaker. ↑