~/devreads

29 Nov 2014

8 min read

I’ve been meaning to learn Theano for a while and I’ve also wanted to build a chess AI at some point. So why not combine the two? That’s what I thought, and I ended up spending way too much time on it. I actually built most of this back in September but not until Thanksgiving did I have the time…

28 Nov 2014

Matt Cutts 1 min read

I’m thankful for family and friends and good health and so many wonderful people I’ve had the pleasure of working with at Google. But I’m also thankful for airplanes: “You want to see your family? It would take months to walk to them, but come sit in this metal tube and thanks to some interesting […]

personal

27 Nov 2014

Matthew Green 18 min read

One of the best things about modern cryptography is the beautiful terminology. You could start any number of punk bands (or Tumblrs) named after cryptography terms like ‘hard-core predicate’, ‘trapdoor function’, ‘ or ‘impossible differential cryptanalysis’. And of course, I haven’t even mentioned the one term that surpasses all of these. That term is ‘zero knowledge‘. In … Continue reading…

fundamentals

Matt Cutts 1 min read

I’m looking at this list of federal holidays, and you know what I’m thinking? I’m thinking fuck Columbus Day. Who the hell cares about Columbus Day except for mattress stores? Instead, let’s scratch Columbus Day and make Election Day a national holiday. Turnout on Election Day was only 36.6 percent in 2014, according to Senator […]

personal

Steven Lowe 1 min read

“Black Friday” is the day after Thanksgiving in the United States. That's the day that most people are off work and starting to think about Christmas. It's also the day that many brick-and-mortar specialty stores finally sold enough goods to break even or make a profit for the year. Given the accounting tradition of recording losses in red ink and…

26 Nov 2014

Matt Cutts 2 min read

Google has a pretty good culture of doing postmortems. When something fails, someone close to the failure tries to document what happened and why. A good postmortem document should also point the way to avoid similar mistakes in the future. Mistakes happen, but you don’t want to make the same mistakes over and over again. […]

personal

Naga Sujan Mehra 1 min read

Access to information strongly depends on people’s socio-economic status. Although this seems to be a worldwide problem, it's even more pronounced in the Global South (GS). Underprivileged communities in this particular region of the world continue to be denied equal access to information, because of their poor socio-economic conditions.

Fausto de la Torre 1 min read

Working in a large team presents its own set of challenges, more so when the team is distributed. One such challenge is to retain agile practices that provide actual value, over those that are enforced because a manual says so. Agile teams teach us to be reactive to unexpected situations and follow a continuous improvement processes. This helps us evidence…

25 Nov 2014

Matt Cutts 2 min read

I had one more experience at the XOXO Festival that I wanted to mention. I really enjoyed Anita Sarkeesian’s talk. You can watch it here: Sarkeesian explained her experience with humor and grace, and that really resonated with me. I don’t want to join the tone police–passionate voices have a role in this discussion too, […]

personal

Rishab Bailey 1 min read

Just a few days ago, Airtel announced plans to offer its mobile users free access to certain specific Internet services (such as Facebook, Youtube, Snapdeal, Makemytrip and Twitter) for a limited time followed by special rates to access these specific services.

24 Nov 2014

Matt Cutts 4 min read

Open source is really good at creating products. Almost any commercial software package or product like Word, Excel, Windows, or Photoshop has a great open source equivalent. However, open source has been less successful at creating services. Where’s the open source version of Google, or Facebook, or Twitter, or Gmail, or Craigslist? You could sum […]

personal

6 min read

I was curious what different people worked on in Linux, so I tried grabbing data from the current git repository to see if I could pull that out of commit message data. This doesn't include history from before they switched to git, so it only goes back to 2005, but that's still a decent chunk of history. Here's a list…

Preeti Mishra: Quality Analyst at Thoughtworks 1 min read

Imagine you’re surfing through the web and all the pages show you the wait spinner for 15 seconds. How long would you continue to surf without losing your patience? How long until you move to doing something else? What if one website does this to you? Would you visit that page again without complaining? Would you recommend the website to…

23 Nov 2014

Matt Cutts 1 min read

If you’re a geek like me, there’s probably a bank or cluster of micro USB chargers somewhere in your house for recharging phones, tablets, Kindles, headphones, etc. Lately I’ve been playing with a couple USB chargers that I really like. One is a USB charger with 3.5 amp (!) output. Just for context, a typical […]

gadgets hack

22 Nov 2014

Matt Cutts 2 min read

Every year or so, it’s worthwhile doing an audit of your online security. The most important accounts to protect are your bank accounts and your email accounts. Here are some things to consider doing: – Choose strong passwords. Just as important: don’t re-use the same password across web services. Consider using a password manager like […]

personal

3 min read

Say you build a machine learning model, like a movie recommender system. You need to optimize for something. You have 1-5 stars as ratings so let’s optimize for mean squared error. Great. Then let’s say you build a new model. It has even lower mean squared error. You deploy it. This model turns out to give a lower mean squared…

21 Nov 2014

Dave Cheney 5 min read

Juju is a pretty large project. Some of our core packages have large complex dependency graphs and this is undesirable because the packages which import those core packages inherit these dependencies raising the spectre of an inadvertent import loop. Reducing the coupling between our core packages has been a side project for some time for me. […]

goprogrammingdependency managementvisualisation

Matt Cutts 2 min read

When I was in grad school in the late 90s, not very much scholarly work was on the web. I had to walk over to the campus library to access scholarly papers, and sometimes make photocopies of the physical papers I wanted. Things have gotten better, but it’s still harder to do research than it […]

personal

Darren Smith 1 min read

Imagine yourself as a taxi driver, waiting at the front of a taxi rank for your next fare to who knows where. You've been in the business a long time and the city's streets feel like old friends. All of a sudden your rear passenger door opens and a new customer starts to climb into the back seat. The passenger…

20 Nov 2014

lukaseder 1 min read

MySQL is a database that has been bending the SQL standard in ways that make it hard to move off MySQL. What may appear to be a clever technique for vendor lockin (or maybe just oversight of the standard) can be quite annoying in understanding the real meaning of the SQL language. One such example … Continue reading Use MySQL’s…

sqlmorgan tockermysqlonly full group bysql standard

Matt Cutts 5 min read

The week before XOXO, a festival dedicated to independent artists and creators, I was in Juneau, Alaska for a cruise with my wife and my parents. I got off the ship with my Dad and we walked around town. We kept walking, past the touristy stores selling smoked salmon and tanzanite. We walked for a […]

personal

Yahya Poonawala 1 min read

At Thoughtworks, most of our projects begin with an inception where all the stakeholders in the project get together to analyse and start the discovery phase of the project. It’s usually done in order to develop a shared understanding about the project. There’s no working software to speak of, but we get a clear sense of why we want to…

19 Nov 2014

Michael Friis 3 min read

Helping teams to collaborate on creating, shipping and operating great apps is a core Heroku value. People collaborating on Heroku apps are not all alike: Some spend all day in the terminal, others prefer using Heroku from a browser. That’s why we’ve built both a powerful CLI and a great Dashboard. Today, we’re adding beta […] The post Announcing Beta…

news

Matt Cutts 1 min read

The state of Kentucky has 120 counties. It has so many because the idea was that you should be able to make it to the county seat and back in a single day. That speaks to how isolated people used to be. Likewise, the Galapagos Islands are known for their diversity, in part because the […]

personal

Monica Finc 1 min read

To mark Ada Lovelace Day, Thoughtworks offices around the globe came together to celebrate women’s goals and accomplishments in Science, Technology, Engineering, and Math (STEM). We had events spanning from Dallas to Chicago to London and more! Here at Thoughtworks San Francisco, we brought together a diverse group of women to tell us their stories on how and why they…

1 min read

When designers and developers work together from the start, it produces better outcomes. But how can we get designers involved and wanting to participate in the open source community from the start?

18 Nov 2014

1 min read

Problem: Alice chooses a secret polynomial $ p(x)$ with nonnegative integer coefficients. Bob wants to discover this polynomial by querying Alice for the value of $ p(x)$ for some integer $ x$ of Bob’s choice. What is the minimal number of queries Bob needs to determine $ p(x)$ exactly? Solution: Two queries. The first is $ p(1)$, and if we…

Matt Cutts 1 min read

This weekend I swapped comic book recommendations with a few folks. Today I was emailing someone a few of my favorites and thought “I should just put this up on the blog.” So to call out a few comics I’ve enjoyed: – Sandman – the classic Neil Gaiman books that make it “okay” to be a […]

books magazines

15 min read

If I had to guess, I'd say I probably work around hundreds of bugs in an average week, and thousands in a bad week. It's not unusual for me to run into a hundred new bugs in a single week. But I often get skepticism when I mention that I run into multiple new (to me) bugs per day, and…

Tabassum Farooque Memon 1 min read

Service companies often find it hard to instill product thinking in teams. People working on software applications believe that they are only on a temporary project - that could range from a few months to a year. When it’s done, they can move on to other projects. The application is seldom treated as a 'product', that needs to live in…

17 Nov 2014

Matt Cutts 1 min read

Imagine that you’re training for the San Francisco Marathon. You’d like to prepare for the distinctive pattern of hills on the course: Now if you live in San Francisco, you could just run along the actual race course. But what if you don’t live near San Francisco? Wouldn’t it be cool if a service could […]

personal

9 min read

I've seen all these studies that show how a 100ms improvement in page load time has a significant effect on page views, conversion rate, etc., but I'd never actually tried to optimize my site. This blog is a static Octopress site, hosted on GitHub Pages. Static sites are supposed to be fast, and GitHub Pages uses Fastly, which is supposed…

1 min read

Over the weekend I spoke at the Embergarten Saturday Symposium, which was an awesome mini conference on Ember in Toronto. My topic was “Ember at 10ft”, and it was about how to build a TV friendly interface in Ember.js. The talk was recorded but not yet posted, however I’ve already posted the source code on github. The github repo contains…

1 min read

The SoundCloud API will be dropping support for Extensible Markup Language (XML) responses. XML will be phased out on the following schedule…

Leonardo Steffen 1 min read

Do you know what makes you want to go to work, even when the work’s not great? Do you know what keeps you strong when all tests are failing and people constantly ask you what’s going wrong? Well, I didn’t. At least not consciously. But life as a consultant teaches us many things about people, their interactions with team members…

Marcos Brizeno 1 min read

Pair programming has a lot of known benefits, but is it always the easiest way to get work done? Is your team on the verge of adopting pair programming? In this post, I want to talk about my experience with pair programming and suggest an activity that will help improve the benefits and reduce the risks when applying this technique.…

Priyank Gupta 1 min read

Mobile is rapidly taking over desktop as a channel to reach customers. In fact, according to Mary Meekers’ 2014 Internet trends, Internet traffic from mobile devices is up from 14% in May 2013 to 25% globally in May 2014. That's significant year-on-year growth. Businesses all around the globe are adapting to include a compelling mobile experience for customers as part…

15 Nov 2014

Matt Cutts 3 min read

Here’s something that I wrote internally within Google in mid-2013. I think at the time, folks within Google were discussing XMPP. The discussion wasn’t as much about client-to-server XMPP, but server-to-server XMPP, which is a less followed area. Anyway, here’s the internal post I wrote: We want to compete on a level playing field We’ve […]

personal

1 min read

I keep forgetting to buy a costume for Halloween every year, so this year I prepared and got myself a Luigi costume a month in advance. Only to realize I was going to be out of town the whole weekend. If anyone wants a Luigi costume, let me know! (I’m not as big as the guy in the picture) Anyway,…

14 Nov 2014

Matt Cutts 1 min read

I recently had a web page with a long list of Twitter names that were not linked, like @mattcutts. I thought that someone has to have made a Chrome extension that would “linkify” names so they would be clickable like @mattcutts. And with a little bit of searching, I found twlinkfy. It looked like a […]

chromeproductivity

lukaseder 1 min read

We’ve recently encountered this interesting use-case on the jOOQ user group. How do you discover all primary keys of your schema via the jOOQ API? There are two ways: Using the generated meta data Using runtime meta data Let’s see how it works: Using the generated meta data This is straightforward. If you’re using Java … Continue reading jOOQ Tip…

jooq-in-useinformation schemajooqmeta dataquery

Natalie Hollier 1 min read

"Innovate or die” is the mantra of successful companies. So how can we build innovation into our product development process? By combining design thinking, lean startup and agile we get a recipe for repeatable innovation: lean UX. Lean UX and lean startup methods are being used today by many startups and innovation labs to take a learning approach to discovering…

13 Nov 2014

Matt Cutts 1 min read

One trick that I’ve discovered pretty recently for my 30 day challenges is based on advice from Jerry Seinfeld. The idea is that you get yourself a cheap calendar and a red pen. Every day you complete your daily challenge, you can cross that day off with a satisfying swipe of the red pen. Once […]

productivity

Margaret Francis 2 min read

Today we are announcing a new data solution for combined users of the Heroku and Salesforce platform: Heroku External Objects. The newest feature of Heroku Connect, Heroku External Objects makes data from any Heroku Postgres database – like that from customer apps, transaction systems, or data warehouses- seamlessly available within a given Salesforce deployment. Leveraging […] The post Heroku External…

newsheroku connectintegrationssalesforce

Matt Cutts 2 min read

History is an angel being blown backwards into the future. History is a pile of debris, and the angel wants to go back and fix things, to repair things that have been broken. But there is a storm blowing from Paradise, and this storm keeps blowing the angel backwards into the future. And this storm […]

personal

MapTiler (Petr Pridal) 1 min read

Klokan Technologies GmbH team, in cooperation with CampToCamp and BoundlessGeo, designed and implemented a binding between the OpenLayers and Cesium projects allowing to display maps in 3D.

1 min read

Our new website for Austin's Sass Meetup is live!

12 Nov 2014

lukaseder 1 min read

Now that I have your attention, I’d like to invite you to a critical review of where we’re at in the MySQL vs. MariaDB debate. Around one month ago, I visited Oracle Open World 2014, and I’ve met with Morgan Tocker, the MySQL community manager at Oracle to learn about where MySQL is heading. Who … Continue reading Don’t Migrate…

sqlmorgan tockermorten andersenmysqlmysql 5.7

Franziska Kleiner 1 min read

Our motto is Thoughtworks meets Berlin at Werkstatt. As part of expanding our presence in Germany, Thoughtworks has opened an innovation centre in Berlin called Werkstatt. Werkstatt means workshop – in the cobbler and carpenter sense, a place to roll-up your sleeves and work shoulder-to-shoulder to build stuff. In German the term Werkstatt has a nice ring to it, a…

11 Nov 2014

Matt Cutts 1 min read

If you had to pick the top four cities that matter the most in the U.S. based on the industry that they represent, which cities would you pick? I’d argue for these four: – New York City: money/finance/Wall Street – Los Angeles: culture, such as TV and movies – Silicon Valley (taking San Jose up […]

personal

lukaseder 1 min read

When writing DDL in SQL, you can specify a couple of constraints on columns, like NOT NULL or DEFAULT constraints. Some people might wonder, if the two constraints are actually redundant, i.e. is it still necessary to specify a NOT NULL constraint, if there is already a DEFAULT clause? The answer is: Yes! Yes, you … Continue reading Have You…

sqlconstraintsdefaultindexingnot in

Matt Cutts 3 min read

Googlers love to discuss and debate things within the company. As a rule of thumb, the internal discussion is civil and respectful, but can be passionate. I may take a few of my favorite internal posts that I wrote, tweak them a bit, and publish them here just so I can refer to them more […]

personal

Matthew Creager 1 min read

We’re very excited that our Heroku colleagues Matz, Nobu and Ko1 will all be visiting from Japan soon to attend RubyConf, and it’s especially serendipitous that it is happening in such close proximity to Thanksgiving. Not only is Thanksgiving one of the few holidays that Japan and the U.S. share, it’s a holiday that brings […] The post Announcing A…

newseventsruby

5 min read

I spent a couple of hours this weekend going through some pull requests and issues to Annoy, which is an open source C++/Python library for Approximate Nearest Neighbor search. I set up Travis-CI integration and spent some time on one of the issues that multiple people had reported. At the end of the day, it turns out the issue was…

Lindy Stephens 1 min read

Australia’s Workplace Gender Equality Agency recently launched a campaign focused on fixing the pay gap between men and women. This is on the back of news in August 2014 that the gender pay gap in Australia increased to 18.2%, the highest it has been in 10 years.

10 Nov 2014

1 min read

satellite One of the most interesting questions posed in the last thirty years of computer science is to ask how much “information” must be communicated between two parties in order for them to jointly compute something. One can imagine these two parties living on distant planets, so that the cost of communicating any amount of information is very expensive, but…

Matt Cutts 3 min read

You have many choices about where to put your data (email, docs, calendar, contacts): Apple, Microsoft, Google, Amazon, Facebook, Twitter, open source/self-hosting, etc. One big consideration for me is how hard it is to export my data. In essence, I’m looking for the exits before I even sit down in any company’s virtual room. For […]

personal

6 min read

I've noticed that builds are broken and tests fail a lot more often on open source projects than on “work” projects. I wasn't sure how much of that was my perception vs. reality, so I grabbed the Travis CI data for a few popular categories on GitHub1. For reference, at every place I've worked, two 9s of reliability (99% uptime)…

9 Nov 2014

Matt Cutts 1 min read

On balance, I’m already a Charlie Huston fan. My previous favorite book by Huston is Already Dead, which is a hard-boiled noir novel about vampires in the New York underground. I didn’t care for the rest of the trilogy quite as much, but Huston is high on the list of authors I enjoy. I’m not […]

books magazines

Pete Hodgson 1 min read

My step-dad is a cabinet-maker by trade. We chat about his work from time to time. I've often been struck by the similarities between building furniture and building software. Take tooling for example. Choosing high quality tools and learning how to use them correctly is of course a very important part of woodworking.

1 min read

A closer look at one of the reasons why designers don't participate in the open source community. (This links out to designopen.org)

8 Nov 2014

Matt Cutts 1 min read

A few years ago I read some short financial advice by Scott Adams, the author and creator of the Dilbert cartoon. It’s great advice–it’s perfect for 95% of Americans’ finances and investing. Without further ado, here is Dilbert’s One Page Personal Finance List: Make a will. Pay off your credit card balance. Get term life […]

how to

7 Nov 2014

jonskeet 7 min read

When is a string not a string? As part of my “work” on the ECMA-334 TC49-TG2 technical group, standardizing C# 5 (which will probably be completed long after C# 6 is out… but it’s a start!) I’ve had the pleasure of being exposed to some of the interesting ways in which Vladimir Reshetnikov has tortured … Continue reading When is…

c#evil code

lukaseder 1 min read

If you’re using a commercial database or PostgreSQL / Firebird / CUBRID, you will be able to take advantage of the full power of window functions. We’ve blogged about window functions’ awesomeness a couple of times, in particular about ROW_NUMBER(), RANK(), DENSE_RANK(). Today, we’re going to look into some awesome window functions that produce values … Continue reading Don’t Miss…

sqlfirst valuejavajooqlag

Michael Friis 2 min read

Of the many Platform-as-a-Service innovations Heroku has contributed in its seven year existence, perhaps the most iconic is git push heroku master. Today we’re announcing a significant upgrade to Heroku’s Git implementation: Beta support for Git’s HTTP transport. HTTP Git has some notable advantages over traditional SSH Git. Instead of relying on port 22 (often […] The post Announcing HTTP…

news

Matt Cutts 4 min read

Before 2011, I had never run farther than eight miles. Then I found a program called USA FIT which helps runners across the country train up and run a marathon. My goal was to run one marathon and then stop, but I found some friendly folks and so I just kept running. It’s been wonderful. […]

how topersonal

38 min read

There are some pretty strong statements about types floating around out there. The claims range from the oft-repeated phrase that when you get the types to line up, everything just works, to “not relying on type safety is unethical (if you have an SLA)”1, "It boils down to cost vs benefit, actual studies, and mathematical axioms, not aesthetics or feelings",…

6 Nov 2014

jonskeet 3 min read

This post has a few purposes – it’s partly a bit of advertising, but it’s also meant to serve as a quick way of replying to speaking requests for a while… if you’ve been directed here by an email from me, I hope you’ll excuse the “form letter” approach. (You can probably skip down to … Continue reading Writing and…

booksc#speaking engagements

Matt Cutts 3 min read

Hey Active.com, I know that a lot of races rely on you for registration. And you do some things really well, like handling the spike of traffic when a race opens up for registration. But you do some stuff really badly. Here’s some feedback about things you could do better. Negative Option Billing? I always […]

personal

5 Nov 2014

Michael Friis 4 min read

We’re excited to announce that the Cedar-14 – the new version of the Celedon Cedar stack – is ready for general availability and is now the default stack on Heroku. Cedar-14 is based on the latest Ubuntu LTS Linux version and comes with a modern set of libraries and system dependencies that will stay current […] The post Cedar-14 now…

news

8 min read

The latest version of the Intel manual has a couple of new instructions for non-volatile storage, like SSDs. What's that about? Before we look at the instructions in detail, let's take a look at the issues that exist with super fast NVRAM. One problem is that next generation storage technologies (PCM, 3d XPoint, etc.), will be fast enough that syscall…

Rajeev Nair 1 min read

Much has been said and written about how the world is moving towards online retail and the imminent demise of ‘brick and mortar’. With the forecast of online retail to reach $306 billion in the US alone this year, this prophecy is not entirely surprising. But while it may be true for exclusive ‘brick and mortar’ players, for retailers having…