~/devreads

29 Aug 2014

lukaseder 1 min read

For many PL/SQL developers, this might be common sense, but for one of our customers, this was an unknown PL/SQL feature: Backtraces. When your application raises an error somewhere deep down in the call stack, you don’t get immediate information about the exact source of the error. For large PL/SQL applications, this can be a … Continue reading PL/SQL backtraces…

sqlbacktracedbms utilitydebuggingerrors

Mark Collin 1 min read

On the back of my recent post, Delivery 2.0: Blurring the Lines Between Retail and Delivery, the next industry about to have its moment is quite clearly Retail Banking. Why?

28 Aug 2014

Michael Carroll 1 min read

This tutorial shows you how to build a DIY snapchat app, enabling you to capture and send compressed images with JavaScript (as JSON strings).

Michael Carroll 1 min read

This tutorial shows you how to build a DIY snapchat app, enabling you to capture and send compressed images with JavaScript (as JSON strings).

Sudhindra Rao 1 min read

Since the time Mingle was first released as a SaaS product, it has gone through a lot of changes. Most of those changes have been towards enabling Mingle to work in distributed environments on the cloud. In our journey, we learnt a lot about the cloud and how to build for it instead of fighting it. I will try to…

27 Aug 2014

26 Aug 2014

lukaseder 1 min read

Introduction jOOQ is a great framework when you want to work with SQL in Java without having too much ORM in your way. At the same time, it can be integrated into many environments as it is offering you support for many database-specific features. One such database-specific feature is partitioning in PostgreSQL. Partitioning in PostgreSQL … Continue reading Integrating jOOQ…

javajooq-in-usejooqmulti-tenancypartitioning

1 min read

Greedy algorithms are by far one of the easiest and most well-understood algorithmic techniques. There is a wealth of variations, but at its core the greedy algorithm optimizes something using the natural rule, “pick what looks best” at any step. So a greedy routing algorithm would say to a routing problem: “You want to visit all these locations with minimum…

1 min read

Recently I fell in love with Pretender, the mock server library in Javascript, so I decided to record a screencast showing how to use it in an Ember.js integration test: The source code for the login application is on github. The finished version is in the pretender branch.

Emily Namugaanyi 1 min read

The Internet, technology devices, and other platforms are all an effort to automate processes in the name of making life easier. For example going into a library to borrow a book is now a much less cumbersome process or paying a utility bill can be done with just the click of a few buttons. The Internet today has simplified work…

25 Aug 2014

1 min read

I’m presenting a paper later this week at the Matheamtical Foundations of Computer Science 2014 in Budapest, Hungary. This conference is an interesting mix of logic and algorithms that aims to bring together researchers from these areas to discuss their work. And right away the first session on the first day focused on an area I know is important but…

Olivia Leonard 1 min read

Pizza has long been the fuel of meetups, parties, and lazy fridays. But combine it with a complex technology project that integrates across 13 systems and core apps and you have yourself a supreme customer experience. A Thoughtworks team has been working closely with Domino’s Pizza, Australia's market leader, over a period of nine months to strategise, develop and implement…

Gary O'Brien 1 min read

One of the most asked questions I get from clients is “what is value” or “how do we measure value.” Interestingly, I ran my poll on the Scaling Agile To do List and it appeared as a favorite there too.

Pamela Mori 1 min read

Rails Girls has been empowering women since 2011 in many cities around the world. Each event has it particularity and experiences to share, experiences valued, to bring more people, increase the awareness of gender justice and change the face of IT with inclusivity and diversity. This time, it was the opportunity for Montevideo!

23 Aug 2014

Thoughtworks 1 min read

While there is currently no official Black Girls Code (BGC) Chicago Chapter, Thoughtworks has partnered with BGC in the past to host events. This year, Thoughtworks Chicago partnered with EnglewoodCodes! and Black Girls Code to sponsor and host a Mobile App Workshop on Saturday, July 12, 2014. Thanks to the support of more than 50 Thoughtworkers and community volunteers, 30…

22 Aug 2014

jonskeet 9 min read

A comment on a Stack Overflow post recently got me delving into constants a bit more thoroughly than I have done before. Const fields I’ve been aware for a while that although you can specify decimal field as a const in C#, it’s not really const as far as the CLR is concerned. Let’s consider … Continue reading When is…

c#evil codecsharpevilcode

Michael Friis 1 min read

On Wednesday, Uber launched an API to let developers build new products and services that leverage the Uber ridesharing platform. Uber built a simple Python/Flask app that developers can use when exploring how the API works. This is the sort of experimentation and innovation that we at Heroku want to enable, so we sent a […] The post Uber Launches…

news

Mark Collin 1 min read

Success for retailers in the next few years is going to be defined by “Retail Agility”, the ability to take advantage of the emergence of a plethora of new markets, channels, products and customer segments which shows no signs of abating.

Jim Highsmith 1 min read

The next horizon is extending agility from basic software delivery to continuous delivery and into the business itself, utilizing the advances in delivering software features early and often into a transformation of businesses to deliver complete solutions early and often.

21 Aug 2014

20 Aug 2014

1 min read

Ever since I wrote reptyr, I’ve been frustrated by a number of issues in reptyr that I fundamentally didn’t know how to solve within the reptyr model. Most annoyingly, reptyr fundamentally only worked on single processes, and could not attach processes with children, making it useless in a large class of real-world situations. TTY stealing Recently, I merged an experimental…

19 Aug 2014

Michael Friis 3 min read

At Heroku, we want to give our users access to the latest and greatest software stacks to base their apps on. That’s why we continuously update buildpacks to support new language and framework versions and let users experiment further using third-party buildpacks. Sitting underneath slugs and buildpacks are stacks. Stacks are the operating system and […] The post Cedar-14 Public…

news

Michael Carroll 1 min read

This iBeacon walkthrough shows you how to connect an iBeacon emitter and observer for two-way communication with Swift Programming Language.

Michael Carroll 1 min read

This iBeacon walkthrough shows you how to connect an iBeacon emitter and observer for two-way communication with Swift Programming Language.

1 min read

Inspired by Sander Dieleman’s internship at Spotify, I’ve been playing around with deep learning using Theano. Theano is this Python package that lets you define symbolic expressions (cool), does automatic differentiation (really cool), and compiles it down into bytecode to run on a CPU/GPU (super cool). It’s built by Yoshua Bengio’s deep learning team up in Montreal. This isn’t going…

18 Aug 2014

lukaseder 1 min read

Oracle SYNONYMs are a great feature. You can implement all sorts of backwards-compatibility tweaks simply by creating SYNONYMs in your database. Consider the following schema: Now you can query your same old table through three different names, it’ll all result in the same output: The trouble is, when you see my_table_bak in code (or some … Continue reading All You…

sqlcommon table expressionshierarchical sqloraclerecursive sql

1 min read

For some reason, Oracle blocked the installers to run only on a fixed OSX version range with a nice and explanatory error message. This range doesn’t include Yosemite, which makes sense, since nobody running Yosemite will ever want to write some Java. Anyway, here is how to fix it.

Sean McClure 1 min read

As humans, we navigate our lives largely by the recognition of patterns. These patterns include the sound of a mother’s voice, the appearance of a dangerous animal or poisonous food, the familiarity of kin, and the attraction to potential mates. Accurate pattern recognition is key to an animal’s survival and progress, and has allowed humans to become the socially complex…

V Moschetta 1 min read

We are often taught to see prejudice only in individual acts of meanness, not in invisible systems conferring dominance on the privileged groups. So one of the great privileges many of us have is to be oblivious to our own condition of privilege.

Aly Blenkin and Fernanda Alcocer 1 min read

Are you solving problems that don’t exist? It’s number two in our list of nine major risks to innovation. Being successful at innovation requires an understanding of the identified risks and having the ability to deal with them. Let’s take a look at Risk #2: Solving non-existent problems.

17 Aug 2014

Dave Cheney 3 min read

This is a post about Go’s built in make and new functions. As Rob Pike noted at Gophercon this year, Go has many ways of initialising variables. Among them is the ability to take the address of a struct literal which leads to serveral ways to do the same thing. s := &SomeStruct{} v := SomeStruct{} […]

goprogrammingmakenew

16 Aug 2014

1 min read

I’ve found that a lot of people don’t know how powerful the Chrome Developer Tools are, especially when paired with the Ember Inspector. I recorded this short screencast to show a handful of tricks you can use when debugging Ember.js applications: The source code to the Bug Tracker project is on github.

15 Aug 2014

lukaseder 1 min read

Subscribe to this newsletter here jOOQ 3.5 Outlook We’re working hard on the next release. Already 90 issues for jOOQ 3.5 are closed and counting! Today, we’re going to look at the highlights of what will be implemented in the next, exciting minor release, due for Q4 2014: Support for new databases Our customers have … Continue reading jOOQ Newsletter:…

jooq-newslettercode generationdata geekerydata geekery partnerdata geekery partner network

14 Aug 2014

lukaseder 1 min read

Have you ever wondered about the use-case behind SQL’s ANY (also: SOME) and ALL keywords? You have probably not yet encountered these keywords in the wild. Yet they can be extremely useful. But first, let’s see how they’re defined in the SQL standard. The easy part: 8.7 <quantified comparison predicate> Function Specify a quantified comparison. … Continue reading A Wonderful…

sqlallanyjooqquantified comparison predicates

Noah Zoschke 3 min read

Retrospectives are a valuable tool for software engineering teams. Heroku consistently uses retrospectives to review operational incidents, root cause problems, and generate remediation tasks to improve our systems. Increasingly we use retrospectives for another purpose: to improve teamwork and interactions on projects. Here we intentionally avoid technical discussions and focus on the emotional and human […] The post Retrospectives appeared…

engineeringdeveloper toolsguidesecurity incidents

51 min read

UNITED STATES DISTRICT COURT NORTHERN DISTRICT OF CALIFORNIA SAN JOSE DIVISION IN RE: HIGH-TECH EMPLOYEE ANTITRUST LITIGATION THIS DOCUMENT RELATES TO: ALL ACTIONS Case No.: 11-CV-02509-LHK ORDER DENYING PLAINTIFFS' MOTION FOR PRELIMINARY APPROVAL OF SETTLEMENTS WITH ADOBE, APPLE, GOOGLE, AND INTEL Before the Court is a Motion for Preliminary Approval of Class Action Settlement with Defendants Adobe Systems Inc. ("Adobe"),…

16 min read

This is an archived USENET post from John Cooley on a competitive comparison between VHDL and Verilog that was done in 1997. I knew I hit a nerve. Usually when I publish a candid review of a particular conference or EDA product I typically see around 85 replies in my e-mail "in" box. Buried in my review of the recent…

Prakash Subramaniam 1 min read

“The key abstraction of information in REST is a resource. Any information that can be named can be a resource: a document or image, a temporal service (e.g. "today's weather in Los Angeles"), a collection of other resources, a non-virtual object (e.g. a person), and so on. In other words, any concept that might be the target of an author's…

13 Aug 2014

Matthew Green 11 min read

Last Thursday, Yahoo announced their plans to support end-to-end encryption using a fork of Google’s end-to-end email extension. This is a Big Deal. With providers like Google and Yahoo onboard, email encryption is bound to get a big kick in the ass. This is something email badly needs. So great work by Google and Yahoo! … Continue reading What’s the…

messagingprivacy

Lourenço P. Soares 1 min read

Most software development teams break work down into four distinct phases: Analyze → Develop → Test → Release. As projects grow in scale, traditional development teams grow each of these phases without changing the sequence or frequency. Each phase happens once and only after the previous one is completed. This model has worked for generations for building physical goods and…

12 Aug 2014

Matthew Soldo 5 min read

Today Heroku is rolling out one of the most significant upgrades ever to our Postgres Database-as-a-Service. This new release is focused on a set of services that run on top of your Heroku Postgres database, making it easier to understand and operate, especially at scale. In addition, we are rolling out new production database plans […] The post The New…

news

Will Leinweber 2 min read

Introducing pg:diagnose, a new tool for finding and fixing performance issues with your Heroku Postgres database. The heroku pg:diagnose CLI command unlocks the wealth of built-in information that PostgreSQL stores about its own health and performance, presenting it in simple report that makes identifying and correcting common database problems effortless. At Heroku, we not only […] The post Introducing pg:diagnose:…

news

lukaseder 1 min read

One of the best features in SQL are window functions. Dimitri Fontaine put it bluntly: There was SQL before window functions and SQL after window functions If you’re lucky enough to be using any of these databases, then you can use window functions yourself: CUBRID DB2 Firebird H2 Informix MariaDB MySQL Oracle PostgreSQL SQLite SQL … Continue reading The Difference…

sqldense rankrankranking functionsrow number

Emily Namugaanyi 1 min read

Articles are written, communities have been started, forums have been organized, and organizations have taken steps to bring women into the technology space. But there is always more to do. When a woman is asked what was your motivation to take on a career in technology, the answers you hear sound like this. “I like to solve problems using machines.”…

Daniel Amorim 1 min read

Agile Testers are often known as Quality Analysts (QA), Software Engineers in Test, Test Engineers and QA Leads, among other variances. I've been working as an Agile QA for a while and I would like to share my point of view about how QAs work in an agile team. In this article, I will use the term QA to represent…

11 Aug 2014

lukaseder 1 min read

There are those people that have a strong, dogmatic belief in what they call “Free” or “Standard” or “Open” software. One of those individuals is Jimmie (let’s call him Jimmie in this article) who has responded to an article about Java persistence by Marco Behler on TheServerSide. Let me cite Jimmie’s response here: JPA is … Continue reading The “Free”,…

businessopen-sourcefree softwarejooqjpa

1 min read

I talked about Cat-DNS at Cascadia.js, and it wasn’t terrible! There is a video. Of me talking! On the internet! What a future we live in. =^..^= The internet needs more cats. DNS servers are the authority on all things internet. Therefore, the best DNS server is the one that resolves everything to cats. This talk is about that. We’re…

Tania Silva and Bruna Chagas 1 min read

Technovation Challenge encourages girls who are in primary, secondary and higher education to create, develop and launch a mobile application that can solve problems related to their communities. The girls have 12 weeks to develop a prototype of the application, going through the whole process, from the identification of the problem, the creation of ideas to solve it, the elaboration…

Thoughtworks 1 min read

Thoughtworks Joins Dozens of Groups, Companies Praising President Obama's Net Neutrality Statement Dozens of advocacy organizations and companies, released a letter on August 8, 2014, to President Barack Obama, in response to his recent vocal support for fair and meaningful net neutrality rules. Find the full text of the letter below. Subject: Thank you for protecting the Internet, Mr. President…

8 Aug 2014

jonskeet 3 min read

I started writing a post like this a long time ago, but somehow never finished it. Countless posts on Stack Overflow are vulnerable to SQL injection attacks. Along with several other users, I always raise this when it shows up – this is something that really just shouldn’t happen these days. It’s a well-understood issue,and … Continue reading The BobbyTables…

c#evil codestack overflow

lukaseder 1 min read

Recently, I’ve encountered this sort of query all over the place at a customer site: Unfortunately, COUNT(*) is often the first solution that comes to mind when we want to check our relations for some predicate. But COUNT() is expensive, especially if all we’re doing is checking our relations for existence. Does the word ring … Continue reading SQL Tip…

sqlcountexists

7 Aug 2014

Michael Friis 4 min read

At Heroku, we want to make the process of deploying, running and updating code simple and easy. To that end, we’re launching the Heroku Button: a simple HTML or Markdown snippet that can be added to READMEs, blog posts and other places where code lives. Clicking a Heroku Button will take you through a guided […] The post Introducing Heroku…

news

Jim Highsmith 1 min read

It’s not enough to have a “good” idea; you have to have one that “sticks.” “By ‘stick’ we mean that your ideas are understood and remembered, and have a lasting impact—they change your audience’s opinions or behavior.”1 (Heath, 2007). In the mid-1990s, I managed an enterprise data model project for an apparel company. This initiative had a checkered history of…

6 Aug 2014

lukaseder 1 min read

Markus Winand from Use The Index, Luke! did it again. He started an exciting battle against one the biggest flaws in the SQL language: We’ve blogged about this before. OFFSET pagination is terribly slow, once you reach higher page numbers. Besides, chances are, that your database doesn’t even implement it correctly, yet (and your emulation … Continue reading Join the…

sqlkeysetkeyset paginationmarkus winandoffset

Gayathri Rao 1 min read

Custom software is a competitive advantage. At Thoughtworks, we build bespoke software solutions that bolster our clients toughest challenges - helping them get ahead of the competition, and stay there. Bespoke software solutions offer flexibility and use a variety of methodologies and approaches. Human Centered Design is one of these approaches, and arguably, one of the most important.

5 Aug 2014

Rand Arete 4 min read

At Heroku, we’re focused on delivering thoughtfully designed systems to improve developer productivity and experience. We firmly believe that improving the development and operations experience helps developers to build and run better apps. This improvement allows developers to focus more on functionality, and businesses to focus more on the value of their applications. Today we […] The post New Heroku…

newsdeveloper toolsperformance optimizationproduct features

lukaseder 1 min read

Every once in a while, we run into these rare SQL issues where we’d like to do something that seems out of the ordinary. One of these things is pivoting rows to columns. A recent question on Stack Overflow by Valiante asked for precisely this. Going from this table: +------+------------+----------------+-------------------+ | dnId | propNameId | … Continue reading Are You…

sqloraclepivotsql server

Devi Sridharan 1 min read

When you’re driven by the enthusiasm of having a good test coverage for your application, you automate the entire workflow**. As a result of this, the test-suite becomes huge and the safety net of these tests become a bottleneck. What starts off as a method to give faster feedback, now becomes a cause for delaying code commits. This is a…

4 Aug 2014

1 min read

Earlier this year, the new version of the Java Programming Language was released. Finally, it enters the field of the “cool peeps” with some features it should have had since years ago, like Lambdas.

1 min read

Culture is important. It’s how we carry out our practice of software development. One of the great things we do to transmit our culture is through maxims we call laws. For example, Parkinson’s Law states, “Work expands so as to fill the time available for its completion.” And here’s another one. Brookes’ Law talks about scheduling – “Adding manpower to…

3 Aug 2014