Here’s Typesafe Senior Software Engineer/Scala In Depth author Josh Suereth earlier this week at Gilt’s NYC office, teaching his sbt workshop. Josh spent more than two hours covering settings, configurations, dependency management, and other topics. More than 50 non-Gilt technologists from the metro NYC area joined members of our engineering team for dinner and the class.

If you’re curious about sbt but couldn’t attend the workshop, check out Josh’s presentation from the 2014 Northeast Scala Symposium:

#gilttech’s excited to announce that Roland Tritsch will be the featured speaker at the next Dublin Scala Users Group meetup! Roland, who is Director of Business & Application Services at Fujitsu UK and Ireland, will present “Scala, Android & Bluetooth Low Energy: How to Make It All Work Together?" He’ll show us how to build Scala apps for Android and will then introduce the Scaloid framework as a way to do Scala development “the Scala way” on Android. As part of the presentation, we will build a simple BLE scanner (looking for beacons).

Roland has more than 25 years of experience building, running and fixing software engineering organisations and large distributed systems. His background includes positions at IONA Technologies, Gilt and HP. He likes computers, software and cycling, and these days is most interested in finding ways to make the “Internet of Things” work.

Roland’s an excellent speaker and teacher—we have first-hand knowledge of this!—so this will be a don’t-miss. Go here to RSVP!

More than 90 Dublin technologists came out to Docker Dublin’s inaugural meetup, co-organized by Gilt! Here’s Docker Dublin founder/organizer John Zanchetta kicking off the event:

image

And here’s Gilt Co-Founder and CTO Michael Bryzek, the main presenter of the night, describing how our engineering team has been using Docker and AWS to deliver immutable software releases to production:

image

The Docker Dublin group has tons of potential, and we’re very excited to be working with John to help the group expand. If you’d like to give a talk at an upcoming meetup, please send an email (include your suggested topic) via the DD meetup page. Then follow the group’s Twitter account to receive news and updates!

image

If you’re a NYC-area Scalasmith who can’t attend our July 3 Scala libraries course because you’re starting your patriotic gardenburger-grilling a day early, here’s another opportunity to learn Scala things at Gilt for free: On July 14, we’re hosting a free sbt workshop with Typesafe Senior Software Engineer Josh Suereth! Josh, the author of sbt in Action, will give an introduction to sbt and show how it can make your development flow better. The talk will be accessible to people who have not used Scala or sbt extensively, but will also include useful examples and tips for seasoned sbt users.

When: Monday, July 14, 2014 from 6-9 PM
Where: 2 Park Avenue, New York, NY
Cost: FREE (includes dinner)
Who: Gilt technologists, maybe you too

Fill out the form below to submit your contact info. (You must be age 18 or older to attend.) Please note that submitting this form does not guarantee you a seat—but we’ll try our best. We’ll also keep your contact info on file to let you know about future classes!

image

As part of our ongoing efforts to offer free Scala education to the Dublin and NYC tech communities, we’re hosting a free, full-day class on July 3 that focuses on Scala libraries! Targeted at experienced Scala engineers, the class focuses on safe and true abstraction with three of the typelevel.scala libraries: Scalaz, Shapeless and Spire.

Teaching the class will be Stephen Compall, a longtime Scalaz developer whose Scala knowledge comes from having studied with various typed functional programming gurus. While pursuing an understanding of a higher kind, he’s also contributed to Shapeless and the Scala standard library, and writes about type-oriented thinking and amusing compiler games for the typelevel.scala blog. As far as he can tell, he’s the only one with his name.

More on the libraries you’ll learn about:

Scalaz: Functors are everywhere

Scalaz is a general-purpose functional programming library.  Programmers run into trouble when trying to imagine their seemingly specific and “business-y” code as merely instances of abstract concepts already provided in Scalaz. We will look at some such code and see how we can borrow the power of Scalaz, by way of higher-kinded types, to avoid writing some of the functions (and eliminate the possibility of certain errors in others).

Shapeless: Don’t talk about configuration

Shapeless is famous for pushing the limits of Scala’s type system by way of its extremely abstract system of describing data structures and the core functions built over them. As with Scalaz, it’s a question of seeing where Shapeless is already part of your code. We will practice the art of Scala constraint propagation to combine highly abstract functions from Shapeless into new highly abstract functions, and use Shapeless to solve the problem of delivering different types of configuration to different modules of code via dead-simple dependency injection.

Spire: Make numerical code work fast

Spire is the library for numeric code, from people who know Scala specialization for fast, unboxed, optimized code. It manages amazing performance tricks without sacrificing a bit of type safety; in fact, it encourages stronger type safety, even in purely numerical code, by the usual typelevel means: breaking big concepts down into their true underlying abstractions.  We’ll see why Spire math functions follow some odd conventions, learn to write unboxed abstract code, numerical and not, by imitating the Spire authors, and get our newly abstract math functions to slow down for testing and speed up in production.

 When: Thursday, July 3, 2014 from 10 AM-6 PM
Where: 2 Park Avenue, New York, NY
Cost: FREE (includes breakfast and lunch)
Who: Gilt technologists, maybe you too

Fill out the form below to submit your contact info. (You must be age 18 or older to attend.) Please note that submitting this form does not guarantee you a seat—but we’ll try our best. We’ll also keep your contact info on file to let you know about future classes!

Since 2012 the Gilt engineering team has been using sbt to build and deploy microservices and webapps—from our newest Scala microservices to our most ancient Java applications. Microservices tend to have common functionality across the fleet, from Play Framework and Akka, to our own internal libraries.

Dependencies (and their complex transitive dependencies) have always been challenging to understand and manage. Not surprisingly, the open source community has produced some tools to make it easier. One open source tool we’ve relied on for managing dependencies is Johannes Rudolph’s awesome sbt-dependency-graph plugin.

Like Maven’s dependency plugin before it, sbt-dependency-graph produces an ASCII-art representation of an application’s dependency graph, making it easier to understand and spot problems. Unlike Maven, though, sbt-dependency-graph can generate different machine-readable graph formats, which enables composing interesting behavior on top of it.

Most of the time, developers just want to see the dependency graph, and sbt-dependency-graph’s default visual output comes up short. By leveraging the machine-readable formats, we can generate even more powerful visualizations. To that end, the Gilt team has created sbt-dependency-graph-sugar: an open-source plugin that provides some sbt-dependency-graph “sugar” to simplify understanding and managing dependencies.

If you’re working on a Mac with graphviz installed, sbt-dependency-graph-sugar “just works” to convert the dependency graph to an SVG file and automatically open it on Safari:

image

To use sbt-dependency-graph-sugar with sbt 0.13.x, you can add it as a plugin to a particular project by putting this line in a .sbt file in the project subdirectory:

addSbtPlugin("com.gilt" % "sbt-dependency-graph-sugar" % "0.7.4")

Or you can make it magically available to all your sbt projects by putting that line in a .sbt file in ~/.sbt/0.13/plugins/.

Once it’s installed, you can view the dependency graph for an application and its subprojects by running:

dependencySvgView

This will compute the dependency graph, convert it to svg, and open it with Safari.

You can also customize the plugin to open files with Chrome and other applications.

We’re hoping to contribute this feature to sbt-dependency-graph after we gain some traction, so give it try, give us feedback and stay tuned for updates. For now, enjoy!

image

Today Typesafe celebrates its first-annual Play Day with a full day of webinars—and #gilttech is honored to be a part of the activities! The sessions kick off at 9 AM PST with Adam Evans, Technical Lead for BBC Children’s Future Media, “Making The Case For Play,” and run through 5:45 PM PST with Typesafe Lead Developer James Roper on “Reactive Streams and Play 3.0.”

The Play Day module we’re most excited about (we’re a little biased :) ) comes at 2 PM PST, when Gilt Senior Software Engineer Giancarlo Silvestrin (Personalization Team) shares “Lessons Learned From Implementing Play Across Lots of Small Applications and Microservices.” Details on Giancarlo’s presentation:

This session will focus on Gilt’s implementation of Play Framework across its architecture—starting with Gilt Live, a real-time page showcasing purchases made in real-time, and eventually branching out to many critical parts of the company’s tech organization (from search to inventory status updates). Play has offered Gilt numerous advantages in terms of accessibility, scalability and performance. You’ll hear more about lessons learned and the many advantages Play has offered to Gilt, a rapidly-moving eCommerce company with more than eight million users.

Hundreds of people have already signed up for Giancarlo’s webinar—and you should, too! To register, just go here.

image

On Monday night Gilt had the great and unforgettable honor of hosting a talk by Dr. Martin Odersky—author of Scala, the programming language used by Gilt and so many other top companies worldwide; and Chairman, Chief Architect and Co-Founder at Typesafe. Software engineers from Comcast, Goldman Sachs, Morgan Stanley, Twitter, Palantir Technologies and dozens of other companies joined us for the event, held at Gilt’s Midtown Manhattan office. Scala engineers from around the world emailed or tweeted us to express regret that they wouldn’t be able to attend, so for all of you: Here are some highlights of what you missed!

A bit of Scala for the Impatient: Here’s the video of Dr. Odersky’s fascinating talk (go here for the slides):

The check-in line at around 6:30 PM:

image

The great folks at Num Pang provided dinner for us and our guests:

image

Some of Gilt’s Dublin-based engineers flew in for Dr. Odersky’s talk. Here’s Principal Software Engineer (and an experienced Scala evangelist in his own right) Gregor Heine chatting with software engineer Chinmay Bijwe:

image

Gilt City Software Engineer (and recent !!Con presenter) Jennifer Shin grabs dinner with Lead Software Engineer Ryan Martin:

image

At ~7PM we all took our seats—lots of seats! A panoramic shot:

image

And from the other side of the room:

image

Gilt VP Architecture Eric Bowman (and Scala Days 2013 presenter) Eric Bowman introduces Dr. Odersky:

image

Some digital-souvenir collecting:

image

"Who here is actually using Scala or has used Scala? Almost everybody? Great!"—Dr. Odersky polled the crowd, and just about everyone raised their hands:

image

The audience listens:

image

Dr. Odersky’s talk focused on the “simple parts” of Scala, and gave some context on the language he created 10 years ago this year (Happy Birthday, Scala!):

image

Henrik Engström, Tech Lead Typesafe Console (and a Gilt featured speaker in June!), wore his Typesafe tee for the occasion:

image

Gilt engineers Sean Smith and Jim Englert took the only seats they could find:

image

Dr. Odersky spoke for an hour and took many questions afterward:

image

After Dr. Odersky’s talk, many people stayed for more food, drink and tech-talk. Here, Gilt CTO and Co-Founder Michael Bryzek chats with Henrik Engström of Typesafe and a few other guests:

image

Tim Kirk of Typesafe (far left) says hello to a familiar face while the last of the sandwiches goes to a lucky guest:

image

A huge thanks to Dr. Odersky and everyone at Typesafe for making Monday night possible! We look forward to seeing you at Scala Days in June!

Video of Dr. Odersky’s presentation by Josh Echevarria. Photography by Nancy Borowick.

image

We’re definitely getting this week off to an unforgettable start!: Here’s Scala creator and Typesafe Chairman Dr. Martin Odersky with the Gilt tech team earlier today. Dr. Odersky spent an hour answering our questions about Scala, Java 8, and much more. Later tonight he returns to 2 Park to give a talk on “Scala—The Simple Parts.” Many thanks to Dr. Odersky for his generosity, and to Typesafe for helping us to organize today’s lunch and presentation!

image

Gilt is honored to announce that Dr. Martin Odersky will speak at our New York City office on Monday, May 19! Dr. Odersky will give a presentation titled “Scala—The Simple Parts,” answer questions from the audience, and sign copies of Programming in Scala and his other books. Immeasurable thanks to the team at Typesafe for making this event possible.

Presentation: “Scala - The Simple Parts”
In this talk, Dr. Odersky will present what he views as the core of Scala. This core is built from a moderate number of general and orthogonal concepts that can be combined quite freely. The parts are simple, but the combinations can be as elaborate and complex as one wants to make them. Sometimes, the ideal of simplicity clashes with other requirements such as generality, interoperability, or ease of use. In every large engineering project, there are tradeoffs. This talk will highlight some of the simple principles underlying the language and also discuss some of the tradeoffs that had to be faced.

Where: Gilt, 2 Park Ave., 5th Floor When: Monday, May 19 at 6:30 PM To RSVP: Please register via the Gilt Tech Events (NY) meetup page. We expect seats to go very quickly for this event, so hurry! If you’re not able to grab a spot for our event, you’re in luck: Dr. Odersky will give his talk at Hunter College/CUNY on the afternoon of May 19 at 2 PM—register here to attend!

ABOUT MARTIN ODERSKY: CHAIRMAN, CHIEF ARCHITECT & CO-FOUNDER AT TYPESAFE

Martin Odersky created the Scala programming language and is a professor in the programming research group at EPFL, the leading technical university in Switzerland. Throughout his career, Martin’s singular objective has been to make the basic job of writing programs faster, easier and more enjoyable. In the process, he has personally written more lines of Java and Scala code than almost any other individual in the world. He wrote javac, the compiler used by the majority of today’s Java programmers, and scalac, the compiler used by the fast-growing Scala community. He authored Programming in Scala, the best-selling book on Scala. Previously he has held positions at IBM Research, Yale University, University of Karlsruhe and University of South Australia, after having obtained his doctorate from ETH Zürich as a student of Niklaus Wirth, the creator of Pascal.

ABOUT GILT

Gilt, www.gilt.com, is an innovative online shopping destination offering its members special access to the most inspiring merchandise and experiences every day at insider prices. Gilt continually searches the world for the most coveted brands and products, including fashion for women, men, and children; home decor; and unique activities in select cities and destinations. We believe that every day is an opportunity to inspire and be inspired.

ABOUT TYPESAFE

Typesafe (Twitter: @Typesafe) is dedicated to helping developers build Reactive applications on the JVM. With the Typesafe Reactive Platform, comprised of Play Framework, Akka, and Scala, developers can deliver highly responsive user experiences backed by a resilient and event-driven application stack that scales on multicore and cloud computing architectures.