DjangoCon 2016: Day 1 Recap

The company I work for sent me and all of our senior developers to DjangoCon this year for the first time. So this article will be just a quick recap of that talks I listened to. It’ll be mostly my takeaways, and I may not do justice to some of the talks, so take this all with the grain of salt you should.

9am — Lucky by @saronyitbarek

Listened to a great talk from Saron. I was shocked to hear some of the things, specifically the death threats women in coding have been received for being women. I never once received any type of threat, and while I’m hardly prominent, I expect that some of it has to do with me being a white heterosexual male.

To the rest of the talk, I’ve always considered myself very lucky, so her challenge resonated with me. I grew up in an upper-middle class family with supportive parents who had stable jobs, and it was always assumed I was going to college because they both did. But while growing up, I realized over time that this was not normal. So I know I’m lucky.

But her talk gave me pause because I realized that I haven’t done much to help those who have been unlucky. I’ve been mostly concerned with just making sure that my own luck lasts.

Considering that my worldview is Christian, that’s a big problem. I realize there’s quite a spectrum to Christianity, but I believe that I should care about everyone equally without preference. However, my behavior has shown preference to try to help myself above helping others.

So this entire talk was quite the challenge to me. It’s made me try to think through how to help others get lucky, not just in learning how to code, but in life in general, giving that continued support and information so that those who will already work hard will actually be successful.

10:30am — Django, Python, and Health Care Data by @beccanock

I’ll be frank. I was expecting this to be a little deeper dive into some specific HIPAA compliance issues and problems you have to think through when handling that data. So I was a little disappointed when it was just a general overview of what healthcare data looks like very, very generally.

But I will say the point over to the cognoma github repo was very nice. I like me some machine learning.

11am — Building Dynamic Dashboards with Django and D3 by @cndreisbach

This talk had a lot of detail for how to use Django with Django REST Framework as an API endpoint to build out basically an SPA dashboard with Ractive.js, D3, and Leaflet . So anyone having a similar problem should totally read through his slides because there’s no way I do it justice here.

11:30am — Django for IoT: From hackathon to production by @windupanna

A fantastic overview for how to structure projects for Internet of Things, and how to think differently about what you’re doing. The biggest piece is to think about everything as tasks, and not to pass objects (hint: use object pks instead) into the tasks because state is changing (potentially) too quickly since you’re dealing with time series data. See her slides here.

1:30pm — WebSockets: Intro to messaging by @eusoj_xirdneh

Really, I felt like this talk’s title was a misstated; I felt it should have been like “What are WebSockets and how to implement them with django-channels” or something like that, because the speaker introduced the spec of WebSockets and briefly mentioned twisted and then immediately launched into discussing how the channels architecture works. Here’s his slides.

2:20pm — Django and PostgreSQL: An Ever-Closer Union by @Xof

This talk was my favorite for the sheer amount of information and wit of presentation. My big takeaways were that I’m doing indexing wrong, and I really, really need to look at some of the functions that 1.8 and 1.9 brought to the queryset. In particular, all of the comparisons for rangefields blew my mind.

2:50pm — Solving problems with Django Forms by @itsregz

This talk was another favorite of mine because it seems so extensible to a lot of situations. In short, we should stop thinking about django forms as static entities, where you specify the model and fields and bunch of stuff about those fields.

Instead we should think about them as form as a cleaner that dynamically determines what fields are available, which were displayed, what was the data submitted to those, and what should we be validating against. If you think about all those questions as data rather than config, then you can build something far more flexible.

See his slides (look at 9 and 10 in particular) for more detail on how to implement this. Also, I already asked as did others whether there’s an incoming package to do this, because this stuff if incredible. Sadly, he can give no promises at this time. :(

3:50pm — How We Used NLP and Django to Build a Movie Suggestion Website & Twitterbot by @vincesalvino

This talk had a lot of heavy lifting for those not initiated into natural language processing. A couple times Vince said something like, “Here’s a trivial implementation.” And my reaction was like, “If that’s trivial, I’d hate to see complex.”

I have to say I got some appreciation for the complexities of NLP. In particular, your algorithms evaluations are only as good as your original training dataset. Something that would be obvious in retrospection, but not necessarily when entering into the field the first time.

4:40pm — Building JSON APIs with Django / Pinax by @brosner

So this talk I found a little confusing. Perhaps, I wasn’t paying good enough attention, but I found myself thinking most of the time through, “What does this get me that DRF doesn’t?” The best answer I could come up with is that if following the JSON API spec completely is important to you, because there is the django-rest-framework-json-api package, which mostly supports it. Maybe I’m just dense.

5:10pm — A new look into APIs: Graphene by @syrusakbary

For me, GraphQL isn’t new, but it seemed like it was too a lot of people I talked to. So that’s cool that this talk exposed a lot of people to that.

Graphene itself was definitely new to me. So I was glad to see how to implement it with Django, so you can query down into Django models. Very exciting stuff. I can totally see using this for arbitrary queries with React.js in the future.

Big Trend Take Aways

The diversity of approaches to Web APIs was already big and seems to just be getting bigger. It seems like there’s a lot of work being done right now to make working with the APIs you build as developer to be consumed by your own application as extensible, flexible, easily refactored, and scalable as possible. I’m really excited to see what everyone comes up with to tackle the challenges.

We’re all working with JavaScript in some way or another, but none of us can really agree on what’s best yet. Some are saying Vanilla with jQuery as you need it; several others are saying React. No one is saying Angular or Ember, though, from what I’ve hear so far.

Data is everywhere, but it’s not big data by any means. Every talk I listened to dealt in some way with either serving or consuming data, but we’re not talking about petabytes or even many times gigabytes of data. For the most part, the applications I’m seeing talked about don’t merit the concern either, so I’m wondering if real big data is being tackled by other frameworks/languages, or (more likely) big data is simply not a common enough problem yet for us to deal with to talk about.

Continue reading on at DjangoCon 2016 Day 2