~/devreads

1 Jan 2014

Neil Philip Craven 1 min read

"Just re-run the build - it should go green" Do you hear this on your project? Are your tests flaky? Does the build change from green to red and back again without any real explanation? What are you doing about it? Recently I joined a project that had this problem. It's quite normal to encounter it and it's quite common…

31 Dec 2013

1 min read

I like to read and I have a great community on Twitter so I asked them what they think others and myself should read in 2014. Here is the compiled list of the recommended books. The good news is that most of these books are under $10, so why not picking a couple for the new year? A big thanks…

30 Dec 2013

1 min read

We’ve studied the Fourier transform quite a bit on this blog: with four primers and the Fast Fourier Transform algorithm under our belt, it’s about time we opened up our eyes to higher dimensions. Indeed, in the decades since Cooley & Tukey’s landmark paper, the most interesting applications of the discrete Fourier transform have occurred in dimensions greater than 1.…

1 min read

I don’t do a ton of Linux kernel development these days, but I’ve done a fair bit in the past, and picked up a number of useful techniques for doing kernel development in a relatively painless fashion. This blog post is a writeup of the tools and techniques I use when developing for the Linux kernel. Nothing I write here…

29 Dec 2013

Dave Cheney 1 min read

I enjoyed Caro’s last book, Master of the Senate, but his latest book is something really special. Over the last couple of chapters Caro has gently raised the tension by laying out the Bobby Baker scandal and the imminent deposition of Don Reynolds who’s testimony will likely fatally bind LBJ to his protégé. Meanwhile, the […]

history

kevin 2 min read

This will be short, but it seems there's some difficulty doing this, so I thought I'd share. The gist is, any time you reference a class or method in your own library, in the Python standard library, or in another third-party extension, you can provide a link directly to that project's documentation. This is pretty […]

codeusability

28 Dec 2013

Dave Cheney 1 min read

I have updated my unofficial ARM tarball distributions page with prebuilt Go 1.2 tarballs. You can find them by following the link in the main header of this page. If you are interested in the potential performance improvements in Go 1.2, I wrote a post about it on the Gopher Academy blog as part of this year’s Go Advent […]

goprogrammingarm

Matthew Green 5 min read

Last Friday, Joseph Menn from Reuters published an article claiming that RSA, the pioneering security firm and division of EMC, accepted $10 million dollars to include the Dual EC random number generator as the default in their flagship BSAFE library. I’ve written a bit about Dual EC on this blog, so readers will know that I don’t think highly ……

dual ecnsarngs

Matthew Green 4 min read

Short answer: probably not. Slightly longer answer: it depends on whether they have access to the encryption key, or to a machine that contains the encryption key. In case you have no idea what I’m talking about: there was recently a massive credit card breach at Target. If you’re like many people you probably heard about … Continue reading Can…

attacks

Matt Cutts 2 min read

Today I made a Bluetooth garage door opener. Now I can open my garage from my Android phone. There’s a short how-to YouTube video from Lou Prado. Lou also made a website btmate.com that has more information, and you can watch an earlier howto video as well. The project itself was pretty simple: – Acquire […]

gadgets hackhow topersonal

26 Dec 2013

1 min read

I think that turbolinks is great: it makes it easy to add AJAX PushState to your Rails Applications. The only problem with that is that we can’t use it any WEB application, because it’s a Ruby Gem. So I did some ugly-but-easy hacks and add it to this very site. I will describe the steps below.

24 Dec 2013

21 Dec 2013

Michael Friis 6 min read

Currently in beta, the Heroku Platform API lets developers automate, extend and combine the Heroku platform with other services in a programmatic, self-service way. Today we are setting the capstone into the API by adding slug and release endpoints to the API beta. These API endpoints are special. They expose a very core part of […] The post Programmatically release…

news

20 Dec 2013

Matthew Green 2 min read

Several people have been asking for an update on our public audit of the Truecrypt disk encryption software. I’m happy to say that the project is on track and proceeding apace. Here I wanted to give a few quick updates: Thanks to the amazingly generous donations of 1,434 individual donors from over 90 countries, as … Continue reading An update…

truecrypt

3 min read

I wanted to share some more insight into the algorithms we use at Spotify. One matrix factorization algorithm we have used for a while assumes that we have user vectors $$ bf{a}_u $$ and item vectors $$ bf{b}_i $$ . The next track $$ i $$ for a user is now given by the relation $$ P(i \mid u) =…

19 Dec 2013

18 Dec 2013

Bill Kimmel 1 min read

Regardless of whether you are in Silicon Valley, the booming tech corridors of New York City, or in Bangalore, global technology companies are singing the same tune. There is a shortage of IT talent that can cut across the board room table and connect with end customers. In addition, the expanding role of technology across all businesses has created an…

17 Dec 2013

Juraci Vieira, Nicholas Pufal 1 min read

BDD has been often misunderstood among developers, QAs and even BAs. We often hear of teams saying that their project is using BDD, but when we check it out, it turns out to be using only a BDD tool for test automation - and not the BDD concepts itself. So in the end, we hear people arguing about the tools,…

16 Dec 2013

Matt Cutts 1 min read

I’ll keep it short: this week when you donate for cancer research, I’ll match your donation (up to a limit of $5000 total for all donations). We’ve already raised almost $8,000 dollars to help stop cancer, but I’d love to get to $10,000 or even higher. If anyone has ever wanted to take money out […]

productivity

Robin Barrett Wilson 1 min read

I love NYC during the holidays! Nothing seems to compare to beautifully decorated windows, wearing that new coat, hat, and gloves, and feeling the buzz as we all merge into the spirit of the season! All of this ambiance also compels me to shop!

Ken Collier 1 min read

Agile and Lean techniques seem to be the best way we currently know to create complex software in the face of risk, uncertainty, and changing requirements. Agile hinges on embracing and adapting to change by enabling rapid feedback cycles and evolutionary development. However, bringing agility into big data (and small data) analytics has been a challenge for many, very bright…

13 Dec 2013

4 min read

Earlier this year, I interviewed with a well-known tech startup, one of the hundreds of companies that claims to have harder interviews, more challenging work, and smarter employees than Google1. My first interviewer, John, gave me the standard tour: micro-kitchen stocked with a combination of healthy snacks and candy; white male 20-somethings gathered around a foosball table; bright spaces with…

12 Dec 2013

1 min read

I think it’s funny how MS at some point realized they are not the cool kids and there’s no reason to appeal to that target audience. Their new marketing strategy finally admits what’s been long known: the correlation between “business casual” and using Microsoft products: Apparently it’s also for people in ties: And let’s add a (beige?) cardigan on top…

11 Dec 2013

Sara Dornsife 5 min read

Editor's note: This is a guest post from Rikki Endsley. Rikki Endsley is a technology journalist and the USENIX Association's community manager. In the past, she worked as the associate publisher of Linux Pro Magazine, ADMIN, and Ubuntu User, and as the managing editor of Sys Admin magazine. Find her online at rikkiendsley.com and @rikkiends […] The post Why Heroku…

news

Christoph Burgmer 1 min read

Let me tell you about my first job at Thoughtworks - and why all was not well. I was asked to fill the gap in front-end development on an existing team of strong self-identified back-end developers. It turned out that the team was happy to pick up new practices for developing HTML, JavaScript and CSS while delivering the company's new…

10 Dec 2013

Zeke Sikelianos 3 min read

Last week we released a new version of our node buildpack that features dependency caching, faster downloads of the node binary, and support for any recent version of node. This new build process is now the default for all node apps on Heroku, so keep deploying your apps as you normally would and you should […] The post Announcing a…

news

Iván Pazmiño 1 min read

A few weeks ago TW Ecuador started to organize the "Día Mundial para el Retiro de Programación" in Quito (UIO). The event is widely known by its English name "Global Day of Code Retreat" but we've decided to have it à la Latin America.

9 Dec 2013

1 min read

So far in this series we’ve seen two nontrivial algorithms for bandit learning in two different settings. The first was the UCB1 algorithm, which operated under the assumption that the rewards for the trials were independent and stochastic. That is, each slot machine was essentially a biased coin flip, and the algorithm was trying to find the machine with the…

Hanika D 1 min read

What’s your Test Strategy? When I heard that the application my team was building was going to be hosted on the cloud, one of the first thoughts that crossed my mind was, “Is there anything particularly different about testing an application on the cloud?”

8 Dec 2013

Henrik Warne 3 min read

Many programmers have a hard time writing good unit-tests for code that involves time. For example, how do you test time-outs, or periodic clean-up jobs? I have seen many tests that create elaborate set-ups with lots of dependencies, or introduce … Continue reading →

programmingtestingtddtest-driven developmenttime

7 Dec 2013

6 Dec 2013

Richard Schneeman 5 min read

There have been thousands of reported security vulnerabilities in 2013 alone, often with language that leaves it unclear if you’re affected. Heroku’s job is to ensure you can focus on building your functionality, as part of that we take responsibility for the security of your app as much as we’re able. On Friday, November 22nd […] The post A Patch…

news

2 min read

One thing I encountered today was a trick using bagging as a way to go beyond a point estimate and get an approximation for the full distribution. This can then be used to penalize predictions with larger uncertainty, which helps reducing false positives. To me it sounds like a useful trick that I found roughly 0 hits on Google for,…

5 Dec 2013

Abe Pursell 2 min read

Editor’s Note: This is a guest post from Jonathan Cipriano, creative developer based in San Francisco currently working as a Creative Research & Development Manager at AKQA. A few weeks back, the Make-a-Wish Foundation made a 5-year old cancer survivor named Miles dream come true by helping him play out a Batman-style adventure in San […] The post Batkid Saves…

news

4 Dec 2013

Dave Cheney 1 min read

There is an apocryphal story1 during World War Two, of a squadron of bombers leaving on a sortie. Time passes and finally a few bombers struggle back to their base, the crew shaken, but alive, their aircraft riddled with bullet holes. Shocked by their losses, the reaction by Air Force was to order the areas of the […]

small ideasuseless trivia

Sara Dornsife 8 min read

Editor's note: This is a guest post from Ken Fromm and Paddy Foran at Iron.io. Iron.io's services are designed for building distributed cloud applications quickly and operating at scale. Platform as a Service has transformed the use of cloud infrastructure and drastically increased cloud adoption for common types of applications, but apps are becoming more […] The post Message Queues,…

news

3 Dec 2013

Matthew Green 12 min read

A few weeks ago I wrote a long post about the NSA’s ‘BULLRUN’ project to subvert modern encryption standards. I had intended to come back to this at some point, since I didn’t have time to discuss the issues in detail. But then things got in the way. A lot of things, actually. Some of which … Continue reading How…

nsatls ssl

2 Dec 2013

Dave Cheney 1 min read

If you’re interested in the performance improvements delivered in Go 1.2, I’ve written about it as part of this years Go Advent project. You can find the post on the Gopher Academy blog, blog.gopheracademy.com/day-02-go-1.2-performance-improvements.

goprogramming

Matt Cutts 2 min read

I like to set myself different challenges every 30 days. In October 2013, I tried to eat better and exercise more. I did alright on that, but without a specific daily goal, I had a hard time deciding how well I did. I mostly got back into the habit of exercising daily, so that was […]

30 days

Ken Collier 1 min read

Earlier this year Thoughtworks launched an internal contest offering a prize for the best data-related project created in 30 days. There was no restriction on exactly what could be produced, but the winning entry needed to be impactful, technically interesting, and useful. The best entries combined analytics, data mining and visualization and not only showed something cool, but made you…

Daniel Pallozzi 1 min read

Doug Stephens, aka ‘The Retail Prophet,’ gave a compelling talk at the 2013 Online Retailer Conference in Australia on the store of the future. Doug is a retail futurist and shared his thoughts on the transformations he envisages for bricks and mortar spaces. Doug describes the current state of retail as "the most remarkable period in the history of consumerism."…

30 Nov 2013

1 min read

For a while I’ve been meaning to do some more advanced posts on optimization problems of all flavors. One technique that comes up over and over again is Lagrange multipliers, so this post is going to be a leisurely reminder of that technique. I often forget how to do these basic calculus-type things, so it’s good practice. We will assume…

1 min read

I wanted to share sessions between my Rails and Go applications. I wanted to let an authenticated Rails user make JavaScript API calls to an endpoint written in Go. How hard could it be? Since I own both apps, I thought it would be as simple as sharing the secret session key and re-implementing Rails crypto process in Go. It…

28 Nov 2013

Harold Giménez 1 min read

On November 18th, a replication bug was found in Postgres that affected the most recent versions of every Postgres release. The corruption that this bug may introduce could go undetected, and it manifests itself as a follower potentially having an inconsistent view of the data. For example, data could be present in the primary and […] The post Heroku Postgres…

newspostgres

1 min read

"Go System Administrator' has access to all administrative functions, and has operational access to all parts of a Go installation, which differentiates the normal user from the admin user. Hence, this role cannot be assigned to every user in the system. This requirement demands a new set of roles in the system which is a subset of the privileges that…

27 Nov 2013

Ramesh Baskar 1 min read

For the last 2 months I was part of an intense training programme which is targeted at inducting young college graduates into our company Thoughtworks. I had a lot of memorable experiences and learning over the past 7 weeks and I just wanted to share a few thoughts on this.

26 Nov 2013

Thoughtworks 1 min read

A small team from the Thoughtworks Recife office recently built an open data application in response to call for entries by the Ministerio da Justiça of Brazil. The application was awarded second prize in the contest. The main goal of the app was to expose information related to accidents on federal roads by using data created by the Polícia Rodoviária…

25 Nov 2013

24 Nov 2013

1 min read

One thing I’m really proud of is that when we launched Discourse, we had first class Internationalization (i18n) support ready to be used. Our first release only English, but thanks to our community we have 18 localizations of our software in progress! Here’s what Discourse looks like in Simplified Chinese: On the server side, Discourse uses Rails’ built in i18n…

22 Nov 2013

Craig Kerstiens 2 min read

Many of our customers have recently asked about our connection limit settings on our new Heroku Postgres tiers. Previously we allowed for 500 connections across all production databases, however now there is some variance in the number of connections allowed with only the larger plans offering 500. In individual conversations with customers we’ve detailed the […] The post Postgres Connection…

newspostgres

21 Nov 2013

Matt Cutts 2 min read

A few years ago, I asked on my blog what people would like from Google’s free webmaster tools. It’s pretty cool to re-read that post now, because we’ve delivered on a lot of peoples’ requests. At this point, our webmaster console will alert you to manual webspam actions that will directly affect your site. We’ve […]

google seouncategorized

Matthew Soldo 3 min read

Editor's Note: We are cross-posting this article from the Salesforce Blog. It shows how we are bringing Heroku to a new market and audience – Salesforce customers – using a new product and message. If you are a user of both Heroku and Salesforce and are interested in connecting them. Apps are an essential part […] The post Powering the…

news

20 Nov 2013

Dave Cheney 1 min read

Over the last few weeks I had the opportunity of working with the Joyent folks on the port of Go to Solaris1. As part of this work I noted that the Joyeurs were using their rather spiffy Manta service for sharing code snippets and build logs. This made the rest of us using Pastebin services […]

goprogrammingjoyentmantasunos

Matt Cutts 1 min read

For the folks that don’t know, I’ve been out for a couple weeks and I’ll be on vacation the rest of November. If you’ve tried to contact me recently and haven’t heard back, that’s probably the reason. Added: if you enjoy watching our webmaster videos, you can follow @googlewmc to hear as soon as we […]

personal

Matthew Soldo 2 min read

At our core, Heroku’s goal is to make it easier for developers to build great apps. We do this by creating tools which allow developers to focus on writing code, rather than wasting time on managing infrastructure. To coincide with this week’s Dreamforce event, we are launching several tools targeted at developers who write apps […] The post Tools for…

news

19 Nov 2013

Dave Cheney 1 min read

I’ve been doing a lot of work with gccgo recently and with the upcoming release of Go 1.2 I’ve also been collecting benchmark results for that release. Presented below, using a very unscientific method, are the results of comparing the go1 benchmark results for the two compilers. Buried among that see of red are a few […]

goprogramminggccgo

18 Nov 2013

15 Nov 2013

Sara Dornsife 1 min read

It’s hard to believe the scale or imagine the energy that is Dreamforce. As part of the Salesforce Platform, a platform with a growing developer community and an amazing range of technologies, Heroku will join the party November 18-21 in San Francisco. This is a big deal for us. DevZone A few weeks ago we […] The post Heroku at…

news

Dave Cheney 1 min read

At Canonical we’re increasingly invested in gccgo. While testing various packages built with gccgo we ran across test failures which we traced to an innocent looking piece of code. package main import "fmt" type T struct { i int } func (t *T) readInt32() int32 { t.i += 4 return 42 // not important } […]

goprogramminguseless trivia

14 Nov 2013

Craig Kerstiens 1 min read

At Heroku we have long considered PostgreSQL to be a powerful and reliable open-source database for keeping data safe and accessible for serious applications with demanding workflows and use cases. Over the years we’ve invested heavily in continuing to improve it, whether it’s by employing Postgres major contibutors, employing driver maintainers, funding core development, or […] The post Welcome to…

newspostgres

Tom Maher 9 min read

Today, we’re announcing the release of a key part of our authentication infrastructure – id.heroku.com – under the MIT license. This is the service that accepts passwords on login and manages all things OAuth for our API. The repo is now world-readable at https://github.com/heroku/identity . Pull requests welcome. While OAuth was originally designed to allow […] The post Why We…

news

Dave Cheney 1 min read

In a previous post I blogged about the cover tool coming in Go 1.2 and a bash helper function I use to make the tool a little easier to use. Since then I’ve extended these helpers so I wanted to blog about the improvements. Passing arguments to the testing tool cover () { t=$(tempfile) go […]

goprogrammingcovercoverage

13 Nov 2013

Dave Cheney 1 min read

This is a brief post highlighting a curious aspect of the declaration syntax in Go. Most Go programmers know that the following of import declarations are equivalent import "fmt" import "math/big" // same as import ( "fmt" "math/big" ) The same applies to const declarations const FORTYTWO = 42 const TRUE = 1 // same […]

goprogramminguseless trivia

Sara Dornsife 8 min read

Editor’s note: This is a guest post from Rikki Endsley. In this exclusive interview, iOS developer Mattt Thompson opens up about the moment when he realized he’d become a programmer, why he dropped his computer science classes, and what he does AFK. Had Mattt Thompson followed in his parents’ footsteps, he’d be a musician now […] The post Heroku’s Mattt…

news

12 Nov 2013

Anand Bagmar 1 min read

Over the last three years, vodQA has evolved and matured as a Software Tester’s Conference in India. Thoughtworks hosted its 6th edition of vodQA, Pune on Saturday, 19th October 2013. The theme this time was – Faster | Smarter | Reliable. This was by far the largest vodQA we have hosted so far.

11 Nov 2013

Craig Kerstiens 4 min read

Today we’re excited to announce an evolution of what it means to be a database as a service provider. Along with new features such as the ability to roll back your database to an arbitrary point in time and high availability, we now provide an entirely new level of operational expertise that’s built right in. […] The post Introducing Heroku…

newspostgres

Per Fragemann 2 min read

I bet you’ve heard about the awesome Atlassian Hackathons (“ShipIt days”), which regularly influence the product roadmaps. These hackathons last roughly 28 hours, and end with presentations to the entire company – voting and plastic trophies included. That’s all great if your team consists of 20 or more developers. But what if you’re only, say, […]

productfeaturedstartup

10 Nov 2013

8 min read

In CPU design, most successful teams have a fairly long lineage and rely heavily on experienced engineers. When we look at CPU startups, teams that have a successful exist often have a core team that's been together for decades. For example, PA Semi's acquisition by Apple was a moderately successful exit, but where did that team come from? They were…

9 Nov 2013

Henrik Warne 1 min read

When there is a problem with your software, the first thing you usually ask for is a log showing what happened (provided you write debuggable code), and the version of the software that was running. But it is easy to … Continue reading →

debuggingloggingrevisionsubversionsvn

8 Nov 2013

Frederick Feibel 5 min read

As a developer I’ve used a variety of APIs and as a Developer Advocate at Bazaarvoice I help developers use our APIs. As a result I am keenly aware of the importance of good tools and of using the right tool for the right job. The right tool can save you time and frustration. With […]

uncategorizedapicurlhttphttpie

1 min read

In the last twenty years there has been a lot of research in a subfield of machine learning called Bandit Learning. The name comes from the problem of being faced with a large sequence of slot machines (once called one-armed bandits) each with a potentially different payout scheme. The problems in this field all focus on one central question: If…

Fred Hebert 37 min read

Adventures of a Heroku Routing Engineer My name is Fred and I spend most of my time on Logplex. Since joining Heroku in March 2013, I’ve become the main developer on that product and handle most of the maintenance and support that goes with it. In this post, I’ll explain what the Heroku routing team needed […] The post Troubleshooting…

news

7 Nov 2013

Dave Cheney 1 min read

A few days ago I was working on an example program for the sftp package and found I needed to implement subcommand handling. https://twitter.com/davecheney/status/397686194462396416 The response was fantastic, no less than 12 different packages. I haven’t had the chance to review any of the packages in detail, but I wanted to list them here as […]

goprogramming

Craig Kerstiens 1 min read

Several weeks ago we added support for Postgres 9.3 in public beta the day it was released to the community. We've had many customers use it so far and it has proven to be robust and reliable. Early adopters have started to take advantage of the great new features in this version including: New JSON […] The post PostgreSQL 9.3…

newspostgres

Sara Dornsife 1 min read

As we previously announced, salesforce.com is hosting a $1 Million Hackathon for the most awesome mobile app built using Salesforce Platform, which includes Heroku. It's taking place now and culminates at Dreamforce in San Francisco. For a limited time we are making it FREE ($99 value) to participate in the Salesforce $1 Million Hackathon. Sign […] The post $1 Million…

news

6 Nov 2013

Mark Collin 1 min read

How do we help big retailers be more responsive? Many of the retailers I spend time with want to be part of the pop-up culture. Their challenge is that they’ve spent 90 years building process and bureaucracy in hierarchical organisations that are very difficult to change. But they have to change – a consumer revolution is happening and the organisations…

5 Nov 2013

David Colls and Ray Grasso 1 min read

Visualising data provides clarity, increases engagement and delivers unexpected insights. A rapid and adaptive approach to building visualisations can help you realise value with a minimal investment. Sharing what we’ve learned about data visualisation

4 Nov 2013

Matt Cutts 1 min read

On April 21st, 2014, I’m going to run the Boston Marathon. If you want to show your support, please donate to a good cause for cancer research. Anyone who wants to give is welcome. 🙂 So many people have been affected by cancer, including members of my own family. The Dana-Farber Cancer Institute funds basic […]

personal