Category: Technology

CSS Zen Garden API

Saturday, August 30th, 2014

lol-json

Just dug up a terrifically stupid project I did a while back – a submission to the CSS Zen Garden design gallery which formats the usual page content to look like a fake REST API response in JSON format. It’s totally useless, but all the same, live demo + GitHub.

Counting White Dudes

Friday, August 1st, 2014

diversity-matrix-header

I’ll mostly be working on secret internal tools in my new role at the New York Times, but I also recently built a neat public-facing data visualization for Scratch Magazine, a digital magazine about the financial and logistical realities of working as a professional writer. I created an interactive graphic which reflects the demographics of the leadership in journalism. They are almost entirely white and male. Surprise?

This data visualization actually fails in an interesting way. The color scheme was conceived such that one parameter (hue) would map to gender (pink vs blue) and another parameter (brightness) would map to race (light for white people and darker for people of color). This doesn’t actually work, though, because in the entire corpus of publications and editors surveyed there isn’t a single female editor of color. As a result, one entire quadrant is empty and there’s no need for dark pink. It therefore might have made more sense to give the box mapped to the lone black male editor much flashier and more salient treatment, but there’s also something poignant about the industry’s intrinsic racial bias being strong enough to prevent us from using, you know, actual colors.

I’ve shared the source code for this data visualization on GitHub and have generalized it a bit so it can be easily reused to set up similar audits of other industries. Please get in touch if you’d like some help in doing so.

NYT

Tuesday, July 8th, 2014

Extremely exciting news:

nytimes

I’ve started working at the New York Times as a data visualization engineer on the data science team.

New Yorker Projects

Saturday, December 28th, 2013

lolcat-monocle

I’ve completely neglected to post my recent projects for The New Yorker:

Dosi.io

Monday, April 29th, 2013

target

I spent the past few days at the weekend-long competitive coding marathon that kicked off the 2013 edition of TechCrunch‘s annual Disrupt NY conference. Thanks to the mighty Niles Brooks and Kenneth Chen, we now have Dosi.io, an extension for Google Chrome which automatically adds additional tech industry intel to the professional networking profiles on LinkedIn — repositories on GitHub, history on AngelList, etc.

I think it’s pretty cool! But it’s not just me: TechCrunch wrote it up, and CrunchBase awarded it their big prize — they’ll be flying us out to Berlin in October to compete in the Disrupt Berlin hackathon. I can’t wait!

Maura Magazine

Monday, January 28th, 2013

Goodness, I can’t believe I’ve neglected to mention this for so long. We’re already four issues in, but I’m the main geek behind the web presence for Maura Magazine, a new digital weekly for iOS devices helmed by the amazing writer and editor Maura Johnston. She fielded my pitches at the Village Voice for a while, and you may have also read her work at a number of other wonderful publications.

This is her new experiment in small-scale direct journalism. Using an infrastructure provided by my fellow geeks at 29th Street Publishing, she publishes a handful of long-form stories each week which are pushed to a custom app loaded on the iPads and iPhones of her eager subscribers, each of whom pays a buck or less per issue, with payments automated via iTunes. Writers get paid, readers don’t have to deal with ads, everybody wins.

There’s been more coverage of this than I’d care to outdo here, so let me just refer you to some of the other guys:

As for the site, a lot of the heavy lifting is being effortlessly handled by WordPress, but I’m still really excited about a lot of the things happening in the custom functions I wrote — these are among the coolest WordPress ideas I’ve ever come up with. I don’t want to go into too much detail since we’re not openly sharing the plugins yet, but in a nutshell, the paywalls are dynamic, and you will start to see them move and react as we continue to charge along here. For example, this past weekend one of the articles was temporarily unlocked to match the HBO schedule.

And, as with my last attempt to merge tech with editorial, a hearty shout out to my good friend Buster Bylander, who jumped in with his amazing visual design sense once I was done fiddling around with the code for generating the content loops. We are both very proud of this. Please subscribe!

Have you seen my blog posts about CMJ? Y/N

Friday, October 19th, 2012

New York’s annual CMJ music festival is happening again this week. I’ve written about it before via short reviews of the litany of concerts held across the city, but this time I wanted to focus on the awesome daytime programming hosted at NYU before the shows commence each evening. So, for the Village Voice, a series of mock flow charts which help* you pick the right discussion panels to attend (* = they do not actually help).

Tuesday, October 16
Wednesday, October 17
Thursday, October 18
Friday, October 19

A few interesting footnotes here:

First, we considered putting the charts together as giant image files, which is how this sort of thing is usually done, but eventually I successfully pitched the idea of building the charts right on the web page. This makes for a much more pleasant user experience, since traversing the decision tree is just like scrolling through an article without any cropping or resizing weirdness, and the content can be highlighted and copied just like any other text. It also reconfigures itself much more cooperatively for viewing on mobile devices than a static image file would.

In a way, it’s pretty simple — essentially, we just created a whole bunch of divs and applied tons of inline CSS to them, most notably setting the background images and the padding to create the illusion of interconnected lines and arrows flowing between them. This is generally frowned upon as a web design practice, but for a single-use scenario like this it actually works quite nicely, because I didn’t have to add any external stylesheet files to the CMS and it’ll remain remarkably stable as the Voice’s site evolves in the future.

But man, that’s a lot of inline CSS! For example, generating single box to put a question in requires all these rules (many of which are duplicated because they get split across a parent and child div):

width: 500px; min-height: 150px; padding-top: 70px; background:url(“6.png”) no-repeat center top; background-color: #F9FFB2; padding: 20px; border: 1px solid #333399; text-align:center; margin: 0 50px 0 50px; font-style: italic;

Worse yet, since it’s all stored in an inline attribute, this would need to be repeated in full every time you want to generate a box of that type. And if you later need to change something — say, the images aren’t lining up quite right, or you need more vertical space for text — you’d have to go back and manually fix every instance. So in order to make this easier, I wrote a little set of scripts in PHP which dynamically applied the CSS while looping through the content I wrote for the boxes. I’ve done a fair amount of both writing and coding over the past few years, but it was really neat to finally have a project in which both were so tightly woven together.

Second, please also note the awesome visual design work by my friend John Bylander, who first brought the rough demo charts I sent him to life with subtle color and typography tweaks, and then cobbled together image files late into the night.

And finally, a nod to my sources of inspiration for this: former Village Voice music editor Rob Harvilla, who back in 2007 wrote about the rapper Mims using diagrams to thunderous acclaim, and then in 2010 covered the CMJ panels with a series of snarky comments not unlike my own Q&A content here. And then there’s also the extensive timeline of future events from sci-fi movies as compiled by the Awl, where a close examination of the markup helped me figure out how best to approach the CSS here.

See you next year, I hope.

Nerdy New Frontiers (I Think)

Friday, November 4th, 2011

I went to Cycling 74‘s big Max/MSP conference on behalf of Tape Op, who arguably have no business at such an intensely specialized event.

The most notable new addition is the certainly the optional new “Gen” object add-on, which blurs the lines between Max patches and the compiled C code used to create custom external objects, and then there’s also a partial implementation of the HTML5 JavaScript API into the canvas element which should allow… HEY!! WAKE UP!! OK, there are probably better places to find out about all that. So instead, I just wrote down the best one-liners.

more

It was fantastic and I learned a lot — enough to compel me, finally, I think, to actually patch together some of my ideas instead of just admiring the platforms from afar (don’t get too comfy, SuperCollider, because eventually I’m coming for your ass too).

So maybe that’s the big landmark for post #100 on this blog. I didn’t have much time last night when all the drinking and writing was done, but my resolve did manifest in a blitzkrieg attempt to program an alarm clock in Pure Data that would wake me up the following morning with a reminder to get this show on the road. Surprisingly, it did not take me long at all. Even more surprisingly, it actually worked, and I made it to my 10am appointment on time.

I’m sure I will eventually find this patch extremely embarrassing. But, well.

Why I’m terrible at Pazz and Jop (or, grumble grumble dork)

Wednesday, January 20th, 2010

I have a small spot this week with the Village Voice for the 2009 “Pazz and Jop” music critics’ poll.

2009-pazz-and-jop-issue

(Not me.)

There’s my ballot, of course, and Glenn McDonald’s usual statistical analysis (he was quite fittingly tapped by the Voice to run the official numbers this year), but also this time a short bit in the commentary portion of the program.

As a displaced second-generation, it warmed my heart a bit to see legendary Indian film composer A.R. Rahman finally get his due in the States thanks to the Slumdog Millionaire soundtrack, the ensuing performance during the Grammy Awards broadcast, and, of course, that crucial assist from M.I.A.’s tidy soundbite referring to him as “the Indian Timbaland.” It’s a shame, however, that it took six years to come up with a suitable follow-up to Jay-Z championing Panjabi MC. Come on, second-most-populous country in the world, get your act together.
More

ar-rahman

(Also not me, but getting warmer, I suppose.)

Since the Petey Pablo song is a good six years old at this point and “Jai Ho” as sung by the Pussycat Dolls makes me die a little inside with each masochistic tick of the iTunes play count (yes, I downloaded it, shut up), I’ll instead point you here to “Mann Chandre” from his decent (if ultimately not quite ballot-worthy) ’09 album Connections. I’m not so sure about the Voice’s section heading, which is “Yes, I ‘Actually’ Like It: More music to love, loathe, fear, and tragically fail to avoid,” but I’ll guess I’ll just assume the first option there unless explicitly told otherwise.

Now, I’ve voted before, but this time my guiding logic was a lot more interesting (a relative term there, I realize).

First, the unranked singles portion. I was far better equipped to handle that part this year, in large part because I’ve been closely following former Stylus Magazine writer Will Swygart‘s awesome new Singles Jukebox blog, in which he aggregates the scores and witty blurbs about current pop singles from his own fairly killer lineup of music critics; it’s a bit like a daily P+J pill, in a way. The Jukebox first crossed my desk around the time they skewered Parachute, a pop-rock band based in Charlottesville which I wrote about on several occasions for The Hook; it was both brutal and captivating, and I’ve been addicted ever since. The caveat here — and it’s a big one — is that I didn’t manage to get around to sifting through Pitchfork’s 2009 best-of yet. It’s been compiled into a single handy download, available via your favorite troublemaking website. Say what you must about other aspects of their editorial coverage — there’s some baggage there, at least — but I really can’t argue with the taste; 2007 and 2008 (also available via the same) were superb. (I will also point out, however, that somehow my stated preference for the wonderful remix of Das Racist’s otherwise grating snack food devotional chant “Combination Pizza Hut And Taco Bell” was not preserved, and the votes for both were apparently collapsed when tallied.)

The album portion will require a bit more explanation.

See, while I am a voracious listener and obsessive hoarder, for the most part I am quite over the album as an arbitrary grouping construct for listening; Smart Playlists > iTunes Genius > Shuffle, and so forth; no big surprises there, I’m sure. But in addition, I still tend to listen more as a fan and a musician rather than as a critic, which means that I’m looking for things I can love and/or learn from (ideally both) rather than pontificate on or publish about. Come to think of it, even when I’m wearing the critic’s hat, I’d say it’s of far more value in the long run to spend my energy making friends with established works of far-reaching cultural relevance than running around trying to obsessively catalogue everything that’s new and undocumented. More bluntly, and obviously: I care more about what it sounds like than when it was released. However, I write in various forms for what can only sensibly be considered the mainstream music press, which overwhelmingly tends toward discussing new albums. Thus, I have a little conflict on my hands.

I should therefore be considered fairly incompetent with this sort of thing, grand statements about evaluating the best albums of the year and so on, hence my even-steven ten-point ratings across the entire group. Honestly, it all just amounts to a mad dash every November or so to find ten that I’m not horribly embarrassed to throw my support behind. (I realize there’s plenty of amazing stuff being made, though, so that’s less a cynical humbug in which I hate all contemporary music and more like an admission that I’m not particularly inclined to look for it in my increasingly-rare elective listenings when there’s still so much Mingus or whatever which I haven’t learned yet.)

Anyway, last year I barely made it to the tenth. This year, I found nine. This brings us to another substantial disconnect between my head and my writings, and then to what just might be the strangest album represented in the poll this year.

Thanks to other facets of my life (I have them, I swear), I have a substantial amount of training in things like music theory, arrangement, audio engineering, and production technology, and though they all certainly inform my evaluations when I’m writing critically, they’re fairly difficult subjects to address directly unless I’m dealing with a specialty publication like Tape Op, Create Digital Music, or Indaba (although I did recently get away with dropping some theory on Lady Gaga for PopMatters). So given the opportunity, and finding myself in a bind just hours away from the submission deadline, I decided to give slot #10 over to my hyper-technical side.

I’ve been doing a lot of web development in PHP lately, specifically with the “object oriented” paradigm, in which the functionality is captured in small modular chunks and recalled asymmetrically instead of simply run from the beginning of the script through to the end. That logic is just a way of organizing concepts, though, and has also been used to great effect in several audio-specific programming platforms that I’m really interested in learning as a way of taking my interest in controlling audio technology to its logical extreme. They essentially let you sculpt sounds using the most low-level fundamental elements your computer can possibly control — oscillation frequencies controlled by mathematics controlled by data flow structures, and so on. Max/MSP and PureData are the most popular graphical options among these, but I’ve lately developed a particular interest in a similar textual platform called SuperCollider, mostly due to its elegant program infrastructure and also its ability to export to Apple’s industry-standard Audio Unit plug-in format, which allows finished projects to be run as fully-integrated elements of more common audio workstations like Ableton Live or Apple’s own Logic and GarageBand.

It’s quite incredible. It runs on code and equations, like so:

supercollider

And I find putzing around inside quite fascinating even though I don’t really know how to drive it yet. It even shares vague syntactical similarities with PHP.

So then a funny thing happened earlier this year among SuperCollider users: presumably as equal parts a show of coding virtuosity and a means of much-needed social interaction, the finest among them started sharing their sound creation codes using Twitter, which obviously meant that a complete idea had to be executed in under 140 characters (in some cases even leaving room for the #supercollider hashtag, which is of course all the more impressive). Some of them are quite captivating, all things considered. Immediately after submitting my ballot, I fully intended to write my own 140-character tidbit by the time the issue came out, but damn, this shit is hard! Not quite there yet, unfortunately. So instead…

By Batuhan Bozkurt:
play{AllpassC.ar(SinOsc.ar(55).tanh,0.4,TExpRand.ar(2e-4, 0.4,Impulse.ar(8)).round([2e-3,4e-3]),2)};// #supercollider with bass please… [mp3]

By Micromoog:
play{VarSaw.ar((Hasher.ar(Latch.ar(SinOsc.ar((1..4)!2),Impulse.ar([5/2,5])))*300+300).round(60),0,LFNoise2.ar(2,1/3,1/2))/5}//#supercollider [mp3]

(As far as I can tell, the code is also the title of the piece, which is either cute or infuriating, depending.)

A sort of best-of was promptly curated by UK tweako-tune mag The Wire for digital release (aka “woohoo we made a zip file!”) as SC140. I am sure you’ll be shocked to learn that I’m the only guy who voted for it.

Putting the I in API

Saturday, August 29th, 2009

Starting here, with my review of the 2005 Four Tet album Everything Ecstatic, I’m now writing for eMusic. I find this, to put it mildly, absolutely thrilling.

Four Tet - Everything Ecstatic

One of Kieran Hebden’s more aggressive outings under the Four Tet moniker, Everything Ecstatic veers away from the rustic acoustic guitar loops which, for better or worse, came to represent his earlier work. Here, he replaces those sounds with low-pitched synth rumbles, buried beneath the drum machines like the unrelenting drone of a factory assembly line.
More

As an aspiring music writer, I’m always following bylines and tracking other writers as they hop around between publications, which is why I was able to conclude long ago that eMusic’s editorial division is probably the strongest on the internet. I’m still a little woozy at the thought that I’m now part of it myself. Since I know most people don’t obsess over critics the way I do, a quick run-down of some of the other eMusic contributors whose work I’ve admired elsewhere:

It’s really amazing that they’ve been able to collect all these heavyweights under one masthead. Most dizzying of all, though:

Kurt Loder

That’s right, I’m now writing alongside Kurt Loder, whose MTV News briefs were a staple of my after-school vegging-out through the 90′s and present every step of the way — prodding me along, actually — as I grew to become an obsessive music fan.

Here’s the thing, though — eMusic isn’t, as you might think, a music magazine.

Rather, it’s an MP3 download store in the vein of iTunes. Its prices are considerably lower, however, and its catalog is heavily skewed toward indie labels. Particularly in the earliest days of the digital music Wild West, it made for a much more customer-friendly download service than Apple’s. For one thing, the audio encoding algorithms were better, a detail about which I care quite a bit, and there wasn’t any Digital Rights Management, a sort of catch-all term for the various forms of nefarious copy protection horseshit that the major labels once demanded the download stores employ before they’d permit inclusion of their tracks. Your previous purchases could even be downloaded repeatedly if need be — say, in the event of a hard drive crash or laptop theft.

Most striking of all, though, was that rather than $1 a-la-carte purchases, a low monthly subscription fee would get you unlimited access to the catalog, meaning that you could explore new music with reckless abandon. A few people used to complain about the selection, which excluded almost all major label content, but I’d just run searches for phrases like “Best Of” and “Greatest Hits,” and the results would overflow with guys like Hank Williams and Nusrat Fateh Ali Khan and Andrew Lloyd Weber — all hugely influential artists that I felt compelled to teach myself about even if they were off the beaten path. With said path being beaten mostly by dolts like My Chemical Romance, it was hard for me to see this as a problem.

eMusic started enforcing monthly limits on customer downloads in 2004 after independent music became hip again and the site’s popularity increased accordingly, which was unfortunate for the customers, but an understandable move overall because the free-for-all obviously wasn’t financially sustainable if proper royalties were to be paid out to the artists. The landscape has changed a lot since then, but even though iTunes has since dumped DRM and doubled its audio encoder bitrates, and even though eMusic has since increased its prices and embraced major label content, I still think they’re doing something remarkable. If you haven’t already, go check out the page on which my review appears and/or one of the artist pages. You will, in a manner of speaking, see the entire internet at a glance.

I spend a lot of time navigating the intersections between art and technology, and can unequivocally say that eMusic’s site is a case study in awesome. They’re able to pull in data from other places — Wikipedia, YouTube, Flickr, the All Music Guide — by sending queries through cross-site connection protocols called APIs. (That’s “application programming interface,” not “Automated Processes, Inc.,” although I can see where the ambiguity comes from.) For example, if they send an artist’s name as specified by the All Music Guide’s API, they might get his bio in return, and then by doing the same per YouTube’s instructions, they can return all his related video embeds.

This is all then rendered as part of the page content, and the effect of so many API’s working successfully and in synchrony is quite breathtaking, producing an evolving aggregate snapshot of the music you’re inquiring about compiled from sources all over the internet. At the risk of sounding like a raving partisan lunatic, especially given my earlier thoughts regarding their other writers, eMusic’s may be the most technically remarkable, staggeringly efficient music discovery platform I’ve encountered. In fact, though I’ve let my payments lapse on a couple occasions — mostly because the music submitted for the coverage I was writing for The Hook had piled up ominously — I’d usually still log in and browse around even though I couldn’t download anything. eMusic might not be able to offer unlimited downloads the way they once did, but the site makes for a very compelling substitute.

As for the ways in which the art — by which I mean both my writing and the songs I write about — collides with the technology, it’s pretty clear to me that eMusic considers their writers an important part of the equation. Just as the writer in me is thrilled about getting filed away alongside Kurt Loder, the geek in me is excited to watch as the writer gets a seat right next to the Wikipedia API. Welcome to the machine, and so forth.

Indabalamadingdong

Friday, June 26th, 2009

Indaba

Some activity of note on various blogs other than this one:

First, at PopMatters, a quick look at NOBOT‘s awesome score for the delightfully depressing animated short Subprime.

Also, for the past couple months, I’ve been contributing some posts to the blog run by Indaba Music. Their conceptually remarkable project pairs a social network for musicians with an online audio editing platform to facilitate collaborative recording over the internet; think Apple GarageBand running as a Java blob in your browser with Facebook Lite spackled on top.

Now, I’m just on board to feed occasional articles to the community of participating musicians, but the the geek in me is fascinated by this intersection between web development and audio production. Music distribution has been radically transformed by communication technology in the past decade, and now we’re starting to see the creative end change as well — Ableton recently started hosting a repository wherein Live users can share their sessions, and scripts and patches for Max, Pd, and other software platforms are now sometimes shared via Subversion, a kind of version-controlled incremental super-FTP which was previously the domain of hardcore programmers. That’s to say nothing of the online libraries and torrents used for distributing the tools, of course, which are plentiful, if sometimes of dubious pedigree.

As you can see from my archive, however, the Indaba posts are not always technical — some of my favorites thus far have discussed the insect response to Led Zeppelin and the social elements of Green Day’s latest album release and even attempted to earn back the $12 I wasted on seeing the goofy Star Trek prequel. That said, I’m also quite happy with the epic treatise on my favorite delay pedals, mostly because I can’t get away with that sort of post anywhere else.

Well, except for the new blog run by the magnificently eccentric DIY music-making mag Tape Op, that is; you can also occasionally find me there in between articles for the print edition, which aren’t made available online. I should probably post more frequently since I’m the guy who talked the editor into launching a blog in the first place, but if anything, I need to spend less time and energy talking about these things and more time using them.

On being yellow

Sunday, March 1st, 2009

Smiley Face

At long last, here’s the new web site. As you have probably noticed, it’s very yellow, which I absolutely abhor, but there’s a good reason behind that. More on that in a minute.

After entirely too much procrastination, I finally got around to relaunching using WordPress. I’ve been working with WordPress for years, so I didn’t have any excuse other than the time it took to convert the old flat HTML files (yikes!) to WordPress posts. (I never said it was a good reason.)

Since I have a tendency to make everything I do far more difficult than it needs to be, I’ve also gone back and added as many relevant pictures as I could find. There were a couple of edits here and there, but for the most part the text content is the same — that is, except for the article excerpts I added all over the place. The end result is that even with the old items, there’s now far more content to read and look at, and now that everything has comment functionality, you can even interact.

I get a much better admin interface on my end, which should translate into updates that are more timely and regular. There’s also an RSS feed for those of you who might want to check up on me more regularly (all three of you). All of this should have happened in about 2005.

One of the other reasons it took me so long — after I had made up my mind to switch, I mean — is that I built some things along the way. I wrote this WordPress theme myself, and it has some cool extra functionality built in. I’ve disabled it for now, but I should be rolling it out eventually. (When I’m good and bloody well ready, so stop asking.)

That stuff is also the reason it’s yellow. Sorry, was that anticlimactic?

Nullsleep live review

Wednesday, October 29th, 2008

Nullsleep

Jeremiah Johnson makes lo-fi techno using video game hardware, and you’d be astonished at how competent it is.

The assumption that Johnson is mixing together sets of different video game soundtracks is a pretty common mistake. The guts of this process are actually considerably more interesting, though: Specific timbres and pitch sequences are programmed using special cartridges—some homebrew software burns on blank cartridges made with expensive proprietary writers, others imported from Europe thanks to an industrious German—and are then sent through an amplifier several hundred times larger than the carts they start on. But it’s not quite that simple—first, the signals have to pass through Johnson himself.
More

Monkeyclaus store

Friday, February 15th, 2008

Monkeyclaus Blue Monkey

A beta version of the Monkeyclaus online music store is now open for business. Check it out — there’s tons of cool music that you won’t find anywhere else, and I had a hand in setting up some of the back-end audio functionality.

Lecture circuit

Friday, November 2nd, 2007

Lame MP3 logo

And now for something completely different: most likely because of my recent articles in Electronic Musician, I’ve just been asked to lecture at Washington and Lee University next week on the various audio media formats and their implications for the record industry. Vorbis nerds unite!

Flash videos

Monday, May 8th, 2006

I still have yet to start a YouTube account, but I’ve added some of my scoring samples to the Videos section of my MySpace account. The content is the same as what you’ll find on this site, but the clips are stuffed inside some sort of stream-happy flashamadoodle in case you don’t want to download the files hosted here.

Identity crisis

Tuesday, July 5th, 2005

My fly new net stylings = awesome.

Spending my Saturday nights working on them = less awesome.