Search overlay panel for performing site-wide searches

Boost Performance & Scale with Postgres Advanced. Join Pilot Now!

Developer Tools

Alex Hendricks turns up the radio in the cabin of his ‘91 Ford LT8501. He’s drowning out the noise of the construction crew 100ft ahead as they make progress on a brand new bridge in Waco, Texas. Alex isn’t here to take in the sight of fresh new infrastructure. He’s in his truck waiting for the go-ahead to deliver a payload of hot mastic asphalt to the bridge crew.

Alex has a ticket in his hands that needs a sign-off from the project’s contractor — a signature that proves he made his delivery, and on time. Without it, he doesn’t get…

After a successful evaluation period, PostgreSQL 12 is now the default version for new Heroku Postgres databases and an available upgrade for existing databases.

I want to emphasize a few key changes and improvements in Postgres 12:

Native Table Partitioning Concurrent Operations

Native Partitioning was introduced in PostgreSQL 10 and performance improvements for improved parallel processing were added in PostgreSQL 11. Updating tables, altering partitions blocking queries, and executing concurrent operations for Native Partitioning were all improved in PostgreSQL 12. New features include allowing tables to modify partitions without blocking queries, allowing foreign keys…

As part of our Blackhat Europe talk “Reverse Engineering and Exploiting Builds in the Cloud” we publicly released a new tool called Terrier.
Announcing Terrier: An open-source tool for identifying and analysing container and image components.
In this blog post, I am going to show you how Terrier can help you identify and verify container and image components for a wide variety of use-cases, be it from a supply-chain perspective or forensics perspective. Terrier can be found on Github .

Containers and images

In this blog post, I am not going to go into too much detail about containers and…

When Heroku launched in 2007 there was only a single Ruby version that could be used on the platform. In 2012 Heroku began to support multiple Ruby versions . Since then, we’ve had a holiday tradition of releasing the new versions of Ruby on the same day they come out, which always happens on Christmas day (December 25th).

If you’re new to the community, you might be curious about where releasing a new minor version on Christmas comes from. To help answer that question, we interviewed Matz’s, who works as the Chief Ruby Architect at Heroku in 2015. In his own…

This is the first post in a two-part series about accessibility. Part two shares our design and development process addressing one aspect of accessibility in the Heroku product.

Equality as a Salesforce Value

We at Salesforce firmly believe that access to information and the ability to contribute to our digital environment should be recognized as basic human rights, not a nice-to-have features.

Globally, hundreds of millions of people have physical, speech, cognitive, and neurological disabilities, and while in practice accessibility is about designing for users with disabilities, it also benefits everyone. Most of us have experienced conditions…

Editor’s note: If you like CLIs, you should check out oclifconf taking place on Friday, May 31st in San Francisco. It’s the first community get-together for oclif! Space is limited so let us know soon if you are interested in joining. What is it that makes working from the command line so empowering? It can feel archaic at times, sure, but when you remember the right sequence of words, characters, and symbols for what you’re trying to do, it hits you with a sense of accomplishment and mastery over your tools that no graphical interface can compete with.

So what…

If you're like me, or like many other Python developers , you've probably lived (and maybe migrated) through a few version releases. Python 3.7(.3), one of the latest releases, includes some impressive new language features that help to keep Python one of the easiest, and most powerful languages out there. If you're already using a Python 3.x version, you should consider upgrading to Python 3.7. Read on to learn more about some of the exciting features and improvements.

Data Classes

One of the most tedious parts about working with Python prior to 3.7 in an…

Setting up a database is a relatively straightforward process (Heroku has an add-on for that ), but getting it to run well in production is sometimes another matter. As your application grows and your data grows along with it, you will likely find a number of performance bottlenecks specifically related to your database, and this post aims to help you diagnose and address those issues when they arise.

As with all components of your infrastructure it’s important to have early visibility into the performance characteristics of your database. Watching this data as your application grows will give you…

Heroku has many public API endpoints. Each of these endpoints needs to be tested so that we know how they work, and documented so that our customers (and other API consumers) know how they work. Follow along, and we’ll learn how Heroku uses JSON Schema to test and document our Platform API – and how it helped us uncover an unexpected bug, rooted in the way the Oj gem parses Big Decimals.

JSON Schema files are like blueprints that define the structure and semantics of other JSON documents. When a JSON Schema file is applied to a JSON document, you can…

This blog post is adapted from a talk given by Stella Cotton at RailsConf 2018 titled “ So You’ve Got Yourself a Kafka .”

https://www.youtube.com/embed/Rzl4O1oaVy8

In recent years, designing software as a collection of services, rather than a single, monolithic codebase, has become a popular way to build applications. In this post, we’ll learn the basics of Kafka and how its event-driven process can be used to power your Rails services. We’ll also talk about practical considerations and operational challenges that your event-driven Rails services might face around monitoring and scaling.

What is Kafka?

Subscribe to the full-text RSS feed for Developer Tools.