vijith

Hello! I am a software engineer, writer, and musician, the common ground between which is the manipulation of structures like code, chords, layouts, grammar, and so on. Over the years I’ve worked as an interactive data visualization engineer at the New York Times and as a journalist for The New Yorker magazine, coded custom multimedia software for Bob Dylan’s internal archives, edited a weekly newspaper, engineered and produced recording sessions, taught kids how to code and play instruments, and written columns for Spin, The Village Voice, The Awl, and McSweeney’s.

TwitterGitHubLinkedIn

🚨 !?!?!?!?dsakjlfdsa 🚨

An Interactive Guide To Ambiguous Grammar
Satirical English lesson for McSweeney’s about destructive uses of language.
Writers of Color
An index of writers sorted by location and expertise to help diversify editorial recruiting, with an accompanying Twitter account for posting job opportunities.
(Rap) Genius security vulnerability
After concerns about harassment via the controversial web annotation tool arose, I coded some tools to confound it. Along the way, I discovered that it was strategically undermining and exploiting a browser security feature, so I wrote a long reported feature about my findings for The Verge.
lit
A shell preprocessor for extracting and executing Markdown code blocks to enable documentation-first “literate programming” in any language, an agnostic implementation of similar functionality as found in CoffeeScript and Haskell. (Also see lit-web.js for a web-native variant.)

✏ Words ✏

The Evolution of the Web, In A Blink
An article for the New Yorker’s tech blog about the shifts in web browser rendering engines and their likely effects on the future of the internet.
The Internet Is Lying To You

For New York magazine, theorizing that breaking URLs has also started to break everything else
The Internet Can Save Itself
For New York magazine, how the architecture of the internet intrinsically fights for net neutrality.
Software Can Have Opinions
For New York magazine, explaining the design philosophy of “opinionated” software and its possible ramifications for the FBI’s legal assault on encryption.
Nobody Can Build An Email Killer
An op-ed for New York magazine about how the funding practices of Silicon Valley impede the development of new communication tools. (Also see follow-up regarding Google’s AMP for Email.)
The Software that Builds Software
An early history of GitHub for the New Yorker.
A New Premise to Capture Prices Around the World
For the New Yorker, looking into a clever new financial index assembled entirely with smartphones.
Where Did Twitter’s Extra Characters Come From?
For Motherboard, an attempt to divine possible futures for Twitter based on subtle changes to their developer-focused API documentation.
Meltdown, Spectre, and the Costs of Unchecked Innovation
How the twin security exploits illustrate our inability to safely imagine
It’s No. 1 Somewhere
A column about major pop chart hits in foreign countries, first launched with Spin and then later reconstituted for the Awl.
Loving The Robots
For the Village Voice, an essay about moving to New York City while trying to listen primarily to academic experimental music.
My Heart Feeds A Series of Tubes
For The Message, Medium’s internal editorial incubator, a history of the personal problems I’ve tried to solve through technology.

🤓 Code 🤓

object iteration
exactly reimplements the ES5 array method interface for key-value pairs stored in plain JavaScript objects.
memento
binds arrays across time ranges in HTML5 audio and video elements so the current position of the playback head can serve as the array index.
rerandom
repeatable randomization for JavaScript.
rollup-plugin-markdown
extracts code from fenced code blocks in Markdown during a Rollup build process. Essentially the same functions as lit, but optimized for JavaScript and available via npm.
d3-history
D3.js plugin to enable deep-linking in data visualizations.
d3-textwrap
D3.js plugin to overcome the limitations of text wrapping in SVG images.
d3-parent
D3.js plugin which selects nodes by searching upward in the DOM hierarchy.
d3-xray
Bookmarklet to enable visual debugging of D3.js data binds on the fly without inserting console.log() calls.
CSS Zen Garden API
A lightweight JSON REST API implemented in pure CSS, sort of.

🎨 Graphics 🎨

bl.ocks
Demonstrations of my D3.js plugins and other sketches and experiments.
Are Zombies Racist?
Satirical interactive network visualization for McSweeney’s.
What You Look Like to a Social Network
For the New Yorker, an accounting of the data fields contained in API responses.
Diversity in Journalism
Historical demographics of newsroom leadership positions across a wide array of newspapers, magazines, and web sites.

🔊 Audio 🔊

Tape Op archive
Assorted feature articles for the recording studio industry magazine.
Yo! Audio
Absurdist fake research paper about sampling rates and bit depths.
Cast In Concrete
Village Voice column reviewing field recordings I captured of New York City buskers and street musicians.

🏆 Accolades 🏆

Processing Foundation fellow
written documentation of p5.js software architecture (2018)
Brooklyn Magazine 100 most influential people in Brooklyn culture
for Writers of Color (2016)
TechCrunch Disrupt hackathon
professional networking tool, CrunchBase prize (2013)

postsfeedemails