~/devreads

2 Jul 2018

Dino Frese 1 min read

This is the second article in a two-part series exploring digital transformation in the automotive sector. In this article, we focus on ways to improve technical aspects of that domain — mainly ways to decouple hardware and software development. Read Part One, that describes the context of mobile apps for connected cars here.

1 Jul 2018

29 Jun 2018

1 min read

With the external release of OCaml 4.07.0 imminent, we in Jane Street’s Tools & Compilers group have been planning what we want to work on for inclusion in OCaml 4.08. These days OCaml uses (or at least attempts) a time-based release process with releases scheduled every 6 months. We’re trying to avoid rushing in changes at the last minute –…

28 Jun 2018

Kaushik Ravikumar 1 min read

Get started building your own voice-activated home automation app with emotional intelligence using Functions, Dialogflow, and Amazon Comprehend.

Kaushik Ravikumar 1 min read

Get started building your own voice-activated home automation app with emotional intelligence using Functions, Dialogflow, and Amazon Comprehend.

bohops 6 min read

TL;DR Vendors are notorious for including and/or leaving behind Registry artifacts that could potentially be abused by attackers for lateral movement, evasion, bypass, and persistence. CLSIDs subkeys (LocalServer32 and InprocServer32) can be enumerated to discover abandoned binary references. Interestingly, CLSIDs can be called (‘invoked’) with this command: rundll32.exe -sta {CLSID} Defensive recommendations – clean up […]

uncategorized

27 Jun 2018

Camille Baldock 4 min read

Over the past few weeks, Heroku proactively updated our entire Redis fleet with a version of Redis not vulnerable to CVE-2018-11218. This was an embargoed vulnerability, so we did this work without notifying our customers about the underlying cause. As always, our goal was to update all Heroku Redis instances well before the embargo expired. […] The post Rolling the…

engineeringheroku key-value storeperformance optimizationredissecurity incidents

lukaseder 1 min read

Imagine you have a configuration table like the following: It specifies a set of rules that Can be enabled / disabled Can be given a priority among themselves Include a set of flags which correspond to the thing you want to configure (e.g. some check to execute) Those flags can be ordered as well So, … Continue reading Using UNPIVOT…

sqlconfiguration tablenormalisationunpivotwindow functions

Andrew McWilliams 1 min read

Waves of technology-driven change now regularly disrupt industry, culture and society. The challenge of navigating this turbulence grows increasingly complex, requiring deep examination of overlapping trajectories in search of hidden insights. Research of this kind necessitates synthesis from varied disciplines, viewpoints and areas of expertise. However as the speed of change accelerates, new forms of collaboration are required — forms…

26 Jun 2018

25 Jun 2018

lukaseder 1 min read

One of Oracle 12c’s coolest features was the introduction of the SQL standard OFFSET .. FETCH clause, as we can now write things like: This is querying the Sakila database. Most other databases had this clause (or a non-standard version of it) for ages, e.g. MySQL with LIMIT. For all the different LIMIT syntaxes, check … Continue reading Oracle’s OFFSET…

sqlansi-sqlfetch firstfetch nextoffset .. fetch

Henrik Warne 4 min read

When I switched jobs four years ago, I went from using subversion (svn) to using git as the version control system. Even though I am a pretty quick learner, it took me a quite a while to really understand git. … Continue reading →

learningprogramminggit

22 Jun 2018

3 min read

Agile retrospectives are a widely used practice within engineering teams. They provide teams with a way to reflect on how they work and become better at what they do. One of the main benefits of retrospectives is that they empower teams to define and make changes by analyzing what happened in an iteration and by determining what can be improved…

21 Jun 2018

Robert Zare 2 min read

Today we are pleased to announce general availability of Heroku Shield Connect, the latest addition to our lineup of Heroku Shield services. Heroku Shield, announced last year, enabled new capabilities for Dynos, Postgres databases and Private Spaces that make Heroku suitable for high compliance environments such as those that fall under the Health Insurance Portability […] The post Announcing General…

newsheroku connectheroku shieldsecurity compliance

20 Jun 2018

Ferenc Hámori 8 min read

To tell the story of how Kubernetes evolved into the great tool that we know today, we visualized the major milestones on an interactive timeline! The post The History of Kubernetes on a Timeline appeared first on RisingStack Engineering.

kubernetesedited

19 Jun 2018

Michael Friis 4 min read

Today we’re announcing two exciting TLS improvements for apps running in Private Spaces—Heroku’s runtime optimized for security-sensitive workloads that require network and tenant isolation: Automated Certificate Management to automatically create, configure, and renew free TLS certificates for custom domains on Private Space apps Expanded and updated cipher suite selections for TLS/SSL termination for Private Space […] The post Auto Cert…

news

Richard Schneeman 4 min read

All previously released versions of Sprockets, the software that powers the Rails asset pipeline, contain a directory traversal vulnerability. This vulnerability has been assigned CVE-2018-3760. How do I know if I'm affected? Rails applications are vulnerable if they have this setting enabled in their application: # config/environments/production.rb config.assets.compile = true # setting to true makes […] The post Rails Asset…

engineeringdeveloper toolsrailsrubysecurity incidents

18 Jun 2018

Syed Ahmed 1 min read

The Function monitoring tool is a Python script that monitors all of your event handlers and displays alerts/notifications in the terminal.

Syed Ahmed 1 min read

The Function monitoring tool is a Python script that monitors all of your event handlers and displays alerts/notifications in the terminal.

17 Jun 2018

3 min read

As some of you may know, one of my side interests is approximate nearest neighbor algorithms. I’m the author of Annoy, a library with 3,500+ stars on Github as of today. It offers fast approximate search for nearest neighbors with the additional benefit that you can load data super fast from disk using mmap. I built it at Spotify to…

15 Jun 2018

lukaseder 1 min read

Clock’s ticking. JDK 11 will remove a bunch of deprecated modules through JEP 320, which includes the Java EE modules, which again includes JAXB, a dependency of many libraries, including jOOQ. Thus far, few people have upgraded to Java 9 or 10, as these aren’t LTS releases. Unlike in the old days, however, people will … Continue reading How to…

javajava 10debugidejigsaw

14 Jun 2018

13 Jun 2018

Scott Truitt 1 min read

On May 10, 2018, we received notice about two critical vulnerabilities in Redis, both embargoed until this morning. Upon this notice, our Data Infrastructure team proceeded to patch all internal and customer databases in response to these vulnerabilities. As of today, all customer databases have been patched successfully. At Heroku, customer trust is our most […] The post An Update…

newsheroku key-value storeplatform updatesredissecurity

12 Jun 2018

11 Jun 2018

Developer Relations Team 1 min read

Chat has hit the mainstream. Our eBook provides 360-degree view of chat app development, deployment, and scale—and why chat is eating the world.

Developer Relations Team 1 min read

Chat has hit the mainstream. Our eBook provides 360-degree view of chat app development, deployment, and scale—and why chat is eating the world.

1 min read

We’ve obtained state-of-the-art results on a suite of diverse language tasks with a scalable, task-agnostic system, which we’re also releasing. Our approach is a combination of two existing ideas: transformers and unsupervised pre-training. These results provide a convincing example that pairing supervised learning methods with unsupervised pre-training works very well; this is an idea that many have explored in the…

safety alignment

Isa Goksu, Kevin Telford 1 min read

Would it surprise you to learn that, in a recent survey of financial service executives worldwide, more than one-third said that they have some Open Banking initiatives already in place? Are you there? Or are you in the early steps of your Open Banking journey—like half of the executives we polled? Open Banking is an umbrella term that includes legislative…

8 Jun 2018

7 Jun 2018

lukaseder 1 min read

Today, jOOQ 3.11 has been released with support for 4 new databases, implicit joins, diagnostics, and much more New Databases Supported At last, 4 new SQL dialects have been added to jOOQ! These are: jOOQ Professional Edition Aurora MySQL Edition Aurora PostgreSQL Edition Azure SQL Data Warehouse jOOQ Enterprise Edition Teradata Implicit Joins One of … Continue reading jOOQ 3.11…

jooq-developmentanonymous blocksauroradiagnosticslistenerimplicit join

6 Jun 2018

lukaseder 1 min read

In this much overdue article, I will explain why I think that in almost all cases, you should implement a “database first” design in your application’s data models, rather than a “Java first” design (or whatever your client language is), the latter approach leading to a long road of pain and suffering, once your project … Continue reading Truth First,…

javajooq-developmentmigrationscode generationdatabase first

5 Jun 2018

Gary Spillman 7 min read

If you’ve followed our blog for some time, you’ve likely encountered posts detailing how to engage in various kinds of software testing, from performance to data-driven to security and more. This post continues that trend with a focus on testing your site for accessibility. What is Accessibility? If you are unfamiliar with the […]

testinga11yaccessibility

5 min read

Or, how to raise a project from the dead with tools you probably have lying around at home.

4 Jun 2018

2 Jun 2018

1 min read

I like to keep my GitHub clean. I delete forks I’m not using anymore, move old abandoned repositories to my graveyard and etc.

1 Jun 2018

Stanko 2 min read

This is a weird one, and not something you will stumble into every day. But it is a bug nonetheless. On iOS safari, if you use window.scrollTo(0, y) and y is larger than document's maximum scroll, any immediate call to getBoundingClientRect will return incorrect top value.Same will happen for horizontal scroll and left value. What happens is that browser thinks…

31 May 2018

MapTiler (Petr Pridal) 1 min read

The new MapTiler Platform offers base maps of the entire world, geodata processing, and a mobile application that covers the entire map-creation flow.

30 May 2018

29 May 2018

Seshadri Krishnan 1 min read

The ever-changing business landscape reminds me of what Lewis Carroll’s Red Queen says to Alice, “It takes all the running you can do, to keep in the same place.” Today, I see legacy enterprises in a similar state of flux where they are trying to maintain a status quo, while digital is fast becoming the overwhelming norm. This Red Queen…

28 May 2018

1 min read

I wanted to set up a prometheus machine for me to monitor random stuff, but I was always postponing that because I didn’t want to use SSH port-forwarding, firewalls, create a VPC and/or setup an OpenVPN server or anything like that.

25 May 2018

lukaseder 1 min read

The SQL standard knows a lesser known feature called GROUPING SETS. One particular side-effect of that feature is that we can group by “nothing” in SQL. E.g. when querying the Sakila database: This will yield: count | ------| 1000 | What’s the point, you’re asking? Can’t we just omit the GROUP BY clause? Of course, … Continue reading How to…

sqlaggregationempty group byempty grouping setgroup by

1 min read

We’re releasing the full version of Gym Retro, a platform for reinforcement learning research on games. This brings our publicly-released game count from around 70 Atari games and 30 Sega games to over 1,000 games across a variety of backing emulators. We’re also releasing the tool we use to add new games to the platform.

research

24 May 2018

Nahid Samsami 2 min read

Today we're excited to announce that Heroku CLI Autocomplete for Bash and Zsh is generally available. Heroku CLI Autocomplete makes your workflow faster and more seamless by helping you complete command and flag names when you press the tab key. Autocomplete completes all Heroku CLI commands and will automatically support new commands as they are […] The post Announcing Heroku…

newsai machine learningclideveloper tools

4 min read

An absolutely crucial part of the experience of being an engineer at SoundCloud is learning and growing as a person. Pretty much everyone we hire mentions this aspect as one of their main motivations for joining the company. And while retaining highly talented and motivated people and helping them develop is naturally valuable for SoundCloud as a company, it’s also…

23 May 2018

kevin 2 min read

Belmont is finalizing plans to build affordable housing on two parcels it owns across from the Caltrain station along El Camino Real. The proposal from the developer, LINC Housing, would construct around 20 large-family affordable units (2 and 3 bedrooms) and 20 senior housing units (one bedroom). Belmont reduced the parking requirements for new construction […]

todays world

Alexandre Klaser 1 min read

When working with technology and software development, we often hear about "continuous improvement", a concept taken from production systems that represents a continuous effort to improve products, services, or processes. Its implementation can be summarized by the following three Kaizen paradigms:

22 May 2018

Craig Ingram 5 min read

The Public Cloud Security (PCS) group at Salesforce partners very closely with Heroku engineering to review and advise on new product features across the platform, from infrastructure to applications. One of the most rewarding aspects about this partnership and working on this team for me is when we not only identify security concerns, but take […] The post Securing Dependencies…

engineeringcloud infrastructuredeveloper toolsrailssecurity

3 min read

iframe { height: 640px; width: 100%; margin: 0 auto; border: 5px solid #E0F7FA; border-radius: 3px; } Machine Learning (ML) is the dope new thing that everyone’s talking about, because it’s really good at learning from data so that it can predict similar things in the future. Doing ML by hand is pretty annoying since it usually involves matrix math which…

1 min read

Once in a while, I daydream about being thrown back in time. I’d have no Wikipedia, no books, or any access to information except what’s already in my head. If I were thrown into Victorian London, what could I do? What could I teach them? Well, the first thing I would do is tell them to wash their hands. With…