~/devreads

11 Sept 2013

10 Sept 2013

Sebastian Frostl 7 min read

AnglarJS is great! But when dealing with large lists containing complex data structure, things can get very slow! We ran into that problem when migrating our core admin screens to AngularJS. The screens were supposed to work smoothly when displaying some 500 rows. But the first approach took up to 7 seconds to rende. Terrible! […]

frontend

Matthew Green 2 min read

Readers of this blog will know this has been an interesting couple of days for me. I have very mixed feelings about all this. On the one hand, it’s brought this blog a handful of new readers who might not have discovered it otherwise. On the other hand, it’s made me a part of the … Continue reading A note…

nsa

9 Sept 2013

1 min read

My First Paper I’m pleased to announce that my first paper, titled “Anti-Coordination Games and Stable Colorings,” has been accepted for publication! The venue is the Symposium on Algorithmic Game Theory, which will take place in Aachen, Germany this October. A professor of mine once told me that everyone puts their first few publications on a pedestal, so I’ll do…

Dave Cheney 2 min read

The port of Juju to Go is a project I’ve been involved in at Canonical for some time now. The power behind Juju is charms, which are part configuration management and part reliable workflow engine. One non-conventional use of Juju is something I cooked up a while ago when traveling, a Juju charm that compiles […]

programminggccgojuju

1 min read

Following my previous posts with basic Javascript aspects, like context and variable hoisting, I’ll try to write some basic concepts of the Ruby language. I decided to start with something that usually confuses new Ruby users (sometimes they don’t even know that they are confused, by the way): the Ruby nil object.

5 min read

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…

Andrew Phillips 1 min read

In a survey conducted a few months ago by XebiaLabs, implementing Continuous Delivery (CD) was listed as one of the key initiatives for many enterprises. CD’s ability to rapidly and repeatedly bring feature improvements to market, aligns naturally with business initiatives to accelerate time-to-market and stay a step ahead of the competition, while maintaining quality.

7 Sept 2013

Dave Cheney 4 min read

It looks like Go 1.4 will remove support for Go packages containing C code (as described below, don’t confuse this with CGO), so enjoy it while it lasts. This is a short post designed to illustrate how Go package authors can write package level functions in C and call them from Go code without using […]

goprogrammingc++cgo

9 min read

Verilog is the most commonly used language for hardware design in America (VHDL is more common in Europe). Too bad it's so baroque. If you ever browse the Verilog questions on Stack Overflow, you'll find a large number of questions, usually downvoted, asking “why doesn't my code work?”, with code that's not just a little off, but completely wrong. Lets…

6 Sept 2013

Matthew Green 9 min read

Let me tell you the story of my tiny brush with the biggest crypto story of the year. A few weeks ago I received a call from a reporter at ProPublica, asking me background questions about encryption. Right off the bat I knew this was going to be an odd conversation, since this gentleman seemed … Continue reading On the…

nsaprivacy

4 Sept 2013

Dave Cheney 2 min read

A few days ago a post entitled Autoworkers of Our Generation floated across my radar. In his post, Greg Baugues argues that as developers, we have a short term advantage, and would do well to view our lot as a temporary anomaly. In this article I’d like to engage with his post, and respond. The key […]

economyhistoryprogramming

1 min read

If you have a few minutes, you should check out mine and Chris Johnson‘s panel proposal. Go here and vote: http://panelpicker.sxsw.com/vote/24504 Algorithmic Music Discovery at Spotify ****Spotify crunches hundreds of billions of streams to analyze user’s music taste and provide music recommendations for its users. We will discuss how the algorithms work, how they fit in within the products, what…

Paul Ellarby 1 min read

Being agile is much more than applying some techniques to run software projects - it requires a commitment to adaptive leadership, a focus on delivering value fast, and a different understanding of what your organizations' portfolio should look like. This webinar will investigate some of the key changes to becoming agile, with points learned from Thoughtworks' own journey, and the…

3 Sept 2013

Matt Cutts 2 min read

Some relatives were visiting this past week, so my inbox has a triple digit backlog. That’s after aggressive pruning of mailing lists and so on. Nearly all of those emails mention me in a “to:” or “cc:” line and request a response. Some observations: – roughly 40% of those emails are from the outside world […]

30 daysproductivity

2 Sept 2013

1 Sept 2013

1 min read

About The Blog This started out as a way to jot down thoughts on areas that seem interesting but underappreciated. Since then, this site has grown to the point where it gets millions of hits a month and I see that it's commonly cited by professors in their courses and on stackoverflow. That's flattering, but more than anything else, I…

1 min read

From computers to cars, design has returned to the forefront of building great products. Building them has become less about developing features and more about designing experiences. The experience is the product and the only thing users care about. So how do you build the right thing?

31 Aug 2013

30 Aug 2013

29 Aug 2013

Chas Peacock 1 min read

As part of our internal BV I/O conference we’ve previously profiled on the blog, we had Adrian Cockroft, Cloud Architect at Netflix, come give us an overview of a lot of Netflix’s architecture as well as information on their multitude of open source projects and the ways Netflix is engaging the community to contribute. He […]

talks

Mike Gardiner 1 min read

I went to a conference and heard “We’re making a significant shift towards more fact-based decision making. And I was kind of like, what do people usually use? Horoscopes?” There’s now a big drive to be more data-analytical.

27 Aug 2013

1 min read

Over the years many people have asked me the same question: I’m starting this new project, what technology do you think I should use? Categories = [] +++ Update: Speaking of HN, here is the thread for this post

Danilo Sato 1 min read

An important technique for reducing the risk of deployments is known as Blue-Green Deployments. If we call the current live production environment “blue”, the technique consists of bringing up a parallel “green” environment with the new version of the software and once everything is tested and ready to go live, you simply switch all user traffic to the “green” environment,…

26 Aug 2013

Dave Cheney 1 min read

Earlier this year I wrote a small harness to compare the relative performance of Go 1.0 and the then just released Go 1.1. You can read the posts about the Go 1.1 performance improvements: amd64, 386 and arm. As the Go 1.2 cycle is entering feature freeze next week, I’ve taken the opportunity to create a […]

goprogrammingbenchmarkperformance

23 Aug 2013

Frederick Feibel 2 min read

Hi, my name is Ralph Pina, I am a Summer ’13 intern and UT-Austin Computer Science student. During this summer I had the privilege of working with another intern, Devin Carr, on Bazaarvoice’s .NET SDK for Windows Phone 8 and Windows 8 Store apps. Our goal was to provide convenient access to our Conversations API […]

open source

22 Aug 2013

1 min read

During the 1950’s the famous mathematician Paul Erdős and Alfred Rényi put forth the concept of a random graph and in the subsequent years of study transformed the world of combinatorics. The random graph is the perfect example of a good mathematical definition: it’s simple, has surprisingly intricate structure, and yields many applications. In this post we’ll explore basic facts…

21 Aug 2013

Matt Cutts 1 min read

A couple friends have recently had security scares with their Gmail account where they were worried that their accounts might have been hacked. I was emailing one of them about how to make sure that your account is safe, and I realized it might be handy to post this on my blog as well. Here’s […]

google seo

Henrik Warne 5 min read

I have read a couple of blog posts about LinkedIn recently. “Is LinkedIn Cheating Employers and Job Seekers Alike?” is criticizing LinkedIn for charging job seekers to appear “at the top of the list” when applying for a job. “LinkedIn … Continue reading →

worklinkedinrecruiting

Frederick Feibel 1 min read

The Bazaarvoice Mobile Team is happy to announce our newest mobile SDK for Windows Phone 8. It is a .NET SDK that supports Windows Phone 8 as well as Windows 8 Store apps. This will add to our list of current open-source mobile SDKs for iOS, Android and Appcelerator Titanium. The SDK will allow developers […]

uncategorized

19 Aug 2013

Matthew Green 9 min read

I’ve been traveling a bit over the past couple of weeks, so I haven’t had much of a chance to keep up on blogging. One consequence is that I completely missed my chance to say something about, well, anything that happened at BlackHat or Def Con. Which is too bad, since a surprising amount of … Continue reading Is the…

attacksfundamentals

18 Aug 2013

1 min read

Machine learning is broadly split into two camps, statistical learning and non-statistical learning. The latter we’ve started to get a good picture of on this blog; we approached Perceptrons, decision trees, and neural networks from a non-statistical perspective. And generally “statistical” learning is just that, a perspective. Data is phrased in terms of independent and dependent variables, and statistical techniques…

kevin 2 min read

Recently I've fallen in love with the IPython Notebook. It's the Python REPL on steroids and I've probably just scratched the surface of what it can actually do. This will be a short post because long posts make me feel pain when I think about blogging more again. This is also really more about setting […]

code

17 Aug 2013

1 min read

I just answered a Quora question about what, if any, are the differences in the algorithms that are behind recommendations for music and movies. Of course, every media type is different. For instance, there’s fundamental reasons why latent factor models works really well for music and movies, as opposed to location recommendations where I suspect graph based models are more…

16 Aug 2013

15 Aug 2013

Per Fragemann 1 min read

We finally took the plunge and invested some 1200 Euro into buying a good coffee machine. Wow, these latte macchiatos are truly amazing! Worth every penny. Looking for a job with great coffee? Join us!

how we work

Emily Luke 1 min read

Here at Thoughtworks, we are dedicated to teaching and learning. We recently conducted an internal workshop on design thinking and customer discovery for a group of our junior consultants. The workshop began with this assignment: "Go out into the world and find a problem. When you come back, we'll try to solve it." It was interesting to see the problems…

14 Aug 2013

Cory Thomas 1 min read

The Bazaarvoice Platform Infrastructure Team recently open sourced project Lassie. Lassie is a Java library that can manipulate the new DataDog screenboards. The Lassie library can create, get, update, and delete the DataDog screenboards via the REST API. We use DataDog across various teams to collect metrics at both a system-wide and application level to give […]

open source

13 Aug 2013

kevin 3 min read

Yesterday I sped up our unit/integration test runs from 16 minutes to 3 minutes. I thought I'd share the techniques I used during this process. We had a hunch that an un-mocked network call was taking 3 seconds to time out. I patched this call throughout the test code base. It turns out this did […]

codeimprovement

Anand Krishnaswamy 1 min read

Hadoop is often positioned as the one framework your business needs to solve nearly all your problems. Mention “Big Data” or “Analytics” and pat comes the reply: Hadoop! Hadoop, however, was purpose-built for a clear set of problems; for some it is, at best, a poor fit and others, even worse, a mistake. While data transformation (or, broadly, ETL operations)…

12 Aug 2013

Lee Goolsbee 1 min read

We’ll soon be giving our Developer Portal some love in the way of functionality and style updates. To facilitate this, we’ll be taking the portal offline for approximately 6 hours on Thursday, August 15th; the estimated times are listed in a few timezones below: Timezone Start date/time End date/time UTC Thursday, August 15, 2:00 AM […]

developer portalgeneral announcements

1 min read

People have a lot of confusion about Javascript context mechanism. I don’t think it’s confusing at all, it’s just that it’s different when compared with other languages we generally use.

1 min read

Andy Sloane decided to call my 2D visualization and raise it to 3D. (Looks a little weird in the iframe but check out the link). It’s based on a LDA model with 200 topics, so the artists tend to stick to clusters where each cluster is a topic. The embedding also uses t-SNE but in three dimensions (obviously).

Will High 1 min read

Agile analytics is all about failing fast. In a scientific context, this means stating hypotheses and seeking to disprove them using quantitative analysis of real data in rapid cycles. The end result is actionable insight and maximized value to stakeholders. This article is the second in a series where we paint a picture of a Thoughtworks analytics engagement. We'll focus…

11 Aug 2013

Schakko 1 min read

I received the message “Segmentation fault” while running an apt-get install. My syslog contained the following lines: Aug 11 11:34:19 srv kernel: [65729.407484] check-new-relea[12700]: segfault at 7f2dfd94746c ip 00007f2dfc0becd8 sp 00007fffd0671d20 error 4 in libapt-pkg.so.4.12.0[7f2dfc069000+11c000] Aug 11 11:35:52 srv kernel: [65822.603384] apt-get[12820]: segfault at 7f7d256e346c ip 00007f7d24252cd8 sp 00007fffdbb89140 error 4 in libapt-pkg.so.4.12.0[7f7d241fd000+11c000] […] The post Fixing

linuxapt-getsegfaultsegmentation fault

1 min read

I’m at KDD in Chicago for a few days. We have a Spotify booth tomorrow, and I wanted to put together some cool graphics to show. I’ve been thinking about doing a 2D embedding of the top artists forever since I read about t-SNE and other papers so this was a perfect opportunity to spend some time on it. So…

10 Aug 2013

Schakko 1 min read

Here are the instructions for letting your home server send e-mails with help of your Uberspace account. This small guide is based on Ubuntu 13.04. I assume your Uberspace username is $USUSER and your Uberspace host is $USHOST. Setup an additional mail address See http://uberspace.de/dokuwiki/start:mail ssh $USUSER@$USHOST.uberspace.de vadduser local-server # […] The post Use your Uberspace server as relay host…

linux

9 Aug 2013

1 min read

I’ve turned into a lazy bastard and I’m just posting presentations on this blog, but here’s one from Rohan Singh at Spotify talking about the backend infrastructure of the Discover page.

John Spens 1 min read

Big Data Analytics must focus on insight and action. During my recent talk at TWLive13 Europe, I focused on the primary risks in applying traditional BI approaches to Big Data projects instead of focusing on the business value. I also discussed recent client success stories, such as helping a language immersion program find out why customers weren't activating their accounts,…

8 Aug 2013

Frederick Feibel 4 min read

Every year at Bazaarvoice we bring on a new class of Summer interns and put them to work creating innovative (and educational) projects. At the beginning of the Summer interns choose from a list of projects and teams that interest them. From there they are embedded in a team where they spend the rest of […]

cultureinternships

Badrinath Janakiraman 1 min read

Continuous Integration has been around in some shape or form for over 10 years now. Back in 2001, with CruiseControl as the only tooling and Selenium still a few years away, it didn't usually involve much more than compiling the application, running JUnit tests and finally building a jar if the tests finished successfully.

6 Aug 2013

Dave Cheney 1 min read

Thanks to Little Bird Electronics I just picked up the recently released Cubieboard 2. For less than 90 bucks Australian you get the case, 4Gb of onboard NAND flash, a USB to serial adapter, USB to power adapter (althought you should use a real wall wart), and an adapter for the onboard SATA port which […]

gohardware hackingcubieboardcubieboard 2

5 Aug 2013

Melissa Doerken 1 min read

In Part 1 of this post, we looked at how problem interviews can be a useful technique to understand the problem you’re trying to solve and whether or not it’s worth solving. In this second part, we’ll look at where to go from there: exploring and validating valuable solutions for your customer. Again, I’ll be using the example of how…

Melissa Doerken 1 min read

We’ve heard them both before. They’re givens in the tech world: Understand your customer’s problem Get early and continuous feedback Sounds easy enough, but even seasoned software teams know both are much easier said than done, even with our growing awareness of the “build-measure-learn” methods promoted by lean-minded practitioners.

Martin Fowler 1 min read

"Big Data" has leapt rapidly into one of the most hyped terms in our industry, yet the hype should not blind people to the fact that this is a genuinely important shift about the role of data in the world. The amount, speed, and value of data sources is rapidly increasing. Note: The following is an excerpt from Martin Fowler's…

3 Aug 2013

1 min read

I was just at the NYC Predictive Analytics meetup talking about how we build machine learning algorithms using Hadoop to power music recommendations. Great meetup, where we had two speakers, me and Blake Shaw from Foursquare. Blake talked about how they use machine learning at Foursquare, using Hadoop (and Luigi), and he uploaded his slides here! Here’s the full video…

2 Aug 2013

Matt Cutts 1 min read

For June 2013, my 30 day challenge was to record a second of video every day. I was inspired by Cesar Kuriyama’s wonderful TED talk about how he records a second of video every day. There’s a couple things Cesar said in his talk that really resonated with me: – “[A]s the days and weeks […]

30 daysmovies videos

Robin Copland 1 min read

The retail world was abuzz this week with the news that Hudson's Bay Company is acquiring Saks Fifth Avenue. No surprise really; it was common knowledge that Saks was shopping around for a buyer with rumors in previous months that Nieman Marcus would make a great suitor. I imagine the reaction from most was almost a sense of relief that…

1 Aug 2013

Madhurranjan Mohaan 1 min read

In Part 1 of our blog series on Monitoring the Build System, we walked through the challenges we faced and the ways we resolved them. In this blog, I'll discuss further details regarding our build system and the tools that we used.

Will High 1 min read

Agile analytics is all about failing fast. In a scientific context, this means stating hypotheses and seeking to disprove them using quantitative analysis of real data in rapid cycles. The end result is actionable insight and maximized value to stakeholders. This article is the first in a series where we paint a picture of a Thoughtworks analytics engagement. We'll focus…

31 Jul 2013

Bryan Chagoly 3 min read

What do you get when you lock 100+ engineers, product managers, designers and other techies in a building for 2 days and ask them to come up with new and creative ways to “unlock the power of our data”? Well, I could tell you, but then I would have to… yeah that’s top secret awesome […]

conferences

1 min read

Back in February, I gave a presentation on Discourse and client side MVC at TechTalksTO. It wasn’t recorded, but I’ve taken the liberty of creating a video version of the presentation with an audio track. While the presentation is about Browser Applications, I take a large detour in the beginning to talk about Discourse and Forum software in general. Enjoy!

30 Jul 2013

29 Jul 2013

28 Jul 2013

Schakko 5 min read

You know it: an old project gets reactivated because your customer needs a new feature or has found bug. Meanwhile, the responsible developers have been reassigned to new projects and have no time to finish the task. You are currently not at a 100 percent workload so you get the […] The post DevOps: Stop coding and get your stuff…

workdevopsdevsdocumentationops

1 min read

I thought this article about the company culture at HubSpot is kind of funny. “HubSpot’s Awesome Presentation Shows how to Create a 21st Century Culture”. Just FYI: You’re not different. You’re a bunch of white hipsters aged 25-30 dressed up in the same theme. That’s not being different. On a more serious note, this represents one of the most challenging…

27 Jul 2013

1 min read

I was in Portland, OR for a few days hanging out at OSCON. Was fun. I also talked a bit about Luigi: Next week I’m presenting at the NYC Predictive Analytics meetup together with Blake Shaw from Foursquare. The topic is ML + Hadoop. Will be fun!

26 Jul 2013

Ethan Teng 1 min read

As part of our series on cycle time, we’ve covered what cycle time is, why it matters, and how you can use it to know if you're improving. In this video, you will see how Mingle + Cycle Time Analytics enables you to easily identify outliers and trends in your team's cycle time as well as spot bottlenecks in your…

25 Jul 2013

24 Jul 2013

1 min read

Sometimes you have to maximize some function $$ f(w_1, w_2, ldots, w_n) $$ where $$ w_1 + w_2 + ldots + w_n = 1 $$ and $$ 0 le w_i le 1 $$ . Usually, $$ f $$ is concave and differentiable, so there’s one unique global maximum and you can solve it by applying gradient ascent. The presence of…

23 Jul 2013

Matt Cutts 6 min read

For May 2013 I decided to try making a Chromebook Pixel my primary laptop. So how did it go? Well, the short version is that I’m still a happy Pixel user, almost three months after my one month challenge started. Previously, I was using a Thinkpad 420s running Goobuntu. In fact, I’ve been using Thinkpads […]

30 days

1 min read

Problem: Prove that for vectors $ v, w$ in an inner product space, the inequality $$\displaystyle |\left \langle v, w \right \rangle | \leq \| v \| \| w \|$$ Solution: There is an elementary proof of the Cauchy-Schwarz inequality (see the Wikipedia article), and this proof is essentially the same. What makes this proof stand out is its insightful…