Yours truly will give a short presentation on the Gilt APIs at Hack Red Hook, which claims to be the first hackathon in Red Hook, Brooklyn! “Our goal is to bring together first-time hackers, of all ages and backgrounds, and experienced developers for 24 hours of learning and creating,” say Hack Red Hook’s organizers. Come by, get a Gilt Tech sticker, and learn about how you can make some extra money by using our APIs!

Gilt Lead Software Engineer Yoni Goldberg traveled all the way to Boulder, Colo. this weekend to present at LambdaConf, a full-day conference featuring functional programming-related talks and workshops. Yoni’s talk focuses on the evolution of Gilt’s architecture from a monolithic Rails app to a distributed Scala micro-services system. Check out an earlier version of his presentation (from NYC Tech Talks earlier this year) below!

This past Wednesday, Gilt Senior Software Engineer Matt Isaacs presented a talk at the Brooklyn iOS Developer meetup on how we do mobile testing—and if you couldn’t make it, then check out the slides above! Almost half of the Gilt Mobile team came out to the event to watch/support Matt and hear talks from other companies, including FiftyThree—whose amazing Pencil is something that several of us definitely covet—and CBS Sports. Thanks to meetup organizers Jeff and Stela for inviting us to present!

Gilt’s front-end engineering team recently created gg-grunt: a tidy, Gilt-ified, JavaScript wrapper around Grunt, the current “best in class” front-end build system and new standard for open source development. gg-grunt enables all of our developers to have a single install of Grunt (with our custom tasks) that automatically updates itself when we release new changes.

gg-grunt marks an exciting new era for front-end development at Gilt. Till now our front-end team has been working on (and with) “ui-build,” our legacy front-end build system written in Ruby. ui-build was extremely powerful, but Grunt gives us more flexibility and power as we shift away from Ruby and toward adoption of more tools written in Node.js/JavaScript.

The initial release of gg-grunt (0.1.x) contains two tasks: verify and lint. These two commands are now equivalent to their ui-build counterparts; in fact, the ui-build task will delegate to the gg-grunt task if both are installed. Our engineers can use either the old or the new syntax. All other tasks remain in ui-build and rake. As we reach milestones with gg-grunt, we can update ui-build to delegate to gg-grunt to perform certain tasks. Above all, this transition will make maintenance easy. And given that JavaScript isn’t going away, this will still be the case years from now.

Here’s some output from gg-grunt, running `gg-grunt`:

Here’s another screenshot of the same command, but showing an abort after a syntax error:

And finally, success!

gg-grunt also has an auto-update feature. First of all, if you don’t have the util-gg-grunt repo cloned (where all the actual code lives), but you do have the gg-grunt CLI (which lives in another repo, util-eng, which everyone at Gilt already has cloned and in their path), when you run gg-grunt, it will clone the util-gg-grunt repo, and then continue executing.

Also, when you run gg-grunt, and you’re on a tag (which you are by default), it will automatically check for a newer tag, and update if found:

If you’re offline, it won’t make this check:

If you’re on a branch or a tag, it won’t update either. This makes it easy for developers to contribute to gg-grunt itself—they just have to check out master (or a branch), make some changes, and then easily test their changes by running gg-grunt again. When their feature or bug fix is ready for release, all they have to do is create and push a new tag!

Internally we use Grunt, but with our own custom “reporter” (courtesy of Andrew Powell). You can see this reporter in action in all the screenshots above. Instead of dumping the raw output from each of the tasks (jsvalidate, jshint, coffee, etc., not to mention dozens of custom tasks) which don’t have a consistent look and feel, we use a module named “hooker” to “hook” console.*, grunt.log.*, stdout and stderr, and listen for any and all output from these tasks. We then pass the raw output through a set of pattern matchers and generate consistent output:

Because gg-grunt is written entirely in JavaScript, our entire front-end team (and some of our back-end engineers as well) can help contribute to it via bug fixes and new features. gg-grunt will use open source grunt plugins and Grunt conventions and best practices wherever possible.


We are excited and proud to tell you that the Gilt iPhone and Gilt iPad apps have each been nominated for Webby Awards this year! Our apps are nominees in the “Mobile & Apps Handheld: Shopping” and “Mobile & Apps Tablet: Shopping” categories. If you love our apps (and we hope you do), please take a minute to vote for them. But hurry: Voting ends April 25!

  • Gilt iPhone App: Mobile & Apps Handheld: Shopping Category.  Vote now!
  • Gilt iPad App: Mobile & Apps Tablet: Shopping Category. Vote now!

Now in its 18th year, the Webby Awards is pretty much the Oscars of the Internet. Its organizing body, the International Academy of Digital Arts and Sciences, includes celebrities and techlebrities ranging from music legend David Bowie to Tumblr founder David Karp. This year’s awards generated 12,000 entries from more than 60 countries, so our nominations are a huge deal for us!

Last night I presented “Taxes and Payments at Gilt” at the Portland Java User Group in Portland, Oregon. I discussed Gilt’s checkout system, tax calculator implementation, and payment infrastructure. Thanks to Jama Software for hosting the event.

Tonight Matt Isaacs represents Gilt at the Brooklyn iOS Developer meetup’s monthly event! Matt, a Senior Software Engineer on our mobile team, will discuss how we’ve streamlined testing by adopting Sauce Labs’ Appium and other automated tools. He’ll also talk about some of the technical and cultural pain points related to mobile testing, and discuss Gilt’s approach to mitigating these issues. Speakers from CBS Sports, FiftyThree and Small Planet will also present at tonight’s sold-out meetup, which begins at 7 PM at Huge in DUMBO.

Last night Gilt Senior Director, PMO Heather Fleming and Director of Program Management Justin Riservato headlined Agile NYC's monthly meetup and told the audience all about the “Triangle of Truth,” the “Cone of Uncertainty,” and other slightly Illuminati-sounding things! Check out their slides above and tweet us what you think!


Thanks to DataStax for featuring our recent, hands-on Cassandra workshop—part of our free tech courses initiative—on their Planet Cassandra blog! Go here to learn more about the class, taught by Niall Milton of DigBigData and DataStax.


The NYC HTML5 meetup group is one of our favorites to attend, so we’re super-excited that Gilt Lead Software Engineer Eric Shepherd is one of the featured speakers for April! Eric’s talk, “Matrix of Detection," goes a li’ something like this:

Imagine a three-dimensional space created by X, Y, and Z axes. On the X axis, device detection determines the right quantity of code for the device; on the Y axis, resolution detection responds to the user’s screen size; and on the Z axis, feature detection further tailors the experience to the browser’s capabilities. With users located at points within this three-dimensional matrix, a single application can be served to everyone.

The night’s other featured speakers include Leonard Bogdonoff and Deni Spasovski. The meetup takes place Wednesday, April 16 at Conde Nast’s headquarters. There’s currently a wait list, but a spot might become available so sign up and see what happens!