This year, at school, we work "biweekly" : one week, we have classes, the other, we have projects. In groups of 2 to 4, we have a communication project, which is just organizing an event of our choice (I'll organize a geocaching event!). In the meantime, we also have a computer science project, in pairs.
My main concern with programming projects at school is the technologies we have to use ; most of the time, we have to code in some old language. Our teachers seem, like in every public programming school in France, to really love Java and J2EE. I wanted to commit suicide after discovering Android developement in Java and I couldn't get any positive comments on J2EE, so I was preparing myself to commit suicide again. But no! We got to choose our technology. We have to use a PostgreSQL database and it must be a web app, but we can build it with whatever we want. Whee!
I teamed up with that friend, the only friend I usually make in a class every year. We're both stuck together and have almost no one else to talk with at school, but we don't care. We're not best friends or very close, we just are introverts and making new contacts is hard for us. We both have some very close school paths and have a lot of things in common. One of the things we have in common is that we know HTML/CSS, JQuery, Bootstrap and PHP, so that would be our stack.
Our application is just a remake of Trainline, a French online train ticket reseller. The twist is that we have to use the actual SNCF data they share in GTFS format. SNCF's old databases aren't really fit for GTFS, which is a format designed toward urban transit more than national railroad transportation, so their files are very weirdly structured and zero documentation is available, of course.
Seeing how bad and big our data source was, I remembered how easy it was for me to use CSV stuff in Python. Since GTFS is just a bunch of CSV tables in a zip file, I wanted to use Python. I suggested we use Django instead of PHP. My friend wasn't really sure, since we both don't know about Django at all, so we just flipped a coin yesterday. Then came the struggle with
pip and our school's computers' bad configuration.
Then came the struggle with VirtualBox and our school's routers cutting our Internet connections, making our computers crash instantly. I love network file systems.
Today, we managed to bring our own laptops. My Arch Linux ThinkPad was getting kernel panic attacks, so it took me half a day to finally just get a Xubuntu running on it without crashing, then we went back to learning Django.
Turns out Django, which I love to call Jenga and I have no idea why, is awesome! I am now a Djangonaut. I prefer the call Djangosexual, and I would love to flirt with some Django girls! Why, you may ask? They abstract the foreplay.
from django import Girl from . import lucidiot lucidiot.love(Girl.objects.all())