Paul Vosper: Technical Artist

Note: Part 5/5 in a series documenting my work for a Django project in the Spring of 2017. This was part of the final class for the UW Certificate in Python. All files (including these blog posts) are on GitHub.
⇐ 4: The Map is not the Territory |


5: At the End, Beginning

As I was scrambling to make this project ready for presentation, I realized how much of the code finally made sense to me. What was once incomprehensible was clear, which meant that once seemed impossible was easily doable.

I made the presentation with many things unfinished, so I took a last week to fix three of them that really bothered me. All three of them had previously been 'unsolvable'; now, each of them fell into place as I realized first how they should work, then put in the effort to make them work.

'Venue' was hard-coded. I knew this should have worked as I had written it, but a bit of malformed data caused a blocking error so I faked it for the presentation. In revisiting it, I approached it on the premise that my code should work, which led me to look harder at the data. Problem solved.

Talks were not linked directly from the Calendar. This required linking to the data in a ManyToManyField field. I was mentally blocked in how to access the related models data - I was making it more complicated than it needed to be, and several Stack Overflow articles had pointed me down a wrong path. Once I realized that it should work like all of the other references around it, less than an hour of experimentation in a shell got it working nicely.

Speaker detail page should list all talks by that speaker. Django’s dunder filter had stumped me, but once I approached it knowing that it should work, further reading and experimentation led me to:

Talk.objects.filter(speaker__name__icontains=speaker)

This was my favorite one to solve. Even though it took the longest, I really wanted it to work and my enthusiasm for finding a solution never faltered. With every dead end or failed example I took what I learned and dove back in.

In retrospect, all of this now seems ridiculously easy. These objects, models and concepts all make sense to me now. What was once impossible is not only possible, but is just a first step towards further possibilities.

In the end, this is just a beginning - the first part of a journey into a larger world that I am very excited to explore.

Right? Right.

17.06.13