Unified Scala(tra) Deployments with SBT
If you use SBT, which you most probably do if you’re writing Scala repos, you’ve probably used the assembly
fat-jar generator plugin for shipping and running your code. If this much is true, you’ve probably encountered merge conflicts and had to wrangle with a verbose build description and struggled...
Read more...
James Thompson Data Engineer
RequireJS and jQuery - A Journey in noConflict Mode
Being purveyors of 3rd-Party JavaScript, sandboxing is something near and dear to our hearts. We take integrating with our publishers seriously, aiming to ensure a high-quality experience for their engineers and most importantly their users. jQuery has noConflict()
and you’re gold; easy enough,...
Read more...
Chris Metcalfe Engineering Team Lead, SFP
Ryan Loomba Software Engineer
MLConf 2013 Roundup
This past Friday 11/15, Sharethrough Engineering attended the 2013 MLConf here in San Francisco where Netflix, Twitter, Yelp and others presented on large-scale ML trends and challenges.
Read on for thoughts of the day by a few members of the team - Michael Jensen, Michael Ruggiero and Ryan Weald
Read more...
Rob Slifka VP of Engineering
Your Backbone Can't Save You Now: Why We Use Backbone Marionette
The big ball of mud is a well understood software anti-pattern, and we’ve all experienced it at some point in our careers (sometimes on the receiving end but all too often as the creator). There is never a specific event where we can look back and say, “this is what caused the problems we’re experiencing...
Read more...
Danny Olson Software Engineer
Testing Storehaus with Guice
Testing code that depends on databases has always had twists and turns, but writing tests against large-scale key/value stores has its own set of challenges. If your app writes to Riak, should each developer’s machine have a fully-configured Riak instance? If the code writes to the data store using...
Read more...
Michael Ruggiero Director of Engineering, Exchange
Getting Started With Scalding and Amazon Elastic MapReduce
Here at Sharethrough, we’re big consumers of Twitter’s Scalding - a Scala-based DSL providing a functional programming abstraction on top of Cascading/Hadoop. It’s a terrific way to think through workflows and with Amazon’s Elastic MapReduce service, it couldn’t be easier to get started (well it...
Read more...
Rob Slifka VP of Engineering
Notice to startups: You are doing data science wrong
This past weekend, we penned a piece over at GigaOM about the importance of integrating your data science folks into your engineering and product process.
For startups, data science should not be seen as a separate scientific initiative but as an integrated part of the product. Speed and efficiency...
Read more...
Rob Slifka VP of Engineering
Top 3 Troubleshooting Tips To Keep You Sparking
We’ve been experimenting with Spark over the past few weeks. Our two main motivations for doing so were Spark’s excellent support for iterative algorithms and the new Spark streaming features for real-time data processing.
While we found the Spark APIs easy to work with, we did run into a few beginner...
Read more...
Russell Cardullo Senior Staff Engineer
The Right Time for Structure: Retrofitting Backbone.js to a jQuery Application
It started innocently enough. We had a story to make a few UI changes to a small JavaScript app. There would be no functionality changes, so it was going to be an easy morning. Maybe even an early lunch? When we fired up Vim we saw that lunch was going to be a bit later than expected and that we...
Read more...
Danny Olson Software Engineer
Elasticity 2.6 Released
Over the weekend we released the latest version of Elasticity, the gem we use to control our Amazon Elastic MapReduce flows. Two big features and a handful of incremental internal updates went in from 2.5 to 2.6 including job flow completion polling and debug support.
Completion Polling
One of...
Read more...
Rob Slifka VP of Engineering