Backstage Blog

RSS logo

Building Clojure Services at Scale

September 20th, 2013 by Duana Stanley

SoundCloud has a service-oriented architecture, which allows us to use different languages for different services. With concurrency and scaling in mind, we started to build some services in Clojure due to its interoperability with the JVM, the availability of good quality libraries, and we just plain like it as a language.

How do you build distributed, robust, and scalable micro-services in Clojure? Read what Joseph Wilk, an engineer and Clojure enthusiast at SoundCloud, has to say.

Read more…

Writing your own Karma adapter

September 9th, 2013 by Misha Reyzlin

Background

When we started to work on the new version of our mobile web app, we knew we wanted to run unit tests on a wide variety of clients, mobile devices, PhantomJS, and on Chrome when running locally. Because we practice continuous integration, we knew we also wanted Git hooks and proper results formatting.

We chose Karma runner, which is a project from the Angular JS team that provides developers with a “productive testing environment”. One of the advantages that Karma runner offers over other similar projects is its ability to use any testing framework. At SoundCloud, we aim to have the same toolset across various JavaScript projects, and our unit test framework of choice is Tyrtle

Read more…

Responsive Android applications with sane code

August 12th, 2013 by Duana Stanley

A common problem in Android development is that you need to jump off the main UI thread to retrieve data from an IO-based source. At SoundCloud, we use Netflix’s RxJava to simplify asynchronous flows in Android. In an interview given for the Google Developers series “root access Berlin”,  Mustafa Sezgin—who heads up our Mobile Team—explains why we chose RxJava, what it gives us, and he walks through an example-usage pattern:

If you are interested in more details, be sure to catch Matthias Käppler—from our Android Team—give an in-depth talk at Droidcon London

Read more…

Win a trip to the Barcelona Ruby Conference

August 9th, 2013 by Erik Michaels-Ober

Barcelona Ruby Conference September MMX111

The lineup for BaRuCo 2013 looks amazing, with speakers such as Aaron Patterson, Katrina Owen, Sandi Metz, and Ruby’s inventor Yukihiro Matsumoto. The conference is currently SOLD OUT, but we have one extra ticket… and it could be yours!

If you win the ticket, SoundCloud will fly you from anywhere in the world to Barcelona, Spain and put you up in a nice Catalonian hotel.

How do you enter to win?

It’s simple. Just create a command-line interface in Ruby that uses the SoundCloud API. You can use the SoundCloud Ruby SDK, but this is not a requirement. The only…

Read more…

Music Hack Day Coming to Toronto!

July 9th, 2013 by Paul Osman

Toronto

The first Music Hack Day — organized by our very own Dave Haynes — was held in July 2009 in London, UK. Since then there have been over 30 Music Hack Day events all over the world in cities like San Francisco, New York, Paris, Barcelona and Reykjavik.

Music Hack Day events gather programmers, designers and artists to conceptualize, build and demo the future of music. Software, hardware, mobile, web, instruments, art — anything goes as long as it’s music related.

I’m happy to announce that SoundCloud is teaming up with Rdio, Unspace and The Echo Nest to organize the first ever Music Hack Day in Toronto. MHD Toronto

Read more…

Berlin Geekettes All-Women Hackathon Roundup

April 25th, 2013 by Amelie Anglade, Tiffany Conroy, Emily Green, Duana Stanley

Late last year, six women crowded in to a Mitte cafe booth and listened to Berlin Geekettes founder Jess Erickson share her idea: Berlin’s first all-women hackathon. With SoundCloud’s Amelie Anglade the then newly-appointed the Berlin Geekettes Tech Ambassador, we agreed that it was a great idea to produce the hackathon as a partnership between the Geekettes and the women developers of SoundCloud.

Duana discussing APIs

Fast forward to the first weekend of March, when the vision became reality: after 24 hours of hacking, 80 women demoed 29 projects across a range of different platforms, from a belt transformed into a game controller to an app aimed to help toddlers learn to do everyday tasks.

Read more…

Removing 'hotness' parameterhotness

April 16th, 2013 by Paul Osman

The /tracks endpoint has traditionally accepted an order parameter for ordering results by either creation date or ‘hotness’. The method for calculating a tracks ‘hotness’ has never been clearly explained, but generally speaking is based on the number of likes and listens a track receives.

Recently we started to experience problems with the query that returns tracks ordered by hotness. In the past weeks, these problems started to effect and even cause outages for API users.

We have decided that the best way forward is to remove this parameter. Starting soon, GET requests to the /tracks endpoint will ignore the order

Read more…

SoundCloud at PennApps

January 23rd, 2013 by Paul Osman

Last weekend, we sponsored and attended our first PennApps, the world’s largest student run hackathon held at the University of Pennsylvania in Philadelphia. Nearly 500 students participated from a variety of universities across the US and elsewhere. Students were given 36 hours to get into teams, hack on projects, then show them off to the judges. The results were astounding. In total, over 100 hacks were submitted. Here are some of my personal favourites.

Giving my API Demo

Read more…

Architecture behind our new Search and Explore experience

December 4th, 2012 by Petar Djekic

Search is front-and-center in the new SoundCloud, key to the consumer experience. We’ve made the search box one of the first things you see, and beefed it up with suggestions that allow you to jump directly to people, sounds, groups, and sets of interest. We’ve also added a brand-new Explore section that guides you through the huge and dynamic landscape of sounds on SoundCloud. We’ve also completely overhauled our search infrastructure, which helps us provide more relevant results, scale with…

Read more…

Coding for GOOD - SoundCloud API

November 2nd, 2012 by Paul Osman

The web has come a long way. We have APIs that allow developers to create amazing applications quickly, and browser technologies have advanced to the point where JavaScript / HTML and CSS are necessary tools for creating apps. Despite this, there’s still a skills gap and companies are having an increasingly hard time hiring for technical positions.

This is the main reason the folks at GOOD teamed up with the Apollo Group to launch Coding for GOOD. A series of coding lessons and final project…

Read more…