At Monday’s WWDC conference, Apple announced a cool new feature called “Find My”. Unlike Apple’s “Find my iPhone“, which uses cellular communication and the lost device’s own GPS to identify the location of a missing phone, “Find My” also lets you find devices that don’t have cellular support or internal GPS — things like laptops, … Continue reading How does…
5 Jun 2019
We hosted the first OpenAI Robotics Symposium on April 27, 2019.
4 Jun 2019
Focus indicators make the difference between day and night for people who rely on them. Focus is something that happens between the interactive elements on a page. In this post I will explain what we mean by focus, show you how focus outlines make your site easier to use for anyone who relies on the keyboard, and share examples of…
A look back at what exactly happened to Node.js so far, from the point where it was born. The history of Node.js on a timeline: 2009-2019 The post History of Node.js on a Timeline appeared first on RisingStack Engineering.
We asked 12,785 consumers around the world, this is what they said.
If there is anything like a silver bullet for creating meaningful and actionable alerts with a high signal-to-noise ratio, it is alerting based on service-level objectives (SLOs). Fulfilling a well-defined SLO is the very definition of meeting your users’ expectations. Conversely, a certain level of service errors is OK as long as you stay within the SLO — in other…
IT’s role in the enterprise is rapidly shifting; from being a provider of commoditized solutions to becoming the core of modern businesses. As a result, many established companies are still struggling to organize their engineering and product development teams effectively around the things they’re building.
3 Jun 2019
Last time on FAIC I showed why our naïve implementation of computing the expected value can be fatally flawed: there could be a “black swan” region where the “profit” function f is different enough to make a big difference in … Continue reading →
How to guarantee end-to-end security when using automation to package and publish Datadog Agent integrations
Creative web design and systematic web design don’t need to be at arms. This post examines how to use a design system (Material) and extend it to make it your own.
31 May 2019
Social apps use cases for filtering abusive content in real time with NLP.
Social apps use cases for filtering abusive content in real time with NLP.
Security vs. convenience in payments: Insights into SCA from Merchant Risk Council London
GoCardlessKey takeaways and expert insight from Merchant Risk Council 2019.
Robotic process automation (RPA) is no different: to its boosters, it paves the way for digital transformation; for others, RPA is just the latest overhyped tech that, in the long term, promises to cause more problems than it solves. The truth is probably somewhere in the middle.
30 May 2019
I’m continuing with my project to port over, reformat and update a decade of old blog posts. Today, a few days in mid-October 2003; this is still my second month of blogging and I am writing at what I would … Continue reading →
When I wrote about App-pocalypse Now in 2014, I implied the future still belonged to the web. And it does. But it’s also true that the web has changed a lot in the last 10 years, much less the last 20 or 30. Websites have
We're building serverless applications as collections of serverless microservices dependant on cloud infrastructure. So how do we develop locally?
29 May 2019
In what ways can empirical evidence be used in the design of a language like JavaScript? At TC39, as stewards of the JavaScript specification, how do we answer questions about the design of JavaScript and help make it accessible to the thousands of new coders who join the industry each year? To answer this we need to experiment, and I…
Learn how to structure a microservice application in multiple serverless.yml files for infinite scalability.
28 May 2019
Also from the Domain-Driven Design with TypeScript series. The biggest reason why companies move towards domain-driven design is because…
Last time on FAIC we reviewed the meaning of “expected value”: when you get a whole bunch of samples from a distribution, and a function on those samples, what is the average value of the function’s value as the number … Continue reading →
Hear from the CFOs at GoCardless, SideTrade, The FD Centre and Wolffepack as they discuss how the role has evolved – with insight into the challenges and opportunities they face in a changing financial landscape
Learn from the leaders of Monzo, Wise, Funding Circle and more, with over 30 pieces of advice for scaling your fintech.
Get simple data management, base maps, tools for map styling, single login and other advantages for your geodata hosting.
Over the past five years at Thoughtworks, we’ve worked with technologists, people leaders, and executives to help them transform their organisations to become more responsive. Our focus has been on helping to change the way teams behave, and the way in which organisations align their work to deliver quality products that bring joy to customers. Along the way, we've worked…
27 May 2019
Using a serverless architecture to send Dwolla's webhooks faster and at a lower cost.
In this series of articles, we’ll be exploring the idea of an Intelligent Enterprise: what it is; the role of your IT systems and your approaches to data; and how your teams and ways of working enables you to create maximum value from data.
26 May 2019
The book Accelerate details the findings of four years of research on how DevOps affects various outcomes, such as software delivery tempo and stability, as well as the organizations’ profitability and market share. DevOps in this context means things like … Continue reading →
25 May 2019
This morning I tweeted this: Just found a C# 8 nullable reference types warning in Noda Time. Fixing it by changing Foo(x, x?.Bar) to Foo(x, x?.Bar!) which looks really dodgy… anyone want to guess why it’s okay? This attracted more interest than I expected, so I thought I’d blog about it. First let’s unpack what … Continue reading Lying to…
You know Sequelize, TypeORM, and Mongoose? Those are all ORMs. When you return an instance of a row (or document), being able to make…
See this article. 🙂
24 May 2019
If you're a developer, you've most definitely heard about MVC. It's the most popular and well-understood architecture for creating…
A lot of the time Quality Analysts feel like they are not valued enough or that their efforts are not visible. Good quality is usually an expected outcome so it can be challenging to visualize the benefits of quality analysis for software improvements.
23 May 2019
With this week's release of Firefox 67, the new high performance royalty-free AV1 video decoder dav1d is now enabled by default on all desktop platforms (Windows, OSX and Linux) for both 32-bit and 64-bit systems. And work is in progress on rav1e, the Rust AV1 encoder. The post Firefox brings you smooth video playback with the world’s fastest AV1 decoder…
How to build a reliable video chat feature for your chat app with Xirsys, ChatEngine, and WebRTC.
How to build a reliable video chat feature for your chat app with Xirsys, ChatEngine, and WebRTC.
Our second class of OpenAI Scholars has concluded, with all eight scholars producing an exciting final project showcased at Scholars Demo Day at OpenAI.
Most programming languages evolved awkwardly during the transition from ASCII to 16-bit UCS-2 to full Unicode. They contain internationalization features that often aren’t portable or don’t suffice. Unicode is more than a numbering scheme for the characters of every language – although that in itself is a useful accomplishment. Unicode also includes characters’ case, directionality, and alphabetic properties. The Unicode…
22 May 2019
Today, we’re thrilled to announce Heroku Postgres via PrivateLink, a new integration that enables customers to seamlessly and securely connect Heroku Postgres databases in Private Spaces to resources in one or more Amazon VPCs. Heroku Postgres via PrivateLink connections are secure and stable by default because traffic to and from Heroku Postgres stays on the […] The post Heroku Postgres…
Serverless MQTT guide. Learn how to get started with MQTT for serverless technology.
Serverless MQTT guide. Learn how to get started with MQTT for serverless technology.
With today’s Serverless Framework Enterprise release, we are extending the capabilities of Serverless Error Insights to support invocation logs access along with stack traces & more.
21 May 2019
This year’s Bazzarvoice Hackathon coincided with our annual all hands meeting in Austin. Our global offices took time to work on projects that focused on innovation, social integrations, and improved efficiencies. Teams across our departments participated This included: R&D, Product, Customer Services, and Knowledge Base. Hackathon teams took two days to work on their projects. […]
Firefox 67 is now available in general release, bringing a faster and better JavaScript debugger, support for CSS prefers-color-scheme queries, and the initial debut of WebRender in stable Firefox. Dan Callahan walks through the highlights of browser, platform, and tooling features. The post Firefox 67: Dark Mode CSS, WebRender, and more appeared first on Mozilla Hacks - the Web developer…
20 May 2019
Last time in this series we saw that we could compute a continuous posterior distribution when given a continuous prior and a discrete likelihood function; I hope it is clear how that is useful, but I’d like to switch gears … Continue reading →
Nearly two years ago I posted this endless GIF that always shows the current time in UTC: Now looking at my GoAccess dashboard I can see that it is picking up in popularity rather suddenly: But strangely I can’t find anything about time.gif being linked on the web. So this might just be an attempted Denial of Service (DoS) attack?…
We’ll cover how to use Serverless Framework, AWS Lambda, AWS Step Functions, AWS Fargate and AWS Batch to deploy hybrid serverless/cluster workflows.
“What do you mean there’s no big bang release date? How will we know what to build if we don’t know what the thing will do far in advance? How can we train people to use something if we don’t have all the user requirements and specs up front?” Such questions ring through the hallways of companies making the transition…
19 May 2019
We asked 400 borrowers who have taken out at least one personal loan within the last two years about a number of key aspects of their repayment experience, including preferred payment methods, important features and common reasons for missing a repayment.
Quick tip to improve the docker build speed using go modules.
18 May 2019
I started working remotely in 2012. Since then I’ve worked for big companies and small, organisations with outstanding remote working cultures, and others that probably would have difficulty spelling the word without predictive text. I broadly classify my experiences into three tiers; Little r remote The first kind of remote work I call little r […]
SOLID Principles: The Software Developer's Framework to Robust & Maintainable Code [with Examples]
Khalil StemmlerWriting code can be like pouring concrete. If what you've written in the past doesn't suit your needs today, it can be expensive to change…
17 May 2019
Our second class of OpenAI Fellows has wrapped up, with each Fellow going from a machine learning beginner to core OpenAI contributor in the course of a 6-month apprenticeship. We are currently reviewing applications on a rolling basis for our next round of OpenAI Fellows Summer 2019.
16 May 2019
We’ll get back to stochastic programming soon; I wanted to do a quick post about some updates to my earlier series on anti-unification. As I noted in the final part of that series, I spent a few months in 2018 … Continue reading →
Script debugging is one of the most powerful and complex productivity features in the web developer toolbox. Done right, it empowers developers to fix bugs quickly and efficiently. The DevTools Debugger team – with help from our tireless developer community – has just landed updates that significantly improve performance and reliability. The post Faster smarter JavaScript debugging in Firefox DevTools…
I wanted to set up a high available nats-streaming-server cluster, but couldn’t find a “quick” guide on how to do it.
Today there’s no shortage of excitement about AI and its potential business applications. Many companies are looking closely at adopting AI to improve efficiency or customer experience. Some have even done so successfully. But others are still wondering exactly what AI can do for their organization or where to start.
15 May 2019
Learn how to build your own real-time group chat app with Vue.js in this developer tutorial.
Learn how to build your own real-time group chat app with Vue.js in this developer tutorial.
In designing Mozilla WebThings, we have consciously insulated users from servers that could harvest their data, including our own Mozilla servers, by offering an interoperable, decentralized IoT solution. Learn about the user research that informs our project, and how we've engineered privacy by design into every aspect of Mozilla WebThings. The post Empowering User Privacy and Decentralizing IoT with Mozilla…
This article is part of the Enterprise Node.js + TypeScript series. Do you ever find yourself wondering where exactly you should throw an…
REST-first design is Imperative, DDD is Declarative [Comparison] - DDD w/ TypeScript
Khalil StemmlerAlso from the Domain-Driven Design with TypeScript series. When you get a new Node.js project, what do you start coding first? Do you start…
As you may have read last year, Safari, Firefox, Edge and Chrome browsers are removing support for TLS 1.0 and 1.1 in March of 2020. That means there’s less than a year to enable TLS 1.2 (and, ideally, 1.3) on your servers, otherwise all major browsers will display error pages, rather than the content your users came to see. The…
Delinquent loans are a constant concern for lenders of all sizes. If your level of loan delinquency becomes too high it can have serious negative effects on your business, including increased collection costs and reputational risk.
In addition to our own compliance, these are important considerations for complying with GDPR requirements for your app.
In addition to our own compliance, these are important considerations for complying with GDPR requirements for your app.
Recycled from the 'When to Use TypeScript' [Guide] article posted April 6th, 2019 The Performant System Problem, the Embedded System Problem…
14 May 2019
In previous posts and presentations I talked about how to test, and when to test. To conclude this series of I’m going to ask the question, why test at all? Even if you don’t, someone will test your software I’m sure no-one reading this post thinks that software should be delivered without being tested first. […]
At a rough estimate over half the team at Heroku are remote workers, including myself. We are affectionately called Remokai. We hail from a dizzying number of countries, communicating through email, video calls, and instant messages, from cities, towns, beaches, and parks—a few weeks ago I had a meeting while cycling through central London. It’s […] The post On Making…
Learn how to use Lambda@Edge to verify that S3 presigned URLs are only used once.
13 May 2019
Last time on FAIC I posed and solved a problem in Bayesian reasoning involving only discrete distributions, and then proposed a variation on the problem whereby we change the prior distribution to a continuous distribution, while preserving that the likelihood … Continue reading →
WebAssembly is getting more popular than ever. The use of WebAssembly outside the confinement of a web browser also starts to gain traction, as evidenced from projects such as WebAssembly Interface. Understanding the memory model of WebAssembly will be important in order to fully comprehend its power as well as its constraints.
At Jane Street, for the last several years, we have been increasingly interested in machine learning and its many use cases. This is why it was exciting when earlier this year myself and a few of my colleagues had the opportunity to attend the AAAI 2019 conference. We’d like to take this space to share with you some of the…
12 May 2019
We spoke to small business owners about how they took control of cash flow – and the lessons they learned along the way.
11 May 2019
This article is part of the Enterprise Node.js + TypeScript series. Express.js is my favourite web framework to use with Node.js for…
Get the ultimate guide to driving and measuring business with payments, complete with four strategies for building a scalable payments advantage.
In this article, we'll look at the pros and cons of TypeScript compared to JavaScript. For an in-depth guide on when to use TypeScript…
10 May 2019
[It is] a spectacular vindication of the principle that each individual coin spun individually is as likely to come down heads as tails and therefore should cause no surprise that each individual time it does. Thus Guildenstern (or is it … Continue reading →
12,785 consumers across 10 different markets share their payment preferences in 2019.
9 May 2019
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 […] The post CLI Flags…
Recently, Firefox had an incident in which most add-ons stopped working. This was due to an error on our end: we let one of the certificates used to sign add-ons expire which had the effect of disabling the vast majority of add-ons. Now that we’ve fixed the problem for most users and most people’s add-ons are restored, I wanted to…
Serverless Framework v1.42.0 - API Gateway Logs, Binary Media Type Responses, Request Body Validations & More
ServerlessCheck out what’s included in Serverless Framework v1.42.
8 May 2019
Let's take a look at StackOverflow’s usage statistics by creating an interactive calendar heatmap using D3.js! The post Tutorial: Building a D3.js Calendar Heatmap (to visualize StackOverflow Usage Data) appeared first on RisingStack Engineering.
7 May 2019
Abstract In writer-priority reader/writer locks, as soon as a single writer enters the acquisition queue, all future accesses block behind any in-flight reads. Thus, if any readers hold the lock for extended periods of time, this can lead to extreme pauses and loss of throughput given even a very small number of writers. This phenomenon is well-known in certain systems…
I’m a big fan of testing, specifically unit testing and TDD (done correctly, of course). A practice that has grown around Go projects is the idea of a table driven test. This post explores the how and why of writing a table driven test. Let’s say we have a function that splits strings: // Split […]
The fintech industry is booming, but the challenge for all ambitious fintechs is to scale consistently. Find out what the hidden challenges to scaling a fintech are and what you can do overcome them.
6 May 2019
Last time on FAIC we implemented a technique for sampling from a non-normalized target PDF: Find an everywhere-larger helper PDF that we can sample from. Sample from it. Accept or reject the sample via a coin flip with the ratio … Continue reading →
Test Driven Development is the best thing that has happened to software design
Thoughtworks InsightsThe title of this post speaks for itself when I say I believe that Test Driven Development (TDD) has had a significant influence on software design. I'm in no way going to use this post to attempt to explain from scratch how TDD works, or how to master it, but instead, look at some key elements of how I apply…
4 May 2019
Introduction Last week, I presented COM Under The Radar: Circumventing Application Control Solutions at BsidesCharm 2019. In the presentation, I briefly discussed COM and highlighted a few techniques for bypassing Windows application control solutions. One of those techniques takes advantage of an issue with catalog hygiene where old code often remains signed in updated versions […]
3 May 2019
We all love reading about the latest software developments trends and buzzwords but they can often turn out to be just that, buzzwords. For us at Small Improvements, Domain Driven Design (DDD) has really lived up to it’s own hype though and helped us build better software, faster and fewer bugs to boot. Do we have […]
Maestro is a library we have developed to handle all playback across SoundCloud web applications. It successfully handles tens of millions of plays per day across soundcloud.com, our mobile site, our widget, Chromecast, and our Xbox application. We are considering open sourcing it, and this blog post is a technical overview of what we’ve achieved thus far with Maestro.
2 May 2019
Last time on FAIC we went through a loose, hand-wavy definition of what it means to have a “weighted” continuous distribution: our weights are now doubles, and given by a Probability Distribution Function; the probability of a sample coming from … Continue reading →
Here’s a very opinionated tour of some of the various technologies available to individuals and companies. This is far from a complete list and the comments are based on my personal opinions which might not match your expectations, values or even experience. This first part will focus on programming languages. Programming languages Safe bets and my preferred languages Go https://golang.org…
1 May 2019
I’m continuing in my efforts to move and update all my old content from my MSDN blog to ericlippert.com. Today, posts from early October of 2003. In, out, in-out, make up your mind already The late-binding code designed for OLE … Continue reading →
What does it mean to “own” an open-source project? With the browser-compat-data project (“BCD”), the MDN (Mozilla Developer Network) community and I recently had the opportunity to find out. The post Owning it: browser compatibility data and open source governance appeared first on Mozilla Hacks - the Web developer blog.
Another milestone in solving the problem of late payments around the world.
With today’s Serverless Framework Enterprise release, we are extending the capabilities of Serverless Error Insights to support invocation logs access along with stack traces & more.
This time I want to share a small range slider (progress bar) I built. Check the demo. Code and documentation are available here. Same story again, on a React project we needed a media progress bar, and I ended up writing one myself. Why I didn't like anything I found? Well, everything I tried was missing one of the things…