by Christopher Keefer
Last time, we decided to embark on a brave new adventure and give our Django framework a big upgrade with the inclusion of Django Channels. We got just far enough to get the development server running, but while this may be an *adequate* start, it’s better to develop against something like what we intend to deploy, right?
So, let’s go the rest of the way and get ready to develop against something that at least resembles a standard production-ready environment with Django Channels.
by Christopher Keefer
You stare mournfully into the mass of code you’ve inherited. At some point, it’s clear, the requirements called for the server to push information to the client, because there’s an unholy mix of Server-Side Events, long-polling, hidden iframes and even a Java applet in there, all supporting some level of long-term connectivity with the server. It’s almost fascinating in its barely functional hideousness, and you would be inclined to leave well enough alone… except for the *new* feature specifications you’ve been assigned, which require the client to be able to send data back to the server in response to the received events, in as close to real-time as you can get.
It’s time for a major overhaul.
by Adam Singleton
Our look at using the D3 JavaScript library to create interactive charts continues with part 2 of 3, as we add tool-tips to each data point in the chart that become activated when the user hovers her mouse over a point.
by Adam Singleton
Filtering tables of data is the central task of many a business web-app. This is the first of a series of tutorials on using Bootstrap radio buttons in the wild to filter real datasets in concert with other commonly-used UI components like DataTables and jQuery UI.
by Adam Singleton
A long time ago, asynchronous programming was an exotic practice. Not many people were doing it, and their code was punctuated with things like assembly language and processor interrupts. Less anciently, preemptive multitasking OS’s made asynchronous programming more accessible, albeit often still with arcane and unnatural boilerplate, not to mention hazards of sharing mutable data. (read more…)