Level up your AWS automation by reacting to events from AWS services.
15 Jan 2018
14 Jan 2018
Millennials, set to inherit A$30 trillion over the next 30-40 years, continue to be the focus for brands everywhere. Ranging in age from 18 to 34, this demographic is responsible for the majority of purchases across a wide range of consumer goods, and have now begun to settle down with careers, homes, and kids of their own.
13 Jan 2018
2017 was a great year for Heroku and our users. We want to thank each of you for your feedback, beta participation, and spirit of innovation, which inspires how we think about our products and evolve the platform. In the past year, we released a range of new features to make the developer experience even […] The post 2017 Heroku…
12 Jan 2018
Our average case for global consistency was 1 second. By adding a volatile cache we improved our data acquisition rate to 1/10 of a second or less.
Our average case for global consistency was 1 second. By adding a volatile cache we improved our data acquisition rate to 1/10 of a second or less.
jOOQ’s main value proposition is obvious: Type safe embedded SQL in Java. People who actively look for such a SQL builder will inevitably stumble upon jOOQ and love it, of course. But a lot of people don’t really need a SQL builder – yet, jOOQ can still be immensely helpful in other situations, through its … Continue reading Top 5…
11 Jan 2018
We are excited to announce that the new Heroku Partner Portal for Add-ons is now generally available. The new portal offers an improved partner experience for building, managing, and updating Heroku add-ons. Our goal is to create a workflow that will give you more freedom and enable you to bring your add-ons to market more […] The post Announcing the…
We'll show you how to process a video file that extracts a thumbnail in Amazon ECS using Fargate and Lambda
10 Jan 2018
If you’ve read this blog before, you know that secure messaging is one of my favorite topics. However, recently I’ve been a bit disappointed. My sadness comes from the fact that lately these systems have been getting too damned good. That is, I was starting to believe that most of the interesting problems had finally been solved. … Continue reading…
How would you describe retail in 2017? For some, it’s the year that marked the sector’s true transformation. Think of the Booker-Tesco deal that shattered formerly untouchable barriers, Amazon’s Whole Foods acquisition that gave the US giant a supply chain advantage that edges even closer to the customer, and brands like Dyson and Smeg who opened up their first ‘direct…
Many of us are familiar with the idea that artificial intelligence systems are regularly making benign decisions, like recommendations on Netflix or Amazon. What about decisions that have a significant impact on someone’s life though? Should AI systems be used in life-changing situations, like criminal sentencing?
9 Jan 2018
In this article we collected a few tips that we think Node.js developers should follow in 2018! What's your new years resolution? The post 8 Tips to Build Better Node.js Apps in 2018 appeared first on RisingStack Engineering.
I started out my career as a chef. Now I'm a serverless developer.
8 Jan 2018
What is MQTT for IoT? Learn how to leverage MQTT for IoT devices and how PubNub can help.
What is MQTT for IoT? Learn how to leverage MQTT for IoT devices and how PubNub can help.
This is an article about compiler directives; or as they are commonly known, pragmas. It’s derived from a talk of a similar name that I gave last year at GopherChina in Shanghai. But first, a history lesson Before we talk about Go, let’s talk a little about pragmas, and their history. Many languages have the notion […]
How to manage Alexa Skills and Lambda functions with Serverless Framework + Alexa Skills Plugin
Everyone knows the importance of retrospectives when it comes to agile working: it’s an essential meeting to reflect, gather feedback and identify how to improve continuously. A good retrospective strengthens the team and creates a spirit of shared identity. Typically, retrospectives are held within a delivery team or a small team working on a specific topic. But sometimes, you have…
7 Jan 2018
Introduction Last week, I was hunting around the Windows Operating System for interesting scripts and binaries that may be useful for future penetration tests and Red Team engagements. With increased client-side security, awareness, and monitoring (e.g. AppLocker, Device Guard, AMSI, Powershell ScriptBlock Logging, PowerShell Constraint Language Mode, User Mode Code Integrity, HIDS/anti-virus, the SOC, etc.), […]
6 Jan 2018
This is a post inspired by a question on the Go Forum. The question, paraphrased, was “If properly aligned writes are guaranteed to be atomic by the processor, why does the race detector complain?” The answer is, there are two uses of the word atomic in play here. The first, the one the OP references, […]
5 Jan 2018
Recently while working on a project I wanted to run OWSAP Dependency Check against a Github Organization to find any out of date frameworks but I couldn’t find an easy way to do it so I built a tool. Right now it will check Node and Ruby applications and put all the out of date frameworks in a single CSV.…
UPDATE: Friday, January 5 19:07 PST As of 13:30 PST, AWS completed their patch deployment addressing tenant isolation threats. AWS reports they have restored the expected multi-tenancy protections similar to dedicated hardware, which leaves Heroku to address the kernel vulnerabilities in runtime host operating systems. Heroku Performance, Private, and Shield dynos feature varying degrees of […] The post Meltdown and…
Marvin just got better! Few days ago I've released version 1.0 of my universal React boilerplate.Also known as Marvin There are some big changes, and I'm pretty happy with it's current state. At least 20 applications were shipped using Marvin. It has about seven hundred stars on GitHub with quite a few community contributions. Big updates # Switch from redux-thunk…
4 Jan 2018
3 Jan 2018
In 2017, Luciano Mammino gave 17 conference talks, contributed to open source projects like Fastify and Middy, and learned new technologies like Terraform and Ansible. He looks forward to presenting more in 2018 and learning technologies like Rust, Elastic Search, and Kubernetes.
I spent a few days during the holidays fixing up a bunch of semi-dormant open source projects and I have a couple of blog posts in the pipeline about various updates. First up, I made a number of fixes to Git of Theseus which is a tool (written in Python) that generates statistics about Git repositories. I’ve written about it…
Deploy a Serverless service that posts notifications of Github stars in a Slack channel
2 Jan 2018
Recently, during a holiday lull, I decided to look at another way of modeling event stream data (for the purposes of anomaly detection). I’ve dabbled with (simplistic) event stream models before but this time I decided to take a deeper look at Twitter’s anomaly detection algorithm [1], which in turn is based (more or less) […]
You can tell I hate writing year in reviews because this one is really, really late. I tend to hate bragging, and I definitely hate introspective and, in particular, I always think I am underperforming (and that’s fine). However, that’s usually not true, and writing a year in review forces me to see the awesome things I did, so even…
1 Jan 2018
This was intended to be a single paragraph in the post I'm still writing. It ended up much longer so I decided to publish it on it's own. So without further due, I present you my programming story. Origins # I got my first pc when I was four, shiny 286 with a color monitor! My father (who knows nothing…
That's my new year's resolution. Code, write, play and craft more!
The most common question I receive on a daily basis is “what exactly is the Internet of Things?”. It took a while for me to realize that the most important term here was 'exactly'. This suggested to me that most people believed they felt they understood the term 'Internet of Things' to a certain degree but still had some gaps…
31 Dec 2017
Keeping the tradition alive! My 2017 in review and 2018 goals.
30 Dec 2017
It is that time of the year when we pause to reflect on the year that was and reset to welcome another eventful, challenging year. We present to you a compilation of the top articles of 2017, not limited to popularity but including our editors’ picks for this year. We hope you enjoy them a second time around. And lastly,…
29 Dec 2017
On Friday, January 6th 2017 I walked into the first Yoga class of my life at YogaSol as part of fulfilling a new years resolution. I was in the best shape of my life. I was running, swimming and lifting weights multiple times a week. I weighed 165 pounds and was at 9% body fat. I was also really stressed…
When NP-hardness pops up on the internet, say because some silly blogger wants to write about video games, it’s often tempting to conclude that the problem being proved NP-hard is actually very hard! “Scientists proved Super Mario is NP-hard? I always knew there was a reason I wasn’t very good at it!” Sorry, these two are unrelated. NP-hardness means hard…
I spent six years at a company that went from 50 people to 1500 and one contributing factor leading to my departure was that I went from a “maker” to a person stuck in meetings every day. It wasn’t that I wanted to do that, but everyone else kept dragging me into meetings. There’s about 47 million blog posts about…
26 Dec 2017
This is the first in a two-part series of articles exploring some of our learnings from working with chatbots. It was a blindingly sunny day in the Bay Area, but inside a corporate meeting room, the shades were drawn. Kylie was FaceTiming with a 16-year old cancer survivor, asking questions about platforms like Facebook Messenger. For a while, the conversation…
24 Dec 2017
I've had this nagging feeling that the computers I use today feel slower than the computers I used as a kid. As a rule, I don’t trust this kind of feeling because human perception has been shown to be unreliable in empirical studies, so I carried around a high-speed camera and measured the response latency of devices I’ve run into…
22 Dec 2017
Thanks to the generous contributions of Timur Shaidullin, jOOQ 3.11 will now support GRANT and REVOKE statements through #6812. While implementing integration tests for these new features, I had researched the different ways how these statements work on a variety of databases, and the good news is, they’re all mostly quite standardised (in fact, they’re … Continue reading Do not…
This answer to a beautiful Stack Overflow question I’ve given recently needs further explanation in a blog post. When working with Microsoft Excel, we can create beautiful and also very insightful Pivot Tables with grand totals. What are they? This is best explained visually. Assuming you have this normalised form for your raw data. As … Continue reading Creating a…
A summary of my notes taken while reading Programming Phoenix. Ch.1 The layers of phoenix, the endpoint is where the HTTP connection contacts phoenix, from there it goes to the router which directs a request to the appropriate controller, passing through a series of pipelines. Pipelines chain functions together to handle tasks that span across multiple controllers, such as browser…
21 Dec 2017
Serverless v1.25 - S3 Transfer Acceleration, API Gateway endpoint type configuration, variable system improvements
ServerlessS3 Transfer Acceleration, API Gateway endpoint type configuration, variable system improvements, enhancements, bug fixes and more added in the Serverless Framework v1.25 release.
This is the first in a two-part series.
20 Dec 2017
As Jane Street grows, the quality of the development tools we use matters more and more. We increasingly work on the OCaml compiler itself: adding useful language features, fine-tuning the type system and improving the performance of the generated code. Alongside this, we also work on the surrounding toolchain, developing new tools for profiling, debugging, documentation and build automation.
OpenMapTiles Server - run maps on your on-premises server.
Here's where serverless observability is today. Learn why we decided to build yet another AWS Lambda monitoring solution, Thundra.
19 Dec 2017
Designing scalable, fault tolerant, and maintainable stream processing systems is not trivial. The Kafka Streams Java library paired with an Apache Kafka cluster simplifies the amount and complexity of the code you have to write for your stream processing system. Unlike other stream processing systems, Kafka Streams frees you from having to worry about building […] The post Kafka Streams…
Yesterday, David Benjamin posted a pretty esoteric note on the IETF’s TLS mailing list. At a superficial level, the post describes some seizure-inducingly boring flaws in older Canon printers. To most people that was a complete snooze. To me and some of my colleagues, however, it was like that scene in X-Files where Mulder and Scully finally learn … Continue…
We’re excited to announce that PubNub, the leading Data Stream Network (DSN) and Real-time Messaging Service, completed the SOC 2 Type II audit!
We’re excited to announce that PubNub, the leading Data Stream Network (DSN) and Real-time Messaging Service, completed the SOC 2 Type II audit!
Microservices: using resources and business services as extensibility strategy
Thoughtworks InsightsIn this post, I want to share with you a strategy intended to improve your system’s extensibility — in other words, making your business better able to cope with future change. Of course, not everyone sees the world with the same eyes, so if you disagree with something, please share your thoughts — it will be appreciated.
18 Dec 2017
Let's see how to use pattern matching and query params with Pact for advanced contract testing in a Node.js microservices architecture. The post Advanced Contract Testing – Pact Verification with Pattern Matching appeared first on RisingStack Engineering.
Or: Move That Loop into the Server Already! This article will illustrate the significance of something that I always thought to be common sense, but I keep seeing people getting this (very) wrong in their productive systems. Chances are, in fact, that most applications out there suffer from this performance problem – and the fix … Continue reading The Cost…
Updated May 18, 2020 (get it? :: ? I made a funny) Shadow DOM is a spec that gives you DOM and style encapsulation. This is great for reusable web components, as it reduces the ability of these components’ styles getting accidentally stomped over (the old “I have a class called “button” and you have a class called “button”, now…
How Serverless.com manages their static, serverless website with Netlify and the Serverless Framework.
Financial Services firms continue to see regulatory obligations as a cost of doing business and rely on short term fixes to meet them. This approach will be inadequate when faced with complex regulations, nested organizational structures and sophisticated fraud patterns. Compliance organizations are currently spending 90% of their time collecting and massaging information and only 10% reacting to events and…
17 Dec 2017
For the past two months, I have been helping my son’s grade 8 class to learn to program. All students wrote Python programs and got a feel for what programming is. This post has details on how we organized the … Continue reading →
16 Dec 2017
This article explores the history of cloud computing from bare metal servers to serverless, explaining key innovations like IaaS, PaaS, containers and FaaS along the way.
15 Dec 2017
When working with Oracle stored procedures, it is not uncommon to have debug log information available from DBMS_OUTPUT commands. For instance, if we have a procedure like this: The procedure works just the same, regardless if we’re reading the output from the DBMS_OUTPUT call. It is there purely for logging purposes. Now, if we call … Continue reading How to…
Another one-liner I love, that returns body scrollbar width. If scrollbar is not shown it will return zero (including mobile devices). function getScrollbarWidth() { return window.innerWidth - document.documentElement.clientWidth; } Click on the button to try it yourself: Get scrollbar width! document.querySelector('.btn--demo').addEventListener('click', function() { alert('Scroll bar width is ' + (window.innerWidth - document.documentElement.clientWidth) + 'px') }); Browser support # Tested on:
14 Dec 2017
Today, we're happy to announce full support for PostgreSQL 10, opening our managed Postgres solution to the full slate of features released after a successful two-month Beta period. PostgreSQL 10 is now the default version for all new provisioned Heroku Postgres databases. All Postgres extensions, tooling, and integration with the Heroku developer experience are ready […] The post PostgreSQL 10…
Caching is hard in various ways. Whenever you’re caching things, you have to at least think of: Memory consumption Invalidation In this article, I want to show a flaw that often sneaks into custom cache implementations, making them inefficient for some execution paths. I’ve encountered this flaw in Eclipse, recently. What did Eclipse do wrong? … Continue reading A Common…
Building an Alexa skill is easier than you think! And it's even easier with the Serverless Framework and Bespoken plugin.
This 24-Ways post looks into why the implementation of design systems and how to ensure that yours is successful.
13 Dec 2017
Jekyll, the static website generator written in Ruby and popularized by GitHub, is a great candidate for being run on Heroku. Originally built to run on GitHub Pages, running Jekyll on Heroku allows you to take advantage of Jekyll’s powerful plugin system to do more than convert Markdown to HTML. On my blog, I have […] The post Jekyll on…
Do you have what it takes to be a Serverless Champion?
12 Dec 2017
In this article I’ll walk you through how we perform consumer driven contract testing in our Node.js microservices architecture with the Pact framework. The post Consumer Driven Contract Testing with Pact appeared first on RisingStack Engineering.
I had an interesting idea a few weeks ago, best explained through an example. Let’s say you’re running an e-commerce site (I kind of do) and you want to optimize the number of purchases. Let’s also say we try to learn as much as we can from users, both using A/B tests but also using just basic slicing and dicing…
The new version of OpenMapTiles brings truly multiplingual maps.
Using the Serverless Framework, you can set up automatic backups of your DynamoDB table.
Building an inclusive workspace
It's hard to stay on task and productive — especially when we've got so much going on in our lives. This post details how I maintain a TODO list system to accomplish just that.
11 Dec 2017
tl;dr: Try out microplane! It’s a CLI tool to make changes across many repos. The Problem At Clever, we’ve embraced microservices. They promote modularity, which leads to simpler code bases and lets our engineers move quickly and independently. They are easier to deploy, which helps us build towards incremental, frequent deploys and continuous delivery. In […] The post Mo Repos,…
Intro # So a lot of you read and enjoyed my colocation post a while back and since then things have been going well.
Designers aspire to create simple and elegant solutions for customers. But you can’t achieve this lofty goal in the solitude of a designer’s ivory tower. Great customer experiences need the business to do the heavy lifting for the customers. Which in turn requires a myriad of capabilities, processes, and systems. Crafting great customer experiences requires designers to get out and…
10 Dec 2017
Privacy is a fundamental human right. It is the right to control to whom and to what information is shared with others. Privacy protects the criteria used to determine how information is deemed private. Simply put, it’s ones right to keep or share information they themselves deem as private; something is private when one deems it thus. Since the advent…
8 Dec 2017
7 Dec 2017
I started working as a C++ developer in the HANA Core Platform team at SAP in Walldorf, Germany more than a year ago. In this time I have gotten some insights into the development environment and processes. I will use this post to illustrate them by the example of adding a small new feature and explaining the steps on the…
There are big benefits to using serverless architectures in continuous integration & deployment (CI/CD) processes. We'll show you why, and how to do it.
A little less than two years ago, SoundCloud began the journey of replacing our homegrown deployment platform, Bazooka, with Kubernetes. Kubernetes automates deployment, scaling, and management of containerized applications.
The way we shop is changing rapidly. The pace of change makes it more difficult than ever for retailers to forecast accurately. Today’s retailers don’t know tomorrow's customers expect. The only certainty is that an attractive product range alone isn’t a competitive advantage anymore; consumers have an almost endless choice of alternative vendors.
6 Dec 2017
We’re releasing highly-optimized GPU kernels for an underexplored class of neural network architectures: networks with block-sparse weights. Depending on the chosen sparsity, these kernels can run orders of magnitude faster than cuBLAS or cuSPARSE. We’ve used them to attain state-of-the-art results in text sentiment analysis and generative modeling of text and images.
Download satellite map of the entire world for self-hosting with OpenMapTiles Satellite.
Announcing a specification for describing event data in a common way
For handling API calls I have a small snippet I'm copying from project to project. I decided to clean it up, make more generic and share it. It is intended to be a starting point, so you might want to customize it to your custom needs. What it does? # It is a simple wrapper around native fetch.If you need…
My experiences with ageism in the tech industry. Women in tech is a hot topic, as it well should be. I have been working within the tech industry for 18 years, and I have certainly seen positive change, albeit depressingly slow in many companies and educational institutes. However, as we keep marching forward, it is now a subject that frequently…
5 Dec 2017
At Small Improvements we each have a learning budget and get to choose which conferences we attend. It might seem a bit of an odd choice then that I stepped off the plane in the Lithuanian capital Vilnius on a cold November afternoon. I was there for BuildStuff, a pretty special conference. The lineup was […]
Everything you need to know about taking regular payments from customers by card.
As the Starbucks baristas surveyed the chaos of hoards of unhappy customers braying for their pre-ordered coffee, they may have wondered: How did it come to this? The coffee giant’s pre-order app was meant to make it easier for customers. It should have meant the customer could place their order well while on the go, swoop into the store and…
4 Dec 2017
This post is a slightly edited version of my November presentation to the San Francisco chapter of Papers We Love. The paper I have chosen tonight is a retrospective on a computer design. It is one of a series of papers by Gordon Bell, and various co-authors, spanning the design, growth, and eventual replacement of the companies iconic […]
Learn what Serverless Aurora is, what it means for serverless developers, and why we think it's the future of data. Solving the serverless data layer.
2 Dec 2017
ClickOnce (Twice or Thrice): A Technique for Social Engineering and (Un)trusted Command Execution
BohopsWhat is ClickOnce? ClickOnce is a “a Microsoft technology that enables the user to install and run a Windows-based smart client application by clicking a link in a web page” [Wikipedia]. Included as a component within the .NET Framework, ClickOnce allows a developer to create a web-enabled installer package for their (C#) Visual Studio project. […]
Introduction Active Directory (AD) Trusts have been a hot topic as of late. @harmj0y posted a recent entry about domain trusts [A Guide to Attacking Domain Trusts]. It provides a great understanding of how AD trusts actually work, so be sure to check that out as a primer for this post. In this blog entry, […]