Backstage Blog

RSS logo

MySQL for Statistics – Old Faithful

July 5th, 2011 by Sean Treadway

MySQL turns out to be a good Swiss Army Knife for persistence, if used wisely. Understanding disk access patterns driven by your storage engine is key. Choosing a read or write optimized disk layout will get you very far. We chose a read-optimized disk layout using InnoDB and MySQL for statistics.

While our wheels were spinning trying to find out why our statistics storage patterns were causing MongoDB to thrash our disks, we started looking for an emergency alternative with the technology that…

Read more…

Hack Ideas

May 29th, 2011 by Johannes Wagener

If you are looking for some inspiration for your next weekend hack project, here is a list of ideas that could be built using the SoundCloud platform. Feel free to add your own ideas in the comments!

Read more…

Java API Wrapper

May 19th, 2011 by Jan Berkel

Alongside with the SoundCloud Android app we’ve created a new Java Wrapper for the SoundCloud API and today we can finally release it to the public!

It is simple to use, supports OAuth2 and requires a minimum of external dependencies so it should be easily embeddable in both desktop and mobile applications.

Read more…

Post Mortem on API Outage May 5th 2011

May 11th, 2011 by Johan Uhle

On Thursday May 5th 2011 we had an API outage from ~9:00 UTC to ~14:00 UTC. This was caused by a deploy that included a migration with unexpected behavior and a bug in the application code. The migration ran on tables related to API applications and made these tables unavailable for the time of the migration. When the deploy was finished, a bug causing huge memory consumption brought our app servers down. We recovered by rolling back the faulty code and migrating the database down.

After the API…

Read more…

Experiment 02: Destroying SoundCloud & Instagram

    May 11th, 2011 by Lee

    destroyed

    I was fortunate enough to be given the opportunity to help Moby premiere his new record via SoundCloud. I didn’t know what to expect from @TheLittleIdiot‘s latest piece of work. However, I soon learned he had created a phenomenal album with a perfectly crafted and inspiring theme: Destroyed

    i don’t sleep very well when i travel. and as a result, i tend to be awake in cities when everyone else is asleep. that’s where this album, and the pictures that accompany it come from. it was primarily written late at night in cities when i felt like i was the only person awake (or alive), a soundtrack for empty cities at 2 a.m, at least that’s how i hear it. the pictures were taken on tour while i was writing the album. i wanted to show a different side of touring and traveling. a side that is often mundane, disconcerting, and occasionally beautiful.

    ME == PUMPED

    I immediately started on a very simple idea: Adding Moby’s photos to a map which users could explore while experiencing the record. A good digital marketing theme cannot stand on it’s own without a firm technical foundation, so I combined three of my favorites: Polymaps, Instagram, and of course SoundCloud

    Read more…

    Introducing the Large Hadron Migrator

      May 4th, 2011 by Rany

      Rails style database migrations are a useful way to evolve your data schema in an agile manner. Most Rails projects start like this, and at first, making changes is fast and easy.

      That is until your tables grow to millions of records. At this point, the locking nature of ALTER TABLE may take your site down for an hour our more while critical tables are migrated. In order to avoid this, developers begin to design around the problem by introducing join tables or moving the data into another layer…

      Read more…

      Marbleo.us

        April 28th, 2011 by Robb

        Greetings! I’m Robb and this is my first SoundCloud Backstage blog post. During the day I’m a developer working on the Mac App here in the SoundCloud office, but I’m also a university student. It was through Uni that I found out about and entered the annual informatiCup competition with my friend Simon.

        marbleous screenshot1 505x481

        Although we didn’t make it into the final around, I consider the project we made – a web-based marble run simulator called Marbleo.us – to be a success. Here’s a fun example map to try it out.

        Read more…

        Web Scale Statistics – Failing with MongoDB

          April 28th, 2011 by Sean Treadway

          As SoundCloud rapidly grows our initial systems need an overhaul. Our scaling strategy has been very realistic, design for 10x our current usage. Our initial statistics system found under https://soundcloud.com/you/stats was made when we were 100k users, living long past its expiration date.

          Background

          About a year ago we started off with the goal of redesigning the statistics pages to support 500 playbacks a second. We knew that this would be a write-heavy workload and that to sustain bursts of writes, we’d need decent partitioning. Coming from a successful experience moving the Dashboard feature to Cassandra 0.6

          Read more…

          Stream and Download

          April 6th, 2011 by Henrik Lenberg

          UPDATE: Check out our guide on Playing Sounds for the most up to date information.

          This is an introduction to how you can power your app or website with sounds hosted on SoundCloud. Via our API, you get access to millions of different sounds, and in addition to streaming and downloading tracks, you can access meta data and social features like comments and followings.

          Read more…

          Custom Players

          April 6th, 2011 by Henrik Lenberg

          UPDATE: Check out our guide on Playing Sounds for the most up to date information.

          We think the default audio widget from SoundCloud already is one of the sexiest on the web. But maybe you need something a bit simpler or complex and want to tailor the player to your needs. This is where the idea of “custom players” comes into play.

          Read more…