4 images from the Allied Media Conference 2016 4 images from the Allied Media Conference 2016

Posted by jstrecker on 2016.06.22 @ 11:16

Filed under:

If you were to metaphorically represent media depictions of Detroit as photos of individual people, most would be either a mugshot of a scowling black man (the personification of crime lurking among abandoned buildings) or a photo looking down on big sad brown eyes like one of those “save the children” ads (the personification of neediness and white man’s burden).

The Allied Media Conference, held in Detroit for more than half of its 18 years, generates a powerful counter-narrative and counter-imagery about Detroit. The AMC is very much by and about Detroit (about a third of its participants are from Detroit). It’s also a place for wider communities of people of color, queer and trans, disabled, low-income, and other identities and issues, to come together and organize around common principles. [more...]

Project Ruori encounters electro-music, a suit of armor, and a fallout shelter Project Ruori encounters electro-music, a suit of armor, and a fallout shelter

Posted by jstrecker on 2015.05.27 @ 21:05

Filed under:

Project Ruori, a pseudorandomly generated collective of humans and machines, sent several delegates to this year’s Asheville electro-music festival. We came prepared with knowledge gained from last year, for example: if it smokes, unplug it. The human delegates — Steve Mokris, Melissa Egan, and Jaymie Strecker — now present their report of this year’s proceedings. [more...]

Who were the jockeys in Muybridge's photographs? Who were the jockeys in Muybridge's photographs?

Posted by jstrecker on 2015.01.02 @ 22:43

Filed under:

Before 1878, few people knew what a galloping horse looked like in slow motion. That changed when Eadweard Muybridge, witnessed by the local press, used a clever apparatus to take a series of photographs as a horse galloped by. The result was “Sallie Gardner at a Gallop”, a.k.a. “The Horse in Motion”. Back then, you could watch the series of photographs as a movie on a zoopraxiscope. Today, you can watch it in an online video.

I first became aware of this piece of history when my co-worker Karl Henkel made a colorful rendition of related photographs, “Annie G. Galloping” (pictured at right). I looked up the story behind these photographs, but it didn’t answer the question I was wondering about: Who were the guys riding the horses? [more...]

From celebrating women in computing to changing the system From celebrating women in computing to changing the system

Posted by jstrecker on 2013.03.16 @ 22:47

Filed under:

You’re in a roomful of computer scientists. Most of them are women. All of them are there to promote women in computing.

What do you talk about?

What don’t you talk about?

What are you accomplishing?

What aren’t you accomplishing?

These are the questions I’ve been asking about the recent Ohio Celebration of Women in Computing (OCWiC). [more...]

LLVM generates code that generates code LLVM generates code that generates code

Posted by jstrecker on 2012.11.16 @ 13:53

Filed under:

Back from last week’s LLVM developer’s meeting, I’d like to talk about one of my favorite features of LLVM .

LLVM is the compiler infrastructure that underlies Clang, Vuo, and many other projects. It’s a set of libraries to help you build compilers (and more). Among other things, LLVM provides a C++ API for generating LLVM Intermediate Representation (LLVM IR) code. LLVM IR is an assembly language for a hypothetical computer. LLVM IR code can be either interpreted or compiled down to native code.

So LLVM provides this C++ API for generating LLVM IR code — but it doesn’t stop there. LLVM can also generate C++ code that generates LLVM IR code. In other words, LLVM can literally write part of your compiler for you! [more...]

Compiling code with the Clang API Compiling code with the Clang API

Posted by jstrecker on 2012.08.15 @ 10:46

Filed under:

Have you tried Clang yet? Clang is an open-source compiler, under active development, that aims to replace GCC for compiling C, C++, and Objective-C. Compared to GCC, Clang is faster, while generating comparably fast code, and prints more useful error messages.

Clang is also better for developers who want to compile code programmatically. Unlike GCC, Clang is designed to be both a tool and an API. That makes Clang’s source code easier to understand and reuse. And, for those of us working on projects incompatible with GCC’s GPL license, it’s good to know that Clang is distributed under the BSD license.

Kosada is working on a cool new project that’s built on top of Clang and its underlying framework, LLVM. While using Clang for this project, I’ve been pleased to see how simple it is to write code that builds other code. Simple in retrospect, anyway! The code I wrote turned out to be simple, but it took lots of digging through the Clang source code to figure out what to write. So here’s my first contribution to the Clang community: two examples of using the Clang API to build code programmatically. [more...]

Add or remove fields in a Views display and override the Defaults display Add or remove fields in a Views display and override the Defaults display

Posted by jstrecker on 2012.04.11 @ 17:31

Filed under:

A quick tip for Views newbies…

In Views 2.x (Drupal 6.x), if you want to add or remove fields in a Views display, and you want that to override the Defaults display instead of updating it:

  1. In the display, click the Rearrange button next to Fields.
  2. Click Override, then Update.
  3. Add or remove any fields you want.
An Introduction to Objectivist-C An Introduction to Objectivist-C

Posted by jstrecker on 2012.04.01 @ 20:39

Filed under:

Let me introduce you to the best language you’ve never heard of: Objectivist-C.

Although academic computer scientists have generally dismissed Objectivist-C, it has a zealous following among self-taught programmers and college sophomores.

Objectivist-C was invented by Russian-American programmer Ope Rand. Based on the principle of rational self-interest, Objectivist-C was influenced by Aristotle’s laws of logic and Smalltalk. In an unorthodox move, Rand first wrote about the principles of Objectivist-C in bestselling novels, and only later set them down in non-fiction.

Here’s what you need to know to program in Objectivist-C. [more...]

Drupal Queue API example: enqueue in form submit handler, dequeue when cron runs Drupal Queue API example: enqueue in form submit handler, dequeue when cron runs

Posted by jstrecker on 2012.03.14 @ 21:39

Filed under:

Need to store up some items and process them en masse in a cron job? That’s a perfect use case for the Queue API (for Drupal 7+) or the drupal_queue module (the backport for Drupal 6).

Concrete example: One of our consulting clients was using a synchronous webservice for their retail store locator. We needed to create a form where store owners could change whether they’re listed in the store locator. When a store owner submits the form, should she have to wait around while our site sends her change to the store locator webservice? We didn’t think so. So we decided to use Drupal’s Queue API, which lets us save up all the store owners’ changes and send them to the webservice in a batch.

Here’s a simple example of adding items to a queue in a form submit handler and processing them in the next cron run. [more...]

The pseudo-science and pseudo-feminism of Women Don't Ask The pseudo-science and pseudo-feminism of Women Don't Ask

Posted by jstrecker on 2012.01.20 @ 21:49

Filed under:

You should read this book,” a friend told me. “It says that women don’t make as much as men because they don’t negotiate their salaries.”

The book was Women Don’t Ask: Negotiation and the Gender Divide, by Linda Babcock and Sara Laschever, published in 2003. The notion that “women don’t make as much as men because they don’t negotiate their salaries”, it turns out, is a myth — a myth spun from the sloppy science and sexist assumptions of Women Don’t Ask. [more...]