Learn how to build your own voice-powered app and control devices remotely in JavaScript with the Spoken SDK and PubNub.
2 Jul 2018
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
Starting July 16th, many developers are going to be slammed by bills from Google for using Maps API on their websites or in apps. Every website which uses a map and has...
29 Jun 2018
6 business workouts to stretch your average membership duration and build member loyalty.
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
Get started building your own voice-activated home automation app with emotional intelligence using Functions, Dialogflow, and Amazon Comprehend.
Get started building your own voice-activated home automation app with emotional intelligence using Functions, Dialogflow, and Amazon Comprehend.
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 […]
27 Jun 2018
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…
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…
Cloudless satellite imagery for the whole world.
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
How to build a cloud server state machine with Functions, and a tutorial for a PubNub state machine demonstration for an IoT smart lock.
How to build a cloud server state machine with Functions, and a tutorial for a PubNub state machine demonstration for an IoT smart lock.
How your team can impact retention rate, average membership duration and member lifetime value.
25 Jun 2018
How to detect and identify an image with Google Cloud Vision API and send a real-time alert SMS with the ClickSend API and PubNub.
How to detect and identify an image with Google Cloud Vision API and send a real-time alert SMS with the ClickSend API and PubNub.
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…
Our team of five neural networks, OpenAI Five, has started to defeat amateur human teams at Dota 2.
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 →
22 Jun 2018
The first run of our Retro Contest—exploring the development of algorithms that can generalize from previous experience—is now complete.
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
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…
20 Jun 2018
How a company built an Arduino-powered beer tap with PubNub and RFIDs to grant access and track consumption of beer.
How a company built an Arduino-powered beer tap with PubNub and RFIDs to grant access and track consumption of beer.
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.
Vendor choice is the most important thing IT leaders could be thinking about today. And the path to achieving it is data portability.
19 Jun 2018
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…
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…
Originally published June 18th, 2018. I've re-written the way I do SEO in my blog currently to be a lot more clean in 2019. You can view the…
18 Jun 2018
Functions: On Request event handler feature, enabling developers to globally deploy a serverless REST API in minutes, not months.
Functions: On Request event handler feature, enabling developers to globally deploy a serverless REST API in minutes, not months.
The Function monitoring tool is a Python script that monitors all of your event handlers and displays alerts/notifications in the terminal.
The Function monitoring tool is a Python script that monitors all of your event handlers and displays alerts/notifications in the terminal.
Component library for EON that makes it even easier to start integrating PubNub and real-time charts and dashboards into your React app!
Component library for EON that makes it even easier to start integrating PubNub and real-time charts and dashboards into your React app!
17 Jun 2018
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
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…
14 Jun 2018
SaaS businesses are losing 1-4% of their customers through involuntary churn
Transferring your Direct Debit mandates from one provider to another is easy using the bulk change process.
Optimise your payments strategy to drive changes in key business metrics like Churn Rate and Customer Lifetime Value, with this cheat sheet from GoCardless and ChartMogul.
13 Jun 2018
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…
Google provides a trusted/secure login system that's familiar to users, consistent across devices, and removes burden of new account creation.
Google provides a trusted/secure login system that's familiar to users, consistent across devices, and removes burden of new account creation.
12 Jun 2018
The CLI Team at Heroku strives to create a CLI user experience that is intuitive and productive. We had “build CLI autocomplete” in the icebox of our roadmap for many years. But if we were going to ship it, it had to complement the existing CLI experience. This is challenging because the Heroku CLI is […] The post Heroku CLI:…
How to implement PubNub with the Ethereum blockchain to create a PubNub-powered DApp with Truffle, Infura and the Ropsten Test Network.
How to implement PubNub with the Ethereum blockchain to create a PubNub-powered DApp with Truffle, Infura and the Ropsten Test Network.
We're always trying to find ways we can give back to our local community. Our latest adventure: organizing a TeenTech coding workshop for high schoolers.
11 Jun 2018
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.
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.
We've collected together advice on churn from some of the world’s most successful and outspoken investors and SaaS C-suite executives.
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…
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
It has been one month since I started working fully remote, and I think I learned some things I can share.
7 Jun 2018
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…
In this post I describe how I run my blog
6 Jun 2018
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,…
Flight paths (polylines) are a list of points, where line segments are drawn between consecutive points. We'll implement them with the Google Maps API.
Flight paths (polylines) are a list of points, where line segments are drawn between consecutive points. We'll implement them with the Google Maps API.
Learn how to build a GraphQL location search service similar to AirBnB's using a fully serverless stack on AWS.
5 Jun 2018
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 […]
Or, how to raise a project from the dead with tools you probably have lying around at home.
4 Jun 2018
Churn definitions and benchmarks from the likes of ChartMogul, Profitwell and Recurly, as well as action steps to help you tackle voluntary and involuntary churn.
Missing the point about microservices: it's about testing and deploying independently
Erik BernhardssonOk, so I have to first preface this whole blog post by a few things: I really struggle with the term microservices. I can’t put my finger on exactly why. Maybe because the term is hopelessly ill-defined, maybe because it’s gotten picked up by the hype train. Whatever. But I have to stick to some type of terminology so let’s…
Narcissus vs. Echo: Beginning of the end for visual designers
2 Jun 2018
I like to keep my GitHub clean. I delete forks I’m not using anymore, move old abandoned repositories to my graveyard and etc.
A step-by-step tutorial for writing your first Serverless Component, and then using it to build a serverless application.
1 Jun 2018
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
How to build your own connected Raspberry Pi smart door lock, with remote control and access management for granting and revoking permissions.
How to build your own connected Raspberry Pi smart door lock, with remote control and access management for granting and revoking permissions.
Create map design in a few mouse clicks. Change languages, fonts, and colors.
The new MapTiler Platform offers base maps of the entire world, geodata processing, and a mobile application that covers the entire map-creation flow.
A step-by-step tutorial that guides you through creating a dynamic website with pre-built Serverless Components.
30 May 2018
We’re now accepting applications for the next cohort of OpenAI Fellows, a program which offers a compensated 6-month apprenticeship in AI research at OpenAI.
29 May 2018
This post discusses how maps are implemented in Go. It is based on a presentation I gave at the GoCon Spring 2018 conference in Tokyo, Japan. What is a map function? To understand how a map works, let’s first talk about the idea of the map function. A map function maps one value to another. Given […]
As an accountant you can help clients understand and find business finance options that fit their needs. Let’s take a look at the key facts you and your client should know when looking for finance.
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
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
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…
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.
24 May 2018
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…
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
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 […]
Maps of the entire world for web, mobile, and desktop applications. Powered by open-source and open data, running on a reliable infrastructure.
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
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…
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…
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…