~/devreads

4 Nov 2014

Matt Cutts 2 min read

Moving from Halloween to running, I wanted to blog about what it’s like to “bonk” or hit the wall while running a marathon. I’m a slow runner. Hell, I’m a slow walker. I consider it a great marathon if I finish in just under five hours. This past weekend at the Morgan Hill marathon, I […]

personal

lukaseder 1 min read

A procedural language combined with SQL can do miracles in terms of productiveness, performance and expressivity. In this article, we’ll see later on, how we can achieve the same with SQL (and PL/SQL) in Java, using jOOQ, which offers much more functionality than Oracle’s own now desupported JPublisher. But first, a little bit of history… … Continue reading Access PL/SQL…

javajooq-in-usesqljdbcojdbc

3 Nov 2014

Dave Cheney 2 min read

Revisiting my post about error handling and exceptions, written well before Go hit 1.0, I’m pleased that it stands the test of time. Java has comprehensively demonstrated that checked exceptions (actually having both checked and unchecked exceptions) has been a disaster for the evolution of the language. Checked exceptions have placed a suffocating yoke of backward compatibility on […]

goprogrammingerror handlingexceptions

Matt Cutts 1 min read

Okay, so you can project light onto a canvas to easily try out an idea. I decided to try one more Halloween costume: Edvard Munch’s The Scream. I started by finding a high-resolution version of The Scream. Next I projected the painting onto a canvas: Then I took a pencil and traced the strokes of […]

halloween

lukaseder 1 min read

So, you’ve been working with Java since the very beginning? Remember the days when it was called “Oak”, when OO was still a hot topic, when C++ folks thought that Java had no chance, when Applets were still a thing? I bet that you didn’t know at least half of the following things. Let’s start … Continue reading 10 Things…

funjavajava languagejlslanguage

Richard Schneeman 3 min read

Performance is important, and if we can’t measure something, we can’t make it fast. Recently, I’ve had my eye on the ActionDispatch::Static middleware in Rails. This middleware gets put at the front of your stack when you set config.serve_static_assets = true in your Rails app. This middleware has to compare every request that comes in […] The post Benchmarking Rack…

engineeringperformance optimizationrailsruby

Matt Cutts 1 min read

I already talked about using a projector to prototype a Halloween costume. One Halloween idea that worked out better than I expected was Jack Nicholson from The Shining. Remember the scene when Jack axes his way through a door, announcing “Here’s Johnny!”? It looked like this in the movie: I started by letting some stubble […]

halloween

8 min read

Once upon a time, my computer architecture professor mentioned that using a random eviction policy for caches really isn't so bad. That random eviction isn't bad can be surprising — if your cache fills up and you have to get rid of something, choosing the least recently used (LRU) is an obvious choice, since you're more likely to use something…

4 min read

This is an off-the-cuff comment for Hacker School's Paper of the Week Read Along series for Out of the Tar Pit. I find the idea itself, which is presented in sections 7-10, at the end of the paper, pretty interesting. However, I have some objections to the motivation for the idea, which makes up the first 60% of the paper.…

Deon Thomas 1 min read

Organisational agility has been a hot topic for a long time. In the South African context, financial institutions have made enormous strides in improving banking, in spite of a very strictly governed environment, taking into consideration compliance with the regulatory requirements imposed by the South African Reserve Bank.

1 Nov 2014

Matt Cutts 1 min read

For Halloween this year I was thinking about famous works of art like Rene Magritte’s Son of Man or more popular works like the “Hang in There, Baby!” kitten. I was also thinking about canvases. You can buy a cheap canvas at local craft stores for $10 or so. I was thinking: wouldn’t it be […]

halloween

31 Oct 2014

Matt Cutts 1 min read

In the past for Halloween, I’ve often dressed up as internet memes (Rick Astley, anyone?) or topical things from the news (like Matt/Mitt Romney). This year I was running dry on ideas until a few days before Halloween. Then I started to think about famous artwork–more on that in a future Halloween post. One idea […]

halloween

lukaseder 1 min read

The jOOQ ecosystem and community is continually growing. We’re personally always thrilled to see other Open Source projects built on top of jOOQ. Today, we’re very happy to introduce you to a very interesting approach at combining REST and RDBMS by Björn Harrtell. Björn Harrtell is a swedish programmer since childhood. He is usually busy … Continue reading A RESTful…

javajooq-in-usesqlhttpjdbc-http-server

30 Oct 2014

Matt Cutts 1 min read

For October 2014, my 30 day challenge was to write a compliment a day for my wife. I liked that challenge because it was a good chance to be thankful for my wife after 15 years of marriage. It’s all too easy to settle into a routine and take things (or people) for granted. For […]

30 days

29 Oct 2014

David Gouldin 2 min read

[Heroku Connect] [heroku_connect] is written primarily in Python using Django. It’s an add-on and a platform app, meaning it’s built on the Heroku platform. Part of our interface provides users with a realtime dashboard, so we decided to take advantage of socket.io and node.js for websocket communication. But like all Heroku apps, only one type […] The post Django and…

engineeringdeveloper toolsdjangonode.js

Matthew Green 9 min read

A few years ago I came across an amusing Slashdot story: ‘Australian Gov’t offers $560k Cryptographic Protocol for Free‘. The story concerned a protocol developed by Australia’s Centrelink, the equivalent of our Health and Human Services department, that was wonderfully named the Protocol for Lightweight Authentication of ID, or (I kid you not), ‘PLAID‘. Now to … Continue reading Attack…

attacksprivacy

28 Oct 2014

Sebastian Frostl 3 min read

First of all ng-europe 2014 was a really great conference. Many high level talks, the core AngularJS team really accessible and awesome attendants. Many thanks to the organising team who made this event happen. We were proud to be among the sponsors! There was so much to learn and to take home from this event, […]

frontendangularjs

Celso Santa Rosa 1 min read

About the Project: Imagine a project that’s eight years old. No matter what language or framework used, the code is very likely to be hard to maintain. The things that we take for granted now didn’t even exist eight years ago. We had a challenging experience on these lines, while delivering a Rails 2 to Rails 3.0 upgrade.

Thoughtworks 1 min read

The numbers are in and analytics speak volumes. First the good...mobile usage in Canada has increased exponentially in the past year. Not surprisingly, the growth is strongest among the Millennial set, of which 90% own a smartphone, up 60% from a few years ago. Comscore reports that approximately 55% of time spent online by the Millennial demographic is through a…

27 Oct 2014

Paul Sullivan 1 min read

As an Experience Design consultant at Thoughtworks, I spend time with all kinds of product teams. Often I find they already have a list of features they want to build and are just looking for some innovative ways to make their design process more effective. Typically I start by taking a feature from this list and ask them a question…

Sean McClure 1 min read

The question isn’t whether or not to use data science; we are living in the world of Big Data and those unable to adopt these approaches will be rapidly left behind as numerous studies show1. The question is whether companies can be taught to shift their people, processes and vision to be aligned with driving data science into their value…

26 Oct 2014

Dave Cheney 1 min read

A topic that has weighed on my mind recently is the dichotomy of frameworks vs. libraries in the Go community. Is the prevailing stance against complex frameworks a rejection of this purported labour saving automation, or an enlightened position that has weighed the pro’s and cons and found the costs of a framework based approached outweighs the benefits ? […]

goprogrammingframeworks

1 min read

Exponential backoff is an algorithm that uses feedback to multiplicatively decrease the rate of some process, in order to gradually find an acceptable rate. —- Wikipedia

Paulo Caroli 1 min read

Um projeto ágil é conduzido através de entregas rápidas e frequentes. Um projeto bem executado coloca ênfase em entregas de valor de acordo com objetivos de negócios e os usuários de destaque. Projetos ágeis promovem a liberação incremental de software: o MVP. O produto viável mínimo, em Inglês Minimum Viable Product (MVP), é a versão mais simples de um produto…

24 Oct 2014

23 Oct 2014

jonskeet 7 min read

For a while now, I’ve been a big fan of a pattern in C# which mimics Java enums to a certain extent. In general, it’s a lovely pattern. Only after reading a comment on a recent blog post by Eric Lippert did I find out about a horrible flaw. Dubious thanks to John Payson for … Continue reading Violating the…

c#evil code

lukaseder 1 min read

I wanted to find an easy way to stream a Map in Java 8. Guess what? There isn’t! What I would’ve expected for convenience is the following method: But there’s no such method. There are probably a variety of reasons why such a method shouldn’t exist, e.g.: There’s no “clear” preference for entrySet() being chosen … Continue reading Let’s Stream…

javajava 8collectionsjdkjoo-lambda

Timothée Peignier 3 min read

Heroku provides many instrumentations for your app out of the box through our new Heroku developer experience. We have open-sourced some of the tools used to instrument Heroku apps, but today’s focus will be on instruments, a Go library that allows you to collect metrics over discrete time intervals. What is instruments? Instrumentation is the […] The post Instrumentation by…

engineeringdeveloper tools

Aaron Sachs, Anupam Kundu 1 min read

Product Managers are a hot commodity these days. Whether you are an industry behemoth or a fledgling up-start, talented Product Managers can make the difference between driving sustainable growth or fading out of memory and eventually going bust. The industry has recognized the value of this role and is aggressively trying to hire.

Surya Sreedevi Vedula 1 min read

For those starting in Python, setting up Python Environments in Projects could prove to be tricky as there are a lot of tools and terms in the Python ecosystem to be familiar with, in order to understand the process. This post aims to make it easy for beginners to create basic Python environments by giving step-by-step guidance. Setting up basic…

22 Oct 2014

Dave Cheney 2 min read

As part of preparing for my dotGo talk I updated a few of my packages to use the functional options pattern. I only had time to show one of those packages on stage, pkg/term. This is a post about one that was left on the cutting room floor. Last year I wrote a simple package […]

goprogrammingfunctional options

Mangalam Nandakumar, Shantala Raman 1 min read

Scope is best defined as the most valuable product/functionality that can be delivered within the constraints of a project or a business. It is not an absolute entity like time or money. It is subject to interpretations, based on our own assumptions.

Paul Hammant 1 min read

Selenium as a technology is now 10 years old. Thoughtworks is proud to have created and open-sourced what is now the defacto-standard for cross platform cross browser web-app functional testing. We’re also proud to have released it as open source for the greater good. In honor of its 10th birthday, we put together the below timeline. Here’s to another 10…

21 Oct 2014

Martin Fowler 1 min read

When I wrote Patterns of Enterprise Application Architecture, I coined what I called the First Law of Distributed Object Design: "don't distribute your objects". In recent months there's been a lot of interest in microservices, which has led a few people to ask whether microservices are in contravention to this law, and if so why I am in favor of…

20 Oct 2014

lukaseder 1 min read

One of MongoDB’s arguments when evangelising MongoDB is the fact that MongoDB is a “schemaless” database: Why Schemaless? MongoDB is a JSON-style data store. The documents stored in the database can have varying sets of fields, with different types for each field. And that’s true. But it doesn’t mean that there is no schema. There … Continue reading Stop Claiming…

sqldatabasedatabase schemadynamically typedjavascript

Emily Luke 1 min read

It’s something we always say to ourselves before we begin to tackle a giant problem, “Let’s sketch it out.” And we do. But sometimes we lose sight of the beginning because we are so preoccupied with the end. This was the case when I worked on an amazing e-commerce platform with an even more amazing group of people a couple…

19 Oct 2014

13 min read

Every once in a while, I hear how intrinsics have improved enough that it's safe to use them for high performance code. That would be nice. The promise of intrinsics is that you can write optimized code by calling out to functions (intrinsics) that correspond to particular assembly instructions. Since intrinsics act like normal functions, they can be cross platform.…

18 Oct 2014

Barry O'Reilly 1 min read

Practicing Hypothesis-Driven Development is thinking about the development of new ideas, products and services – even organizational change – as a series of experiments to determine whether an expected outcome will be achieved. The process is iterated upon until a desirable outcome is obtained or the idea is determined to be not viable.

17 Oct 2014

lukaseder 1 min read

A while ago, we have published this fun game we like to call Spring API Bingo. It is a tribute and flattery to Spring’s immense creativeness when forming meaningful class names like FactoryAdvisorAdapterHandlerLoader ContainerPreTranslatorInfoDisposable BeanFactoryDestinationResolver LocalPersistenceManagerFactoryBean Two of the above classes actually exist. Can you spot them? If no, play Spring API Bingo! Clearly, the … Continue reading The dreaded…

funjavabodyimplimplementation

16 Oct 2014

Dave Cheney 9 min read

What follows is the text of my presentation, Functional options for friendly APIs that I gave at dotGo this year. It has been edited slightly for readability. I want to thank Kelsey Hightower, Bill Kennedy, Jeremy Saenz, and Brian Ketelsen, for their assistance in preparing this talk. I want to begin my talk with a […]

goprogrammingdotgofunctional options

MapTiler (Martin Mikita) 1 min read

Maps rendered with MapTiler or available as MBTiles file can be uploaded to Amazon S3 and viewed using libraries such as Leaflet, OpenLayers, WebGL Earth, Google Maps API, MapBox.js, etc.

1 min read

The Media Queries 4 spec brings insight to technological capabilities that are coming up soon (this is based on the Editor’s Draft, October 10, 2014).

15 Oct 2014

Matthew Green 8 min read

Believe it or not, there’s a new attack on SSL. Yes, I know you’re thunderstruck. Let’s get a few things out of the way quickly. First, this is not another Heartbleed. It’s bad, but it’s not going to destroy the Internet. Also, it applies only to SSLv3, which is (in theory) an obsolete protocol that … Continue reading Attack of…

attackstls ssl

14 Oct 2014

Margaret Francis 3 min read

A quick glance at most any phone shows the importance and urgency – for businesses of all kinds – of creating mobile customer apps. Our everyday activities – finding a ride, ordering a meal or turning on a light are increasingly mobile experiences. But delivering a great omnichannel experience to customers requires more than just […] The post Introducing Heroku…

newsdeveloper toolsheroku connectproduct featuressalesforce

Thoughtworks 1 min read

Contact Centres deal with a lot of challenges. Is it possible to create a contact centre where callers feel valued and employees enjoy going to work? And can this be done while moving the key metrics that matter to the business? Well, we took a few bold steps and tried a few unorthodox moves - but the journey was very…

12 Oct 2014

10 Oct 2014

2 min read

I’m at RecSys 2014, meeting a lot of people and hanging out at talks. Some of the discussions here was about the filter bubble which prompted me to formalize my own thoughts. I firmly believe that it’s the role of a system to respect the user’s intent. Any sensible system will optimize for user’s long-term happiness by providing info back…

9 Oct 2014

Bettina Kastenhofer 1 min read

On 23 and 25 September Thoughtworks hosted the first edition of XConf in Europe. XConf is a one-day conference that showcases the latest thinking from Thoughtworks and friends on a broad range of technology topics. It provides a platform for passionate technologists who are looking for inspiration and a chance to network with their peers.

8 Oct 2014

7 Oct 2014

Charles Hooper 3 min read

As an SRE (Service Reliability Engineer) at Heroku, one of the things I’m exposed to is how much work happens behind the scenes in order to create what we call “non-events” for you, our users. A non-event is turning something that would typically create work for an application hosted on traditional infrastructure into something that […] The post Behind the…

news

Scott Persinger 6 min read

With the Salesforce hackathon fast approaching, I wanted to give a quick overview on building apps that use the force.com APIs (part of the Salesforce1 platform). The force APIs are rich and varied, so sometimes just getting started can seem a little daunting. What services are provided? The force.com APIs give your application access to […] The post Getting started…

engineeringeducationeventssalesforce

5 min read

Note: This is a silly application. Don’t take anything seriously. Benford’s law describes a phenomenon where numbers in any data series will exhibit patterns in their first digit. For instance, if you took a list of the 1,000 longest rivers of Mongolia, or the average daily calorie consumption of mammals, or the wealth distribution of German soccer players, you will…

Jagbir Singh Lehl 1 min read

Pair programming has been used by software developers in most progressive software companies to help churn out quality products and ensure that context is shared across the teams. For the uninitiated, traditional pair programming is a practice where 2 programmers work on developing a piece of software functionality in tandem.

6 Oct 2014

5 Oct 2014

1 min read

I recently wrapped up a fun paper with my coauthors Ben Fish, Adam Lelkes, Lev Reyzin, and Gyorgy Turan in which we analyzed the computational complexity of a model of the popular MapReduce framework. Check out the preprint on the arXiv. Update: this paper is now published in the proceedings of DISC2015. As usual I’ll give a less formal discussion…

4 Oct 2014

Matthew Green 7 min read

Last week I wrote about Apple’s new default encryption policy for iOS 8. Since that piece was intended for general audiences I mostly avoided technical detail. But since some folks (and apparently the Washington Post!) are still wondering about the nitty-gritty details of Apple’s design, I thought it might be helpful to sum up what we know … Continue reading…

apple

3 Oct 2014

Dave Cheney 1 min read

When initialising a variable with a composite literal, Go requires that each line of the composite literal end with a comma, even the last line of your declaration. This is the result of the semicolon rule. Although possibly an unintended consequence, this means that when proposing a one line change, it really is a one line change. The […]

goprogramming

Craig Kerstiens 3 min read

As part of Salesforce’s Dreamforce conference, Salesforce is hosting its second major hackathon on October 10-12 in San Francisco. The format for this year’s hackathon has been expanded to include specific categories for not just Heroku, but also some of our favorite open source projects. With over ten prizes of more than $10,000 each, this […] The post Heroku at…

news

2 Oct 2014

lukaseder 1 min read

More and more people are catching up with the latest update to our platform by adopting functional programming also for their businesses. At Data Geekery, we’re using Java 8 for our jOOQ integration tests, as using the new Streams API with lambda expressions makes generating ad-hoc test data so much easier. However, we don’t feel … Continue reading Don’t Miss…

javajava 8sqljoojooq

Scott Persinger 3 min read

One of the challenges when starting a mobile app project is deciding what technology stack to use. Should the client app use iOS or Android native, mobile web, or a hybrid? Do the backend in Node, Ruby, or Java? Or skip the backend and use an Mobile Backend-as-a-Service? To help avoid needing to answer all […] The post The Heroku…

engineeringapp architecturedeveloper toolslanguages