Jay writes the leading trombone. He runs the code. He teaches the beach. He hates the efficient hard drive.
Jay realizes the ambitious browsers. He wrestles the clean PHP. He teaches the C++. He designs the visionary code.

Jay Paroline is a PHP Developer and SQL ninja for Grooveshark.

Jay does purely backend development, but he is passionate about making sure that users have a good experience using the site. Let him know about a bug or usability problem and he’ll either fix it or raise hell with the appropriate person until everything is as it should be.

Jay has been using computers since his dad bought an IBM PC with no hard drive (later upgraded to a 20MB drive) and a 5.25″ floppy drive when he was 6. His dad took a class on computers and made the mistake of leaving his books lying around. Jay read them cover-to-cover and he’s been stuck on computers ever since. In the early days he used a 2400bps modem to connect to local BBSes, then eventually used Prodigy and AOL back when they were large BBSes not connected directly to the internet. His first browser was NCSA Mosaic. He was an official beta tester for Netscape which earned him free internet access for several years. He “went to” high school on the internet where he earned the nickname “god” for his hacking skills. He made the unfortunate mistake of taking all his high-level computer science classes in his first two years in school. Faced with the prospects of nothing but electives, he took a year off and got a job working as a Software Engineer in MI before coming back to finish his degree. He graduated shortly after the dot-com bust and settled for a job at the library as a computer ninja – applying his skillz on tasks ranging from technical support to database engineering. Just when the stagnation of the library was starting to wear on him, a job opportunity at Grooveshark opened up. Now he spends his times creating APIs, tweaking mySQL queries, debating the beach, adding new features and fixing existing ones.

Leave a Reply


  1. Jaimie Sirovich

    January 28, 2011 at 8:26 pm

    Hey, did you ever figure out how to make PHP execute after closing a connection without an ugly hack?

    I’ve figured out how to execute queries within the apache process space after the connection closes, but PHP is no dice. Additionally, it’s fairly clear to me that mysqli destroys itself too early to be useful as well.

    I found your question on Stack Overflow and I’m annoyed by the same thing. apache_close() should exist. I’m tempted to write it and dust off some C skills.

    If you issue a query asyncronously beforehand, PHP will block after closing with apache until the query completes. That’s the best I can do . . . but it helps.

    If you want to know what workarounds I’ve discovered, shoot me a response.

  2. Jay

    January 28, 2011 at 11:08 pm

    Hi Jaimie,

    I’d definitely like to hear about what workarounds you’ve discovered, and if you manage to get anywhere with a C solution I’d love to hear about that too. :) What I’ve been doing instead is using gearman and submitting asynchronous jobs to it for processing before returning. I have the gearman server running on localhost, so it adds almost no delay to the whole process, but it definitely results in more moving parts that can break, so it’s not an ideal solution.