~/devreads

4 Oct 2017

5 min read

Here at SoundCloud, we’ve been working on helping our Data Scientists be more effective, happy, and productive. We revamped our organizational structure, clearly defined the role of a Data Scientist and a Data Engineer, introduced working groups to solve common problems (like this), and positioned ourselves to do incredible work! Most recently, we started thinking about the work that a…

3 Oct 2017

Jon Byrum 3 min read

In the last few years Docker has emerged as a de facto standard for packaging apps for deployment. Today, Heroku Container Registry and Runtime is generally available, allowing you to deploy your Docker images directly to Heroku. With Container Registry, you get all of the benefits of Docker — a great local development experience and […] The post Container Registry…

newscloud infrastructuredeveloper tools

1 min read

“Property-based testing” refers to the idea of writing statements that should be true of your code (“properties”), and then using automated tooling to generate test inputs (typically, randomly-generated inputs of an appropriate type), and observe whether the properties hold for that input. If an input violates a property, you’ve demonstrated a bug, as well as a convenient example that demonstrates…

2 Oct 2017

Joe Kutner 4 min read

Pushing an app to the cloud can feel like launching a probe into space. Once your project is thousands of miles away you can't bang on it with a hammer or replace broken parts when there's a problem. Your debugging efforts must rely on the instrumentation, telemetry, and remote controls included with the app when […] The post In the…

engineeringcloud infrastructurejava

1 Oct 2017

Stanko 1 min read

I kinda got bored by the current design. Rotating SVGs in the header ate too much CPU power (oh the irony). So I decided to change a thing or two. First thing was to get rid of the rotation. Then logo got replaced and I added this marvelous font. Header is a bit smaller now and footer blends more with…

29 Sept 2017

28 Sept 2017

Jon Byrum 2 min read

We’ve all been there — you push your code to production and a leak causes memory usage to grow out of control. To determine the root cause of the problem, you need to be able to monitor, inspect, and debug the production application, collecting detailed data at runtime. Today we’re making it even easier to […] The post Heroku Exec…

news

lukaseder 1 min read

Cost Based Optimisation is the de-facto standard way to optimise SQL queries in most modern databases. It is the reason why it is really really hard to implement a complex, hand-written algorithm in a 3GL (third generation programming language) such as Java that outperforms a dynamically calculated database execution plan, that has been generated from … Continue reading 10 Cool…

sqljoin eliminationsql optimisationsql performancesql transformation

27 Sept 2017

Stanko 5 min read

Please note that I'm not using Jekyll anymore, so this post might be outdated. Update, March 2020 # This post is outdated and I simplified my setup a lot. I'll try to cover my current setup in one of the future blog posts. Original post # Few days ago I got a following message on LinkedIn. Hi Stanko! I'm a…

Stanko 1 min read

But I need to regroup and focus on finishing at least one, instead of starting all of the trillion ones and finishing none.

Luis Mizutani 1 min read

In Agile projects, the goal is usually broken down into discrete units of work that describes a feature or ability to perform an action from an end-user perspective. These blocks of work are usually referred to as ‘user stories’. That leads us to an obvious question: what is the best way to break your work into user stories? Like so…

Daniel Pallozzi 1 min read

What makes a retailer ready for the future? How can retailers best prepare themselves to compete with category-changers like Amazon? The ripples caused by advances in technology and shifts in what people spend their money on are well publicized in retail. Especially zealous reporters pen terms like ‘retail apocalypse’ and ‘death of retail’. But a host of retailers are bucking…

26 Sept 2017

Brett Goulder 1 min read

We are excited to announce the Dublin region for Heroku Private Spaces is now generally available for Heroku Enterprise customers. Dublin joins the growing list of regions that Private Spaces supports: Sydney, Virginia, Oregon, Frankfurt, and Tokyo. With the Private Spaces Dublin region, organizations can build and deploy Heroku-style apps closer to their UK customers, […] The post Announcing the…

news

3 min read

A funny thing about being a foreigner is how you realize people take broken things for granted. I’m going to go out on a limb here claiming that the US has a pretty dumb banking system. I could talk about it all day, but right now I want to focus on a very particular piece of it: how to verify…

1 min read

After a summer hiatus, the Jane Street Tech Talks series is back on for the fall! Last we left it, our very own Dominick LoBraico presented on the evolution of our internal configuration methodology and the systems that support it. For anybody that missed it, you can check out a recording of the talk on YouTube.

25 Sept 2017

24 Sept 2017

1 min read

Previously in this series: Linear programming and healthy diets — Part 1 Linear programing and the simplex algorithm Foods of the Father My dad’s an interesting guy. Every so often he picks up a health trend and/or weight loss goal that would make many people’s jaw drop. For example, we once went on a 5-day, 50-mile backpacking trip in the…

Miranda Hill 1 min read

“Data is to this century what oil was to the last one: a driver of growth and change. Flows of data have created new infrastructure, new businesses, new monopolies, new politics and—crucially—new economics.” - The Economist, May 2017

22 Sept 2017

lukaseder 1 min read

A very common type of SQL query is the TOP-N query, where we need the “TOP N” records ordered by some value, possibly per category. In this blog post, we’re going to look into a variety of different aspects to this problem, as well as how to solve them with standard and non-standard SQL. These … Continue reading How to…

sqlcross applylateral joinouter applyrank

Dave Elliman 1 min read

In the first article of this series, we looked at the background the General Data Protection Regulations (GDPR), as well as some its implications. In this follow-up, we’ll concentrate on how to understand all the data in your possession and what that means for your organization.

21 Sept 2017

20 Sept 2017

2 min read

There’s this thing I hate about the modern web which is that sites are rarely one giant html file filled with goodies. You can’t just “run a site” locally. You need an npm or a gulp step or a docker if you’re lucky. And probably a local server, but not the one you have installed. Which, I mean, makes sense,…

Jonathan Pangrazio, Kevin Flynn, Matt Harris 1 min read

Tech Retail Week assembled some of the Consumer Industry’s leading thinkers to discuss the future of the industry over 2 days at Here East in London’s Olympic Park. Industry luminaries were joined by an eclectic mix of challengers, start-ups, and organizations, who in the past might not have been considered as part of the Retail community. This led to a…

19 Sept 2017

Dave Cheney 1 min read

I wanted to write a few words about the postal survey on marriage law currently underway in Australia. As an Australian, our country and our government do so many things that make me ashamed; the poverty of our indigenous population, the inhumane treatment of refugees on Manus Island, and the maniacal desire to burn every […]

small ideas#voteyes

18 Sept 2017

16 Sept 2017

Henrik Warne 2 min read

A good programming quote captures an insight about programming, often in a funny way. Many quotes are quite famous, but I like ones that are a bit less well-know. A while ago, I listed some favorites. Here are more good … Continue reading →

programmingquotes

15 Sept 2017

Matthew Green 3 min read

It’s now been about a week since Equifax announced the record-breaking breach that affected 143 million Americans. We still don’t know enough — but a few details have begun to come out about the causes of the attack. It’s now being reported that Equifax’s woes stem from an unpatched vulnerability in Apache Struts that dates … Continue reading Patching is…

attackscompaniesbehavingbadlyequifax

Gary Spillman 15 min read

If you’ve followed Bazaarvoice’s R&D blog, you’ve probably read some of our posts on web application performance testing with tools like Jmeter here and here. In this post, we’ll continue our dive into web app performance, this time, focusing on testing front end applications. API Response Time vs App Usability: Application UI testing in general […]

open sourcetestingperformance testing

14 Sept 2017

Rand Arete 2 min read

Event-driven architectures are on the rise, in response to fast-moving data and constellations of inter-connected systems. In order to support this trend, last year we released Apache Kafka on Heroku – a gracefully integrated, fully managed, and carefully optimized element of Heroku’s platform that is the culmination of years of experience of running many hundreds […] The post Kafka Everywhere:…

newsapache kafkacloud infrastructuredatadata analytics

1 min read

We’re releasing an algorithm which accounts for the fact that other agents are learning too, and discovers self-interested yet collaborative strategies like tit-for-tat in the iterated prisoner’s dilemma. This algorithm, Learning with Opponent-Learning Awareness (LOLA), is a small step towards agents that model other minds.

research

Swapnil Deshpande 1 min read

In my last blog, I tried to explain the factors that impact the direction that IT departments need to take to stay relevant in the current business scenario. In this edition, I share my thoughts on the change in the culture of work within IT departments.

13 Sept 2017

Jonan Scheffler 3 min read

Heroku is very fortunate to have a strong community of developers that are excited and passionate about our product. Every day we hear from customers who tell us how much easier Heroku has made their lives, and they frequently share stories about interesting technical projects we’ve helped them bring to life. Our customers love us, […] The post Best of…

newseducationevents

12 Sept 2017

Lucas Arundell 5 min read

Here at Small Improvements we have 3 development teams. Each team is an autonomous unit that consists of frontend & backend developers, UI/UX developers and designers, so that they can build and ship features independently. In this blogpost we want to share an insight into what the development process looks like in Team Green. We […]

how we work

Elise Zelechowski 1 min read

I don't believe in charity. I believe in solidarity. Charity is so vertical. It goes from the top to the bottom. Solidarity is horizontal. It respects the other person. I have a lot to learn from other people. - Eduardo Galeano 'Solidarity over charity' is a philosophy of engagement and also a practice that underpins our approach to social change…

11 Sept 2017

10 Sept 2017

8 Sept 2017

7 Sept 2017

6 Sept 2017

Caroline Modic 7 min read

At Clever, we chose early on to deliberately define the key principles we wanted our culture to reflect. These tenets are a part of day-to-day vocabulary, and we think they make us a stronger team. About a year ago, we asked ourselves: how do these tenets apply to our engineering team? Are there aspects of […] The post Defining Clever’s…

general

Dave Cheney 5 min read

Everyone gets the same set of tools Something that had long puzzled me was the question “Why do some people [in the organisation] have root, and others do not?” It seemed to me that the reason the sysadmins had the root passwords, and everyone else had to raise tickets, was a tooling problem. Giving everyone […]

small ideasheptiokubernetes

3 min read

Just for fun, I generated these graphs of the number of letters in the word for each number. I really spent about 10 minutes on this (ok…possibly also another 40 minutes tweaking the plots): More languages!! I love how Spanish has a few super compact words: “cien mil” for 100,000 for instance. Only eight letters, versus English “one hundred thousand”…

5 Sept 2017

Seth Hubbell 8 min read

Language: Scala TestTool: Scalatest How did we get here? When systems become reasonably complex, tests must manage cumbersome amounts of data. A test case that may test a small bit of functionality may start to require large amounts of domain knowledge about the system being tested. This is often done through the mock data used […]

software architecturetestingdesignintegrationquality assurance

Fausto de la Torre 1 min read

Many organizations have become adept at identifying what they need from software development projects, based on a keen understanding of their business goals. Even so, they’re often surprised to find out that the end results don’t achieve the transformative impact they were expecting. Their mistake? Overlooking the importance of Conway’s Law.

4 Sept 2017

jgamblin 2 min read

Last November I hacked together a script that continually monitored your network and sent a slack alert when something change. It worked but I was never 100% happy with it so I spent some time this weekend and rewrote it so that is hopefully more user friendly and functional. Some changes in this version includes the ability to set timeouts…

uncategorized

1 min read

This past weekend I decided I need to clean up my GitHub profile. In this post I’ll write about why I cleaned everything up and also how I did, as well as some initial results.

3 Sept 2017

2 Sept 2017

Stanko 1 min read

On the project I'm currently working on, client's logo is displayed in two versions, black on the white background and vice versa. To make their life easier, so they don't have to upload two assets, I suggested SVG. Alas they can't use SVGs (kinda long story), so I just applied CSS filter: invert(1);, but... ...you guessed it - it doesn't…

Stanko 1 min read

If you are JavaScript developer and not using nvm you might want to look at it. Node Version Manager is easy way to install, manage and work with multiple node versions. Recently I got npm update notification, that looks something like this: For some reason, when I had node installed through nvm, npm i -g npm didn't work. However, when…

1 Sept 2017

kevin 5 min read

Node string encoding is all over the place. Let's try to straighten out how it works. First, some very basics about string encoding. A string is a series of bytes. A byte is 8 bits, each of which can be 0 or 1, so a byte can have 28 or 256 different values. Encoding is […]

code

lukaseder 1 min read

The SQL language has one great advantage over procedural, object oriented, and “ordinary” functional programming languages. The fact that it is truly declarative (i.e. a 4GL / fourth generation programming language) means that a sophisticated optimiser can easily transform one SQL expression into another, equivalent SQL expression, which might be faster to execute. How does … Continue reading JOIN Elimination:…

sqldb2join eliminationmysqloptimisation

31 Aug 2017

30 Aug 2017

jonskeet 5 min read

I do most of my work in the google-cloud-dotnet github repo (That’s the repo for the Google Cloud Client Libraries for .NET, just to get a quick bit of marketing in there.) We try to keep our build and test dependencies up to date, so I recently updated to the latest versions of Microsoft.NET.Test.Sdk and … Continue reading Diagnosing a…

diagnostics

29 Aug 2017

5 min read

Here’s a dumb extremely accurate rule I’m postulating* for software engineering projects: you need at least 3 examples before you solve the right problem. This is what I’ve noticed: Don’t factor out shared code between two classes. Wait until you have at least three. The two first attempts to solve a problem will fail because you misunderstood the problem. The…

28 Aug 2017

Charisse De Torres 2 min read

The first half of 2017 has been quite a busy year for us. With all the features that’ve been rolling out, fixes to deploy, improvements to discuss, design and implement, it can be hard to organise an event that won’t disrupt everybody’s flow. Until we realize that there is never a “right” time. Here in […]

how we workhackathon

1 min read

Trading is a competitive business. You need great people and great technology, of course, but also trading strategies that make money. Where do those strategies come from? In this post we’ll discuss how the interplay of data, math and technology informs how we develop and run strategies.

25 Aug 2017

1 min read

For those of you interested in what what interns do at Jane Street, here’s a post from former intern Tristan Hume, on his work developing tree-diffing algorithms last summer at Jane Street. It’s a fun (and very detailed!) read.

24 Aug 2017

lukaseder 1 min read

One of the cooler hidden features in jOOQ is the JPADatabase, which allows for reverse engineering a pre-existing set of JPA-annotated entities to generate jOOQ code. For instance, you could write these entities here: (Just a simple example. Let’s not discuss the caveats of @ManyToMany mapping). For more info, the full example can be found … Continue reading jOOQ 3.10…

javajooq-in-usejpaattributeconverterhibernate

jgamblin 1 min read

I was working on a project recently and was asked if it was possible to stop users from setting common passwords. Using the pam_cracklib module and @DanielMiessler common passwords list it is as simple as these 3 commands: sudo apt-get install libpam-cracklib -y sudo wget https://raw.githubusercontent.com/danielmiessler/SecLists/master/Passwords/10_million_password_list_top_1000000.txt /usr/share/dict/ -O /usr/share/dict/million.txt sudo create-cracklib-dict /usr/share/dict/million.txt Seriously

uncategorized

1 min read

People seem to enjoy talking about programming methodologies. They give them cute names, like eXtreme programming, Agile, and Scrum; run conferences and build communities around them; write books that describe how to use them in excruciating detail; and manifestos that lay out their philosophy.