~/devreads

22 Apr 2012

21 Apr 2012

1 min read

The Complexity of Things Previously on this blog (quite a while ago), we’ve investigated some simple ideas of using randomness in artistic design (psychedelic art, and earlier randomized css designs). Here we intend to give a more thorough and rigorous introduction to the study of the complexity of strings. This naturally falls into the realm of computability theory and complexity…

20 Apr 2012

1 min read

Today, two big Ruby news came directly from Japan: The Open Source release of Matz' mruby on GitHub. The announce of MobiRuby, an upcoming solution to develop iOS and Android applications using Ruby. Probably due to my involvement with the MacRuby project, people have been asking me what I thought of these news. mruby mruby is far from being a…

19 Apr 2012

Michael Norman 5 min read

Over time, even technologies that are tried and true begin to show their age. This is especially true for data stores as the shear amount of data explodes and site traffic increases. Because of this, we are continually working with new technologies to determine whether they have a place in our primary stack. To that […]

uncategorized

17 Apr 2012

2 min read

On Saturday, I joined over a hundred other hackers at HackTO. This has become a regular event in the Toronto tech scene, thanks to excellent organizing by Leila Boujnane and Corey Reid. SoundCloud joined several other API providers, including Atomic Reach, Context.IO, FreshBooks, Shopify, TinEye, Twilio, Trendspottr, WordPress and YellowAPI. The idea behind the event is simple: find a team…

12 Apr 2012

Alex Sexton 13 min read

Bazaarvoice is a third-party application provider. We have a growing number of applications running on our own domain, but our core business is providing user-generated content applications and widgets that are hosted by us, but run on our clients’ webpages. Scaling an application platform of our size certainly has its challenges at the data layer. […]

uncategorized

11 Apr 2012

1 min read

In the last weeks we got pretty excited about the idea of using timed comments to create and script rich media experiences. Imagine being able to trigger all kinds of visualizations & interactions for a timed comment while playing a track. Timed Comments with Media

10 Apr 2012

1 min read

Last week we announced a new integration with Ableton Live 8, that lets you easily share your sounds from within Ableton Live to SoundCloud. Today we’re making the technology behind that integration available to everyone through our new Desktop Sharing Kits. Mac Desktop Sharing Kit

9 Apr 2012

1 min read

Main Theorem: There exist optimal stackings for standard two-player Texas Hold ‘Em. A Puzzle is Solved (and then some!) It’s been quite a while since we first formulated the idea of an optimal stacking. In the mean time, we’ve gotten distracted with graduate school, preliminary exams, and the host of other interesting projects that have been going on here at…

Elena Yatzeck 1 min read

One of the conundrums of agile conversion is that although you are ordered by management to "self-organize," you don't get to pick your own team. You may not have pictured it this way, but your agile team members are going to be the same people you worked with before, when you were all doing waterfall! I know I wasn't picturing…

7 Apr 2012

5 Apr 2012

Dustin Mihalik 1 min read

We recently released our new Bazaarvoice Platform API. This is a new RESTful API that allows access to much more data and provides responses in XML and JSON. We are really excited to see the types of applications our clients will be building on the API. For a quick introduction to the API, we created […]

conversations api

2 min read

One of the SoundCloud API’s most powerful features is the timed comment. At its core it seems simple enough: a piece of text associated with a point in time for a particular track. But where you see timed opinions, I see a light-weight game scripting engine. So when Johannes Wagener told me he was adding an event to our JS…

4 Apr 2012

1 min read

Most modern web applications start as a monolithic code base and, as complexity increases, the once small app gets split apart into many “modules”. In other cases, engineers opt for a SOA design approach from the beginning. One way or another, we start running multiple separate applications that need to interact seamlessly. My goal will be to describe some of…

1 min read

SoundCloud is teaming up with Acapela Group for our first Developer Contest. Acapela Group offers amazing text to speech solutions and have a variety of SDKs so you can write apps that create sound files using one of their voices (including hip-hop and country!). Take a listen to some sample voices. We’re calling on our developer community to mashup SoundCloud…

1 Apr 2012

Elena Yatzeck 1 min read

So you want to be a consultant. You probably think this will involve yourself talking and your client respectfully listening. Your client will put you in front of her team to present a PowerPoint deck outlining how Everything Will Be Different Now. You will then distribute copies of your Initiative Plan to each of her subordinates. Once you have given…

31 Mar 2012

Elena Yatzeck 1 min read

The agile community is full of people who say things like "communication must be as rich as possible,by which they mean, "in person, simultaneously in time, and proceeding from high level to detail." Not content with this message, our community members often go the extra mile to say things like "there's no point in expecting good communication to occur otherwise.…

30 Mar 2012

Elena Yatzeck 1 min read

I've been pondering further difficulties of being a product owner, both silently and aloud, so yesterday I was happily bowled over by a new idea on the topic from my new Thoughtworks colleague Jasper "Dutch" Steutel (@dutchdutchdutch for twitterphiles). He calls his discovery the "design spike," and we ended up talking together about a related concept, the "value spike." So…

Elena Yatzeck 1 min read

I don't mean to go all "woo woo" on you, but you already have a personal online brand. Don't believe me? Bring up your favorite browser and type your name in quotation marks ("Firstname Lastname"), and do a quick search. Try it again with your middle initial added. Did something come up? THAT's it! It's your personal brand!

Elena Yatzeck 1 min read

As you join your teammates in your sparkling new agile team room, and you all do your best to quickly "become agile," I guarantee that despite being surrounded by brightly colored index cards and sticky notes, you may sometimes feel...angry. Here you are, supposedly liberated to be "self managing," out from under the collective thumbs of your corporate hierarchy, and…

Elena Yatzeck 1 min read

You might not expect to encounter the "delegation" concept in a blog post about agile software development. After all, agile is all about the "self governing team." But in the real world, if you are in a company which is transitioning to agile, and you are the project manager of a newly created agile team, you may well need to…

Elena Yatzeck 1 min read

Agile purists may be frightened to learn that in many enterprise environments, one of the first steps executive management may take towards agile adoption may be to establish an official agile SDLC process, and to post a diagram representing the process, along with its artifact templates, in some prominent place on the company web site. There will be 3-D box…

Elena Yatzeck 1 min read

I got a tweet this morning about the new VersionOne "State of Agile Development Survey" in which the re-tweeter used hashtags like #shocking and #fail. Looking for a good laugh, I clicked on over to the survey, and realized I #liked the survey and I thought it was #interesting and #helpful to me. I didn't find anything that jumped out…

28 Mar 2012

27 Mar 2012

Craig Gilchrist 1 min read

Clients like the Home Depot are using ideas from our Inspiration Gallery to find innovative ways to show off their user-generated content (UGC) and demonstrate the importance of listening to their customers. The following image is taken from a Home Depot Store Managers meeting which had all store managers as well as suppliers in attendance. […]

conversations api

1 min read

The Go team is excited to announce the release of Go 12.2, Thoughtworks Studios' Agile Release Management platform. Go has changed it's release naming convention from the previous practice of major.minor.bugfix nomenclature. The major version will now be the year of release (YY). The minor version n will indicate the nth release for the year. For ex: 12.3 will be…

23 Mar 2012

26 min read

This is an archive of the Jonathan Shapiro's "Retrospective Thoughts on BitC" that seems to have disappeared from the internet; at the time, BitC was aimed at the same niche as Rust Jonathan S. Shapiro shap at eros-os.org Fri Mar 23 15:06:41 PDT 2012 By now it will be obvious to everyone that I have stopped work on BitC. An…

22 Mar 2012

1 min read

Problem: Prove that generalized versions of Mario Brothers, Metroid, Donkey Kong, Pokemon, and Legend of Zelda are NP-hard. Solution: http://arxiv.org/abs/1203.1895v1 Discussion: Three researchers (including Erik Demaine, a computer science professor at MIT famous for his work with the mathematics of origami) recently finished a paper giving the complexity of a number of classic Nintendo games (the ones I loved to…

1 min read

Problem: Remember results of a function call which requires a lot of computation. Solution: (in Python) def memoize(f): cache = {} def memoizedFunction(*args): if args not in cache: cache[args] = f(*args) return cache[args] memoizedFunction.cache = cache return memoizedFunction @memoize def f(): ... Discussion: You might not use monoids or eigenvectors on a daily basis, but you use caching far more…

Michael Norman 14 min read

Daniel Marcotte is one of the top developers on our latest product offering, Customer Intelligence (CI). He spent quite a bit of time evaluating SproutCore 2.0 for the complex user interface requirements of CI, helping to work out some of the kinks in the product as it moved toward beta. Daniel has recently moved to […]

uncategorized

2 min read

Today we’re officially announcing our JavaScript API for the new HTML5 SoundCloud Widget. To use it, just insert the script tag on a page…

21 Mar 2012

19 Mar 2012

2 min read

Over 3 months ago we started the “Hacker Time” initiative (see here) and now it is time for a recap what’s happened so far. From the outset…

Twist Team 1 min read

Business needs, Business solutions Software Testing has found its place in the software industry, with more and more organizations understanding the crucial role that it plays in quality software production. As business requirements grow, so does the pressure on IT organizations to deliver more products with fewer resources, in reduced time and with high quality. This scenario emphasizes the need…

18 Mar 2012

1 min read

Problem: Write a program that shuffles a list. Do so without using more than a constant amount of extra space and linear time in the size of the list. Solution: (in Python) import random random.seed() def shuffle(myList): n = len(myList) for i in xrange(0, n): j = random.randint(i, n-1) # randint is inclusive myList[i], myList[j] = myList[j], myList[i] Discussion: Using…

16 Mar 2012

Twist Team 1 min read

The Twist team is pleased to announce the General Access release of Twist 2.4. This release of Twist comes with a whole set of cool new features. Some of these are listed below: 1. SynonymAssist

15 Mar 2012

Matt Cutts 4 min read

I haven’t given an update on my 30 day challenges in, like, forever. So here goes: – In 2011, I paused my 30 day challenges to do a “six month challenge”: training to run a marathon. I ended up running the San Francisco marathon (while tweeting!) and a couple half-marathons. Pro tip: ramp up slowly […]

30 days

1 min read

By the end, the breadth and depth of our collective knowledge was far beyond what anyone could expect from any high school course in any subject. Education Versus Exploration I’m a lab TA for an introductory Python programming course this semester, and it’s been…depressing. I remember my early days of programming, when the possibilities seemed endless and adding new features…

14 Mar 2012

Matthew Bogner 10 min read

This is is the second of a two-part article that outlines how we used a various set of tools to improve our page load performance. If you haven’t read part 1, go ahead and give it a read before continuing. Tactics We opted to not use our normal staging environment for this project, since our […]

uncategorized

13 Mar 2012

12 Mar 2012

1 min read

For the past N months, it seems like there is no new technology stack that is either hotter or more controversial than node.js. node.js is cancer! node.js cures cancer! node.js is bad ass rock star tech!. I myself have given node.js a lot of shit, often involving the phrase “explicit continuation-passing style.” Most of the arguments I’ve seen seem to…

1 min read

Stratus is a jQuery powered SoundCloud player that lives at the bottom (or top) of your website or blog. In version 2, we’ve rebuilt Stratus from the ground up to include many requested features, a nicer aesthetic, and a much easier installation. Pumped? Yeh, me too. Here’s how to participate in the BETA:

Elena Yatzeck 1 min read

The concepts of "continuous feedback" and "continuous improvement" are central to agile and lean philosophy. Esther Derby and Diana Larsen have a wonderful book entirely about team retrospectives. "Inspect and adapt" itself, the 12th principle underlying the Agile Manifesto, has been subject to inspection and

9 Mar 2012

Scott Bonneau 7 min read

Huge opportunity for impact. A sense of ownership. Collaboration with people across every function in the organization. An understanding of the big picture and a real opportunity to shape the future. These are some of the best and most exciting qualities of working at a software start-up. In my personal experience, working at both a […]

uncategorized

7 Mar 2012

1 min read

The SoundCloud Developer Community has grown immensely. We have over ten thousand registered applications and over three hundred showcased in our App Gallery. Our goal as the Platform Team is to provide the best API tools possible, while also providing support and inspiration. So far, our primary channels have been this blog, our Twitter account, and our mailing list, hosted…

6 Mar 2012

1 min read

It’s no secret that SoundCloud is a Ruby shop, but that doesn’t stop us from giving some love to the Pythonistas in our community. Our old Python API wrapper has been neglected. It doesn’t support OAuth 2 or all of the resources made available by our API. It’s old and crufty and we’re sorry for letting it get that way.…

5 Mar 2012

Matt Cutts 1 min read

Updated: Okay, there’s a new plan. My wife is having surgery to put a screw in her foot, and the operation is two days before my panel. I really can’t leave her to come to SXSW. We’re going to try for me to Skype in to the panel instead. Cross your fingers. Every so often […]

personal

4 Mar 2012

3 min read

SoundCloud started its agile journey with Scrum and eventually moved to an approach based on Kanban (more on that in one of the next blog…

29 Feb 2012

1 min read

Not Just Time, But Space Too! So far on this blog we’ve introduced models for computation, focused on Turing machines and given a short overview of the two most fundamental classes of problems: P and NP. While the most significant open question in the theory of computation is still whether P = NP, it turns out that there are hundreds…

1 min read

Ruby on Rails undisputedly changed the way web frameworks are designed. Rails became a reference when it comes to leveraging conventions, easy baked in feature set and a rich ecosystem. However, I think that Rails did and still does a lot of things pretty poorly. By writing this post, I’m not trying to denigrate Rails, there are many other people…

27 Feb 2012

26 Feb 2012

Henrik Warne 3 min read

Like I wrote in a previous post, the use of a break program was probably the main reason I beat Repetitive Stress Injury (RSI). For many years I used WorkPace, but when I switched to using a Macbook Pro a … Continue reading →

rsibreak programmac os xrepetitive stress injuryreview

25 Feb 2012

Henrik Warne 1 min read

Here are a few programming quotes I like: “A complex system that works is invariably found to have evolved from a simple system that worked.” John Gall “Enlightened trial and error outperforms the planning of flawless intellects.” David Kelley “It’s … Continue reading →

programmingquotes

23 Feb 2012

1 min read

Decidability Versus Efficiency In the early days of computing theory, the important questions were primarily about decidability. What sorts of problems are beyond the power of a Turing machine to solve? As we saw in our last primer on Turing machines, the halting problem is such an example: it can never be solved a finite amount of time by a…

1 min read

Yesterday I did some quick digging into how ORM objects are initialized and the performance cost associated to that. In other words, I wanted to see what’s going on when you initialize an ActiveRecord object. Before I show you the benchmark numbers and you jump to conclusions, it’s important to realize that in the grand scheme of things, the performance…

20 Feb 2012

18 Feb 2012

Henrik Warne 3 min read

Early in 2005 the muscles in my forearms started to hurt. In the beginning it was only a slight irritation, but over the course of about six months it gradually got worse, until it was so bad I actually thought … Continue reading →

rsiergonomicsrepetitive stress injury

15 Feb 2012

Craig Gilchrist 2 min read

We are pleased to announce that the following functionality has been developed for version 5.1: ReviewStats updated Moderator Codes for user-generated content (UGC) exposed Wildcard character in ContentLocale filter enabled IP address in Content Display exposed API key creation and management added to the client portal More detailed information on each of these items is […]

conversations apirelease notes

14 Feb 2012

Schakko 2 min read

Aus äh… historischen Gründen ist es so, dass eines unserer C#-Projekte sowohl NUnit als auch xUnit für die Unittests nutzt. Über Sinn und Zweck dieser Konfiguration brauchen wir nicht zu diskutieren – Fakt ist, dass sich das nicht auf die Schnelle ändern lässt. Ich wollte nun dieses Projekt in TeamCity […] The post Fehlerhafte Unittests in NUnit und xUnit von…

c#nunitteamcityxunit

2 min read

This past weekend, hundreds of hackers showed up at the TokBox HQ with a mission to build the future of music. The event started with pitches — giving sponsors a chance to show off their APIs — followed by in-depth workshops where attendees could learn more about each platform and ask questions related to their project. Once the hacking time…

10 Feb 2012

Schakko 1 min read

Momentan bin ich dabei, TeamCity aufzusetzen und die von uns benutzten Programmiersprachen inklusive der Unit-Testing-Frameworks zu integrieren. Für PHPUnit gibt es zwei ganz passable XML-Dateien (Ant-Script zum Ausführen von PHPUnit & PHPUnit-Beispielkonfiguration), die an sich auch funktionieren. Ich testete nach einigen Anpassungen die Konfiguration mit Ant und PHPUnit unter meinem […] The post Windows 7 & Lokales System: %PATH% Umgebungsvariable…

windows

8 Feb 2012

1 min read

Finding Bigger Numbers, a Measure of Human Intellectual Progress Before we get into the nitty gritty mathematics, I’d like to mirror the philosophical and historical insights that one can draw from the study of large numbers. That may seem odd at first. What does one even mean by “studying” a large number? Of course, I don’t mean we stare at…

Schakko 3 min read

After some years of working with (and fighting against) Subversion I decided to setup a Git repository for our company. Every developer should decide on their own what Version Control System he wants to use. Jeremy Skinner wrote an excellent article about hosting a Git repository on Windows which was […] The post Windows Server 2016 or 2019 as a…

active directory ldapapachescmauthenticationauthorization

RC Johnson 2 min read

On December 3rd and 4th Bazaarvoice was the lead sponsor on an event in Austin called Random Hacks of Kindness (RHoK), a coordinated worldwide hackathon for social good. The event started Friday night with a reception for all of the hackers at the Volstead Lounge where over over 60 people celebrated, heard a few quick […]

uncategorized

Matthew Bogner 5 min read

Debugging performance issues is hard. Debugging end-user performance issues from a distributed production software stack is even harder, especially if you are the 3rd-party service provider for one of your clients that actually is in control of how your code is integrated into their site. There are lots of articles on the web regarding what […]

uncategorized

7 Feb 2012

1 min read

This post assumes familiarity with some basic concepts in complex analysis, including continuity and entire (everywhere complex-differentiable) functions. This is likely the simplest proof of the theorem (at least, among those that this author has seen), although it stands on the shoulders of a highly nontrivial theorem. The fundamental theorem of algebra has quite a few number of proofs (enough…

6 Feb 2012

4 Feb 2012

1 min read

During LA RubyConf 2012 in Los Angeles, CA Matt Aimonetti gave a talk entitled Ruby: time to move on. ##Description of the talk: Let’s be honest, Ruby became mainstream a few years back and it isn’t the cool underground programming language it once was. It’s quite likely that your cousin’s boyfriend who’s “into computers" knows what Ruby on Rails is.…

3 Feb 2012

1 min read

This post is the third post in a series on computing with natural language data sets. For the first two posts, see the relevant section of our main content page. A Childish Bit of Fun In this post, we focus on the problem of decoding substitution ciphers. First, we’ll describe a few techniques humans use to crack ciphers. We’ll find…

2 min read

This is not The Greatest Website in the World, no. This is just a tribute. I was approached by Tenacious D a week ago with an incredible quest: raising a phallus shaped phoenix onto the internet (oh and the first clip of audio from their new record.) How could I raise this majestic beast with the power of SoundCloud’s legendary…

2 Feb 2012

1 min read

This post assumes familiarity with some basic concepts in abstract algebra, specifically the terminology of field extensions, and the classical results in Galois theory and group theory. The fundamental theorem of algebra has quite a few number of proofs (enough to fill a book!). In fact, it seems a new tool in mathematics can prove its worth by being able…

1 Feb 2012

Patti Mandarino 1 min read

I was delivering Agile Project Management training a couple of weeks ago and was hit with a question that represents the current times. The time of the Remote Worker. The client Project Managers were concerned with the constant talk of co-location and face-to-face communication.

29 Jan 2012

1 min read

Problem: Prove or disprove: at a party of $ n$ people, there must be an even number of people who have an odd number of friends at the party. Solution: Let $ P$ be the set of all people, and for any person $ p \in P$, let $ d(p)$ be the number of friends that person has. Let $…

22 Jan 2012

1 min read

This post assumes familiarity with some basic concepts in algebraic topology, specifically what a group is and the definition of the fundamental group of a topological space. The fundamental theorem of algebra has quite a few number of proofs (enough to fill a book!). In fact, it seems a new tool in mathematics can prove its worth by being able…

20 Jan 2012

Roshan Gupta 2 min read

BBQ is a religion in Austin. Everyone has their opinion on who serves up the best BBQ. Debates between people defending their choices have been known to last into the wee hours of the night. Friendships have been ruined, and neighbors turned into enemies (okay, I might have made that last bit up…but you get […]

uncategorized

17 Jan 2012

1 min read

This proof assumes knowledge of complex analysis, specifically the notions of analytic functions and Liouville’s Theorem (which we will state below). The fundamental theorem of algebra has quite a few number of proofs (enough to fill a book!). In fact, it seems a new tool in mathematics can prove its worth by being able to prove the fundamental theorem in…

15 Jan 2012

1 min read

A First Look at Google’s N-Gram Corpus In this post we will focus on the problem of finding the appropriate word boundaries in strings like “homebuiltairplanes”, as is common in web URLs like www.homebuiltairplanes.com. This is an interesting problem because humans do it so easily, but there is no obvious programmatic solution. We will begin this article by addressing the…

12 Jan 2012

1 min read

This primer is a third look at Python, and is admittedly selective in which features we investigate (for instance, we don’t use classes, as in our second primer on random psychedelic images). We do assume some familiarity with the syntax and basic concepts of the language. For a first primer on Python, see A Dash of Python. We’ll investigate some…