June, 2017

article thumbnail

PerformanceObserver and Paint Timing API

Jos

In a recent post about Chrome 60 Beta , Google announced the support of the Paint Timing API to get metrics on when your page starts rendering and when the user gets content that can be consumed (more info on the definition of the events below). Here I’m going to describe this new API a bit and show you how to use it. Image taken from the Chrome 60 blog post , which first appeared in “Web Performance: Leveraging the Metrics that Most Affect User Experience” at Google I/O 2017.

Google 130
article thumbnail

Improving Customer Service with Amazon Connect and Amazon Lex

All Things Distributed

Customer service is central to the overall customer experience that all consumers are familiar with when communicating with companies. That experience is often tested when we need to ask for help or have a question to be answered. Unfortunately, we've become accustomed to providing the same information multiple times, waiting on hold, and generally spending a lot more time than we expected to resolve our issue when we call customer service.

Insiders

Sign Up for our Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

article thumbnail

Re-Architecting Cash and Digital Wallet Payments for India with Uber Engineering

Uber Engineering

Uber is developing a payment platform for India that enables operations teams to more seamlessly collect and distribute cash and digital wallet payments to drivers. In this article, San Francisco-based software engineer Yijun Liu reflects on his experiences working with … The post Re-Architecting Cash and Digital Wallet Payments for India with Uber Engineering appeared first on Uber Engineering Blog.

article thumbnail

Death Marches Aren't Worth It

Professor Beekums

Imagine you’re a manager on a large software project. You’ve got about a month to go before the intended deadline and your team appears to need at least 3 more months before being done. What do you do? Many come under the temptation to start a so called “death march”. It essentially means having folks work as many hours as possible: nights, weekends, whenever.

article thumbnail

Putting your events on a diet

Particular Software

Anybody can write code that will work for a few weeks or months, but what happens when that code is no longer your daily focus and the cobwebs of time start to sneak in? What if it's someone else's code? How do you add new features when you need to relearn the entire codebase each time? How can you be sure that making a small change in one corner won't break something elsewhere?

article thumbnail

The Value Myth

The Agile Manager

When we think about value, we think in terms of hard measures like increasing revenue or decreasing cost, or soft measures like increasing customer satisfaction or reducing customer friction. This all sounds great, but we know in practice that value is not as concrete as we would like to believe: projections are conjecture, there are multiple forces at work that determine the result we get, and counterfactuals can't be proven to know for fact whether we'd have been better off doing something dif

article thumbnail

PerformanceObserver and Paint Timing API

Jos

In a recent post about Chrome 60 Beta , Google announced the support of the Paint Timing API to get metrics on when your page starts rendering and when the user gets content that can be consumed (more info on the definition of the events below). Here I’m going to describe this new API a bit and show you how to use it. Image taken from the Chrome 60 blog post , which first appeared in “Web Performance: Leveraging the Metrics that Most Affect User Experience” at Google I/O 2017 Up until now we hav

Google 100

More Trending

article thumbnail

Engineering On-Demand Transportation for Business with Uber Central

Uber Engineering

When Uber launched in 2009, our mission was simple: make transportation as reliable as running water everywhere, for everyone. While our mission remains the same today, the number of Uber use cases have grown dramatically, motivating our engineers to think … The post Engineering On-Demand Transportation for Business with Uber Central appeared first on Uber Engineering Blog.

article thumbnail

Byzantine Fault Tolerance

cdemi

In distributed computer systems, Byzantine Fault Tolerance is a characteristic of a system that tolerates the class of failures known as the Byzantine Generals' Problem ; for which there is an unsolvability proof. The Byzantine Generals' Problem. On July 5th 1982, Leslie Lamport (initial LaTeX developer, Microsoft Researcher and winner of the 2013 Turing Award), Robert Shostak and Marshall Pease published a paper named The Byzantine Generals' Problem.

article thumbnail

A sidecar for your service mesh

Abhishek Tiwari

In a recent blog post, we discussed object-inspired container design patterns in detail and the sidecar pattern was one of them. In a sidecar pattern, the functionality of the main container is extended or enhanced by a sidecar container without strong coupling between two.

Design 52
article thumbnail

Validate Form Submissions In Node.js With Google reCAPTCHA

The Polyglot Developer

Anyone that operates a website or web application with a contact page knows how bad the SPAM problem on the internet is. Spammers, phishers, and other malicious people create bots that will crawl search engines for contact forms and send emails to the hosts, register accounts, or something else. There was a point in time that I was receiving more than ten emails a day from spammers that wanted to redesign my website.

Google 52
article thumbnail

Why OpenStack is like a Crowdfunded Viking Movie

VoltDB

Everybody ‘gets’ the concept of a Viking Movie. It’s got boats, men in hats with horns, lots of fighting and often a one way trip to Valhalla. So imagine you decide to crowdfund one. Things start off really well, and then turns into a mess, because the people committing resources all want their own distinct versions, but many of the competing memes are hard to reconcile.

article thumbnail

Unlocking the Value of Device Data with AWS Greengrass.

All Things Distributed

Unlocking the value of data is a primary goal that AWS helps our customers to pursue. In recent years, an explosion of intelligent devices have created oceans of new data across many industries. We have seen that such devices can benefit greatly from the elastic resources of the cloud. This is because data gets more valuable when it can be processed together with other data.

AWS 102
article thumbnail

Not Everything Needs To Scale

Professor Beekums

Not every feature needs to scale. It’s a little ironic to have those words coming from me since I’ve spent most of my time making applications scale. My time was spent that way because making sure popular features can handle being used by millions of users is important. Without scaling, the application will crash. Those users will be unable to use the product.

53
article thumbnail

Asynchronously unload the dishwasher

Particular Software

In a previous blog post , I discussed a very complex and intricate process: how my family unloads our dishwasher using a chain of responsibility. We examined a happy-path scenario in which each person hands a dish to the next. Every step takes the same amount of time, and the process hums along like clockwork. You can almost hear us singing “Whistle While You Work” while we gleefully put away dishes.

article thumbnail

What it means for a machine to learn or think like a person?

Abhishek Tiwari

In a recent article, Lake et al. [1] examine what it means for a machine to learn or think like a person.

article thumbnail

Extend Legacy Java Android Applications With NativeScript And Angular

The Polyglot Developer

As some of you might know, before I started developing cross platform mobile applications using Ionic Framework and NativeScript, I was developing Android applications using nothing more than the Android SDK and Java. I still have one of my first applications, SQLTool , for sale in Google Play, and it was written with Java and Android. When building mobile applications, frameworks like NativeScript are incredibly attractive to web developers because they can use a common set of web design and de

Java 52
article thumbnail

Java Package Flame Graph

Brendan Gregg

CPU flame graphs visualize running code based on its flow or stack trace ancestry, showing which functions called which other functions and so on. But with Java, there's another way to visualize the same CPU workload which provides some additional insight: **a Java package flame graph**. Instead of visualizing the stack trace hierarchy, this visualizes the Java package name hierarchy.

Java 40
article thumbnail

Stop waiting for perfection and learn from your mistakes

All Things Distributed

This article titled " Wartet nicht auf Perfektion – lernt aus euren Fehlern! " appeared in German last week in the "Digitaliserung" column of Wirtschaftwoche. "Man errs as long as he doth strive." Goethe, the German prince of poets, knew that already more than 200 years ago. His words still ring true today, but with a crucial difference: Striving alone is not enough.

article thumbnail

The Worst Kind of Bugs

Professor Beekums

I’ve talked briefly before about developers suffering from “it works on my machine” mentality. The result is bugs that don’t appear on a developer’s machine, but do appear for users. There is a worse class of bugs though that affects everyone at a company: “it works in my office when I’m trying it” How is this different? Things can get pretty complex in a live web application.

article thumbnail

Keeping up with Header Bidding’s performance requirements

VoltDB

Pretty much anyone who knows adtech will tell you that header bidding is the future of the industry. Header bidding allows publishers to field ad bids in the header of a webpage, which is before anything else (including other ad placements) loads. This allows publishers to establish a “premium” auction instead of the typical real-time bidding system.

article thumbnail

Apache Groovy vs BeanShell: How to Make the Right Decision?

Abstracta

See what makes Groovy, groovy. When running load tests in Apache JMeter, in many cases it’s necessary to choose a post processor/scripting language for certain tasks, such as handling SampleResult variables, assigning dynamic names to samplers or just adding some logic to scripts. We have. The post Apache Groovy vs BeanShell: How to Make the Right Decision?

Testing 40
article thumbnail

Convert APNS Tokens To FCM Tokens With Simple HTTP APIs

The Polyglot Developer

Not too long ago I wrote a guest post regarding push notifications with the Firebase Cloud Messaging (FCM) service at the Telerik Developer Network. While that previous article was directly related to using FCM within a NativeScript application, it followed all the same rules that are required for any mobile development platform. There is a catch, however.

Google 45
article thumbnail

Find and fix what matters most

Speed Curve

Being able to monitor and measure the performance of your pages is crucial. You know that already. You also know that the next step is to quickly find out what’s hurting your pages so you can stop the pain. You want to know: Which performance rules is my page breaking? How do I prioritize my optimization efforts? How can I communicate this quickly and clearly to my team?

Google 40
article thumbnail

Getting Started with LoadView On-Demand Performance Testing

Dotcom-Montior

Let’s face it – the ideal load test emulates real world traffic, yet most load testing software doesn’t come close. A series of GET requests from an in-house server can’t possibly replicate what actually happens when a website sees a sudden increase in users from all over the world. Held back by budget and infrastructure restrictions, some organizations have been forced to settle for load tests that paint an incomplete picture.

article thumbnail

Software Projects Die By A Thousand Cuts

Professor Beekums

Trying to meet deadlines on a software project is extremely challenging. Estimating software is inherently difficult because writing code is not like working on an assembly line. It’s more like writing a book. You can rush writing a book, but you pay the cost of continuity issues, poor grammar, half baked plots, and undeveloped characters. In software all of those thing manifest in the form of bugs or a product that just doesn’t work.

article thumbnail

Keeping up with Header Bidding’s performance requirements

VoltDB

Pretty much anyone who knows adtech will tell you that header bidding is the future of the industry. Header bidding allows publishers to field ad bids in the header of a webpage, which is before anything else (including other ad placements) loads. This allows publishers to establish a “premium” auction instead of the typical real-time bidding system.

article thumbnail

SQL Server Mysteries: The Case of the Suspended, Awaiting Command, and Blocked Session

SQL Server According to Bob

I ran into a scenario showing my session as suspended , awaiting command and blocked ! My first thought was that this had to a bug. As many of us have documented, for years, a sleeping, awaiting command, session is a session waiting on the client to submit a TSQL command to the SQL Server. The client must send a command to SQL Server or the SQL Server status is ‘awaiting command’ for the session.

Servers 40
article thumbnail

TPDP Episode #14: Object Storage for Application Developers

The Polyglot Developer

I am pleased to announce that the latest episode of The Polyglot Developer Podcast is now available to download from all the popular podcasting networks. In this episode titled, Object Storage for Application Developers , I’m joined by Krishna Srinivas from Minio to talk about what object storage is and the various solutions that are available. Episode #14 can be downloaded for free from iTunes , Pocket Casts , and every other popular network, but it can also be heard below.

Storage 40
article thumbnail

Expanding the Cloud – An AWS Region is coming to Hong Kong

All Things Distributed

Today, I am very excited to announce our plans to open a new AWS Region in Hong Kong! The new region will give Hong Kong-based businesses, government organizations, non-profits, and global companies with customers in Hong Kong, the ability to leverage AWS technologies from data centers in Hong Kong. The new AWS Asia Pacific (Hong Kong) Region will have three Availability Zones and be ready for customers for use in 2018.

AWS 137
article thumbnail

Getting Started with LoadView On-Demand Performance Testing

Dotcom-Montior

Let’s face it - the ideal load test emulates real world traffic, yet most load testing software doesn't come close. A series of GET requests from an in-house server can't possibly replicate what actually happens when a website sees a sudden increase in users from all over the world. The post Getting Started with LoadView On-Demand Performance Testing appeared first on Dotcom-Monitor Web Performance Blog.

article thumbnail

Death Marches Aren't Worth It

Professor Beekums

Imagine you’re a manager on a large software project. You’ve got about a month to go before the intended deadline and your team appears to need at least 3 more months before being done. What do you do? Many come under the temptation to start a so called “death march”. It essentially means having folks work as many hours as possible: nights, weekends, whenever.

article thumbnail

Latency: Will it undermine the most interesting 5G use cases?

VoltDB

One of the big topics at the OpenStack conference was how to prepare and implement a successful transition to 5G. Unfortunately, this means that the age-old Telco bugbears will rear their ugly heads again, including latency. 5G, as a fundamental requirement, mandates a 1 millisecond latency from the datasource to its destination. Currently, most applications are hosted in a small number of data centers (1-5), each of which is in charge of a geographic region.

Latency 40
article thumbnail

Latency: Will it undermine the most interesting 5G use cases?

VoltDB

One of the big topics at the OpenStack conference was how to prepare and implement a successful transition to 5G. Unfortunately, this means that the age-old Telco bugbears will rear their ugly heads again, including latency. 5G, as a fundamental requirement, mandates a 1 millisecond latency from the datasource to its destination. Currently, most applications are hosted in a small number of data centers (1-5), each of which is in charge of a geographic region.

Latency 40
article thumbnail

The Worst Kind of Bugs

Professor Beekums

I’ve talked briefly before about developers suffering from “it works on my machine” mentality. The result is bugs that don’t appear on a developer’s machine, but do appear for users. There is a worse class of bugs though that affects everyone at a company: “it works in my office when I’m trying it” How is this different? Things can get pretty complex in a live web application.

article thumbnail

Handle Google Play Services Conflicts In NativeScript Mobile Applications

The Polyglot Developer

I’ve been developing with NativeScript for a few years now, but only recently have I started working with the various services offered by Google Play. Using a single Google Play service such as Google Analytics works great, but as soon as you start adding more, you’ll start noticing Android conflicts during the build process. Different plugins have different requirements on the underlying library versions.

Google 40
article thumbnail

Software Projects Die By A Thousand Cuts

Professor Beekums

Trying to meet deadlines on a software project is extremely challenging. Estimating software is inherently difficult because writing code is not like working on an assembly line. It’s more like writing a book. You can rush writing a book, but you pay the cost of continuity issues, poor grammar, half baked plots, and undeveloped characters. In software all of those thing manifest in the form of bugs or a product that just doesn’t work.