Better Sed with Perl
Though sed has facilities to manage multi-line operations, they can be hard to understand initially. Perl can offer an easier set of tools.
Though sed has facilities to manage multi-line operations, they can be hard to understand initially. Perl can offer an easier set of tools.
Implementing complex authorization rules for a Django-based application was simplified by the framework's permission & authorization classes at the class-level. Instance-level permissioning proved to be more complicated.
Dr. J's farewell post.
This summer, we revisited client-side interactives that we built for online learning web applications, and bundled them using Webpack as JavaScript packages for open and wider distribution. We are proud to announce that we now have a portfolio site to showcase about a dozen standalone interactives that we've authored.
Revisiting Manning Marable’s decade-old digital humanities project that predates the term itself.
This summer Graham Sack, a doctoral student in the English department is teaching an introductory course in Digital Humanities called ''Computational Methods for Literary and Cultural Criticism''. Together with CCNMTL, Graham developed a cutting edge approach, using a web-based programming environment called IPython Notebook, to teach programming to novices.
At CCNMTL we focus on pedagogical innovation, but we continue to work on projects that involve delivering static educational materials in traditional sequential formats. We work hard to carve out places for study in a world of instruction, but there is plenty of important knowledge that people want to acquire, and training people on skills continues to be an important component of education and often a precondition of concept formation.
In many of our projects, we've explored the boundaries of what we call - "Serial Directed Learning Modules". The key properties of these projects include:
For years, I’ve watched our video team do amazing work shooting, editing, and encoding video for the web. I think most production companies would be shocked at how much high quality work our team produces with so few staff, a tight budget, and tighter time constraints.
At CCNMTL most of our new Python projects are written in Django, but we still support a number of older projects that were written with TurboGears 1.0.4. They've continued to be stable, and we don't do a ton of new development on them, so it hasn't been worthwhile to upgrade them to newer versions of TurboGears.
But we do occasionally make changes to their code, and recently we've begun migrating them to newer servers. So I recently spent some time updating their deployment processes to CCNMTL's current best practices:
Earlier this week, I wrote about how to make virtualenv install pip and setuptools from local source distributions, instead of fetching unpinned copies of them from the Internet, which it does (somewhat silently) by default. The approach relied on a somewhat buried feature of virtualenv: looking for appropriate distributions in a virtualenv_support directory before downloading them. In a future release of virtualenv, this will be easier, and also more apparent. I submitted patches for two new features which were accepted by virtualenv's maintainers: