Ben Regenspan

About Me

Photograph of Ben Regenspan Looking Normal Photograph of Ben Regenspan Smiling

I (Ben Regenspan of New York, NY) am a web developer. My current language of choice is Javascript. I love web technology and think it should be used for purposes that are good and/or fun. I started my career at Huffington Post and most recently worked at Gizmodo Media Group (formerly Gawker Media Group).

[RESUME]

Open Source Projects

Webpack Closure Templates i18n

Javascript Webpack

Efficient internationalization of Closure Templates in a Webpack build. It's not too common to have a need to combine all of these technologies, but this was useful at Gawker/Gizmodo Media and is still used there today.

TESS Search

Javascript Node

Node CLI for querying the US's trademark search engine.

D3 HAR Chart

Javascript D3 Web Performance
HAR chart screenshot

A D3 visualization I made for this web performance presentation. Shows a simple view of the data found in a HAR file, useful for analyzing a page's performance at load time.

eslint-plugin-extend

Javascript ESLint

ESLint rules for enforcing safe use of _.extend() / $.extend(). This approach is now pretty outdated. In a new project, I would instead favor use of the object spread operator.

Jewnicorn

Python bad jokes carried too far

This is a lightly modified fork of gunicorn, the widely-used all-Python HTTP server. It preserves all of gunicorn's features, but prevents it from serving content on Shabbos. ("astral" is used for finding local sun-up/sun-down times).

While this project exists entirely as a dumb joke, it should be noted that some sites do close down on the Jewish day of rest, B&H likely being the most prominent example. There is an interesting discussion of this subject over on StackExchange.

Django Ajax Changelist

Python Javascript

This small Django app makes specified fields in the Django admin editable via AJAX. This is useful when users need to update certain properties on a number of items, and don't want to have to click through to the object detail page each time.

Fight For Your Right (To Pay With a Credit Card)


Javascript Chrome extension Frustration with Paypal
Credit Card

This simple Chrome extension defaults Paypal's payment option to credit card.

One Plus Forward, Two Plus Backward

Chrome extension

This Chrome extension adds a limit of 140 characters to Google Plus and hides the buttons for doing fancy things that wouldn't be possible on Twitter, like recording video. In the interests of exceptional yet subtle UX, the HTML5 Audio API (via Buzz!) is used to play an airhorn effect when the user exceeds the character limit, and an image of the Dalai Lama flashes on the screen to remind the user of the beauty that can be found in simplicity.

(Sadly, some updates are required to make this work again after the latest Google+ redesign)

Writing

Why Facebook Like buttons account for 16% of an average website’s code

Javascript 3P

Article discussing why Facebook's Javascript SDK is so big and what, if anything, that means for the web. [Source code]

Experiments

Benghazi Every Word

Twitter API Acrostics
Benghazi Every Word

A dumb take on a strange Twitter trend. Based on everyword.

WeedShirts.biz

Node Express

A (failed?) attempt to showcase the poetic form of trademark regi strations. A trademark viewer that displays only marijuana-related t-shirt designs, many of which are amusing when described in the painstaking detail recommended for registrations. Data retrieved via tess-search.

April Fools' Reverse Paywall

Akamai ESI
April Fools Paywall

I built a fun little April Fools joke at Huffington Post - a paywall that only targeted visitors with New York Times IP addresses. There were some interesting challenges to the project due to CDN-level caching, so the IP detection was written using Akamai ESI.

Weaponized Comic Sans

Web Security Comic Sans

Relying on a minor security issue in About.me (which I reported and has since been fixed), this permitted users to change the font on their About.me profile to Comic Sans.

Captcha Philharmonic

A series of audio Captchas are added one by one, then slowly removed, creating a chorus of strange voices and an impossible Captcha challenge. This sounded a lot prettier before Google last revised its audio Captcha format to defeat automatic solutions.