Recursive Closures in PHP

I don’t know how often this comes up, but I recently needed to create a one-off recursive function. Here’s how I did it in PHP. In this case, I had a set of items that were both nested and could be disabled at any level. So you could have a 3 widgets, all of a […]

Read more

tw/cw: racism.

For all our convictions in the democratic and egalitarian potential of technology and the Internet, someway, somehow, we still end up reinscribing all the same problems found in “meat space.” Or sometimes, as this study suggests, making them worse.

But much of what Jose [CEO of Knewton] says, at least to the media, is the opposite. No responsible educator or parent should adopt a product—even if it is free—from a company whose CEO describes it as a “robot tutor in the sky that can semi-read your mind” and give you content “proven most effective for people like you every single time.” I’m sorry, but this sort of quasi-mystical garbage debases the very notion of education and harms Knewton’s brand in the process.

There’s a pretty direct line to trace between Backbone’s inheritance model and the inclusion of class in ES6. This is a path we’re going to regret.

Three years later, Backbone exploded and had an .extend() method that mimicked class inheritance, including all its nastiest features such as brittle object hierarchies. That’s when all hell broke loose.

Question about WP-API best practices: Two plugins built by the same developer; should they use a shared vendor prefix? How would this impact index discoverability?

If you’re a GitHub user and care at all about security, you should probably pick up two of these Yubikeys. $5/each. No brainer.

Trigger warnings often spur disagreement that descends into a discussion of the warning itself, rather than the content. But what causes this divisiveness in the first place? I believe that trigger warnings are divisive because they suggest that we are responsible to each other to foster an environment of mutual respect, because they demand that we empathize with individuals in ways that, as Davis points out, we cannot predict or imagine. This responsibility and act of empathy is absolutely counter to the dominant neoliberal paradigm of individual responsibility and unmitigated competition that informs so much of our social imaginary. The idea that your pain might be, at least in part, my fault because I failed to do something as basic as type a few extra words in a syllabus is anathema to a culture that expects us all to train ourselves to be savvy consumers with bootstraps made for pulling.