image

We’re super-excited to be cohosting a panel discussion with Docker and the Docker New York City meetup group next Tuesday, April 29! The event  starts at 6:30 PM at our 2 Park Avenue office and features Gilt Co-Founder/CTO Michael Bryzek, Docker VP of Services James Turnbull and Spotify Infrastructure Engineer Drew Csillag. Thrillist Lead DevOps Engineer/Docker NYC co-organizer Jesse White will moderate the panel, which will cover topics ranging from Docker’s evolution to Gilt’s work with Docker to improve continuous delivery of our micro-services architecture. RSVP here.

If you’re curious about Docker at Gilt and want to get a head start on preparing your Q&A questions for April 29, check out these lightning talks by Gilt engineers Jonathan Leibiusky and Rangarajan Radhakrishnan.

image

Gilt is one of more than 400 tech companies exhibiting at this year’s NYC TechDay—a start-up science fair at Pier 92 that TechDay organizers say is “the world’s largest start-up event.” Registration is free, so if you live anywhere near New York City you should sign up and go! A delegation from Gilt’s Tech team—including half the mobile team from 3 to 5 PM—will be hanging out at our booth to answer your questions, hand out swag and play ping pong with our guests. All the fun begins at 9 AM and runs through 5:30 PM.

Here’s a video from last year’s TechDay:

image

This Thursday (April 24) Gilt Director of Back Office Systems Christopher Hazlett will appear at NYC’s Snapple Theater for “Business Dilemma: Effective Tech Team Management,” an event organized by the New York City Web Development Community meetup. Tailored to the interests of business owners, project managers, developers, and other stakeholders, the night’s presentations are meant to help the audience “bridge the disconnect that exists between management and tech people.” Titled “Say No…For the Greater Good,” Christopher’s talk will highlight how saying no has helped the Back Office team prioritize tasks, successfully achieve its goals and collaborate with a diverse array of stakeholders. Doors open at 6PM; RSVP here to attend!

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 lint:common.id`:

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.

image

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.