Benjamin Chodoroff's blog

Benjamin Chodoroff

This is the blog of Benjamin Chodoroff. See my twitter or github or mastodon.

Browser autofill snooping on

11 December, 2018

I haven’t had a facebook account for a few years now — i did the deletion thing a while ago — but through a combination of neglect and…

Building blogs is easier than actually writing posts

10 December, 2018

Wow it sure has been a while! Uhh this isn’t even the same blogging platform as it was when i wrote my last post, like… more than a year ago…

It's kind of a big data: IRS tax-exempt data and Detroit Ledger

04 March, 2017

What, you haven’t heard the news ? Forms 990, back to 2011, in machine readable formats, no FOIA required ! OK, maybe if you aren’t a…

Getting deeper into Reactland: using Redux and GraphQL in a read/write app with user login

12 February, 2017

After having launched a couple of small React projects, I’ve grown to like it. Finally I have a couple excuses to use it in an access…

Avoiding redundant joins in SQL ORMs

24 June, 2015

While working on Excellent Schools Detroit’s school data API , I ran into an intersting set of problems relating to stacking database…

Batman-adv intro for Digital Stewards

13 March, 2015

Presentation: coming soon HOWTO

Public key

04 March, 2015

This is my PGP public key:

Long-distance relationships: hotter mesh

17 February, 2015

As the result of a recent career shift that I’ll address in a future post, I’ve been able to get back into some wireless tinkering. It turns…

Trackpoint keyboards

13 March, 2014

After using an IBM T30 years ago, I’ve become accustomed to having a pointing device between my G-H-B. And until noticing a strange nub on…

Minimal-ish Drupal hosting with Docker

08 February, 2014

tl;dr: Drupal Docker container with nginx, php5-fpm, and linked MariaDB A few years ago, when I first needed to deploy many Drupal sites, I…

Joining Citizen Audit records with Detroit Ledger

03 February, 2014

Detroit Ledger is rising from a brief few months of hibernation: we received some funding to improve our database (more details soon), and…

Detroit Ledger at #awesummit

21 October, 2013

Tomorrow I’ll be representing Detroit Ledger at the Awesome Summit. Lucy’s blog post has a nice salient description of our panel: The…

New blog

15 October, 2013

A few months ago I took down my old blog, in anticipation of building some sort of crazy software to replace it. Then a ghost appeared…

Exploring meshaging

09 November, 2012

I wrote this for the commotion blog a while ago… cross posting! Over the past few years, The Work Department has been active in building…

Loving, Graceful Machines to Watch Your Chickens With

09 January, 2012

It’s gotten cold in Detroit again, and the chickens need the usual TLC: more food, more straw, heated water dispensers, and active heating…

ISPconfig and chiliproject

11 October, 2011

Some hints for the internet: gem install fcgi symbolic link CHILIPROJECT_ROOT/public to ~/web for the ispconfig user comment out the…

Pulling copper through Spaulding Court

02 August, 2011

Images of an Amish barn-raising came to mind while I sat deep within Spaulding Court’s westernmost basement, slowly feeding strand after…

ssh agent forwarding protip

19 June, 2011

my source code management / git workflow just got a bit easier: i’ve never used ssh agent forwarding before, but now i can just use one key…

Researching text message community alert systems

20 April, 2011

Preface: I have to put this into a bit of current events context:  I spent the morning researching for this blog post, but was interrupted…

Springtime meshes

05 April, 2011

It has been a busy winter for me, and I’m sad to say that i haven’t been very active with the community internet building until recently…

Magento dev notes: conflicting extensions

01 March, 2011

Scenario: you’ve developed a magento extension, tested it on your development server for all these potential fringe cases, even brought in…

bicyclists and North Corktown

13 February, 2011

Recently a few of my friends have asked me what could help encourage more people in my neighborhood to ride bicycles. For all the time I’ve…

Garden sensors: crow's nest chicken coop thermometer

19 November, 2010

The chicken sensor is in full operation . It’s a yogurt container filled to the brim with: So in the end, I re-programed the Arduino with a…

Vote for FACT Social Justice Challenge projects!

12 October, 2010

The public voting period for this year’s FACT Social Justice Challenge ends this Friday!   Read about how to vote on projects…

Detroit digital justice-related netsquared/FACT grant ideas

05 October, 2010

I worked with two groups in applying for Netsquared/FACT grants: http…

Staging magento sites: multiple sites running APC == broken

02 September, 2010

Well, it’s been a wild webhosting ride recently.  I’ve been automating dev/staging/live production procedures with my Drupal and Magento…

Stolen bike

25 August, 2010

My bicycle was just stolen from the WSU farmers market today, around noon. Details: large orange Nashbar mountain bike frame, only decal is…

Late summer updates: leaves, chicken races, hacker spaces, garden sensors

23 August, 2010

I’d like to share a few stories: caption id=“attachment_194” align=“alignright” width=“300” caption=“Auto the dog, with leaves” /caption…

GSM hijacking + VoIP + community wifi

02 August, 2010

Via HN : Chris Paget demonstrated a nifty little GSM hijacking device at Defc on: with a directional antenna and some clever OpenBTS…

Lyme disease

01 August, 2010

Well, it’s Maker Faire weekend and after attending a somewhat lackluster and under-attended “can do camp” in Detroit Proper this past…

Typesetting the web

27 July, 2010

I’ve been reading the backlog of the Scribd team’s programming blog and am thoroughly amazed.  For some reason, I’d blindly assumed that…

Extensive mesh

28 June, 2010

After an invigorating AMC2010 , and a very fruitful HOT MESH conference session and media lab presence, I’m back at my daily work of code…

AMC 2010 liveblogging: gleaning tweets with node.js and mysql

11 June, 2010

A bit about my recent work: As the web dev for the Allied Media Conference , I’ve been tasked with creating a system for participants to…


19 May, 2010

Discover Technology at the DiscoTech … Saturday Jun 12 2-5pm @ MOCAD … Brought to you by the Detroit Digital Justice Coalition … Own…

hotMesh update

13 April, 2010

Hi, Things have been extremely busy for me with work, and I haven’t been able to spend much time with the community wireless network…

cloud forest

18 March, 2010

wpvideo KIlxHtkM

Detroit mesh networks - pwning our internet infrastructure irrigation pathways

24 December, 2009

Detroit’s first wireless mesh networks are imminent: I am patiently awaiting the arrival of a slew of Foneras and open-mesh pro routers! I…

gis brainstorming

19 December, 2009

I’ve been reading quite a bit recently about gis and mapping with drupal, recently. I’ve never used drupal to manage a gis system before…

DNS resolution and Big Internet

04 December, 2009

Today, Google made its dns resolver service public ( and - the IP address equivalent to 1-800-call-sam). From the Google…


02 December, 2009

Jerome brought this by the shop a few days ago.  It’s a 1980s road racing frame made IN DETROIT!!! by Pino Morroni.  It’s truly remarkable…

wordpress / thematic framework filters and actions

01 December, 2009

I’m building a new content-managed website for Congregation Beth Shalom , a local synagogue, using Wordpress and the Thematic Framework…

Fun with a rooted G1

29 November, 2009

After months of having a totally stock tmobile G1, I’ve finally bitten the bullet, rooted my phone, and installed a pre-packaged new and…

All sorts of hack-job IT work goin on

29 November, 2009

So I’m Hubbin it up right now.. setting up an office server that will do filesharing at first, and then be an OpenBravo ERP/POS system…

problems with post-thumb wordpress plugin

27 March, 2009

DEFINEs not defined in post-thumb-template-library.php. solution: add the defines from the regular post-thumb.php

plone problems

17 March, 2009

if yr plone instance can’t find PIL, and you’re sure it’s installed, maybe it’s because you have to create a link from the PIL egg to “PIL…

more xen notes

13 March, 2009

debian lenny xen has some quirks - after the hvc0 tty setup drama, i’ve run into another hiccup: console access will hang, unless you…

Debian lenny and Xen 3.2.1 on amd64

11 March, 2009

I’m setting up a new server to run a few xen instances, and ran across a few issues:…

moving a plone site from server to server + notes on virtualization

14 February, 2009

After tiring of a slow Zen VPS provider, I’ve moved The Citizen Newspaper of Hamtramck’s site to some big iron (dual Xeon 64bit).  To…

Plone cachefu headers cause problems with Google Chrome

03 February, 2009

see have to modify some cache headers now.

ec2 security

20 December, 2008

I’m just getting started with amazon’s virtualized environment / web services after having used a few other similar services.  Working on…

Recent Hub activity

20 December, 2008

This past week, I wasn’t able to put many hours in at the bike shop.  In any case, we have been prepping for our holiday bicycle giveaway…