May, 2017

article thumbnail

Weekend Reading: Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases.

All Things Distributed

In many, high-throughput, OLTP style applications the database plays a crucial role to achieve scale, reliability, high-performance and cost efficiency. For a long time, these requirements were almost exclusively served by commercial, proprietary databases. Soon after the launch of Amazon Relation Dabase Service (RDS) AWS customers were giving us feedback that they would love to migrate to RDS but what they would love even more was if we could also unshackle them from the high-cost, punitive lic

Database 120
article thumbnail

I've joined SpeedCurve! Here's why

Speed Curve

TL;DR. If Mark and Steve invited you to work with them, what would you say? Exactly. Long version. Okay, I have to elaborate a bit more about why I’m ridiculously excited about working with Mark and Steve. My first foray into the performance space was at the Velocity Conference in 2009. If you had told me then that someday I’d be working with that tall guy rocking the main stage, I would’ve thanked you for the kind words… while secretly thinking you were nuts.

Metrics 75
Insiders

Sign Up for our Newsletter

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

Trending Sources

article thumbnail

Submitting Your First Patch to the Linux kernel and Responding to Feedback

Nick Desaulniers

After working on the Linux kernel for Nexus and Pixel phones for nearly a year, and messing around with the excellent Eudyptula challenge , I finally wanted to take a crack at submitting patches upstream to the Linux kernel. This post is woefully inadequate compared to the existing documentation, which should be preferred. [link]. [link]. I figure I’d document my workflow, now that I’ve gotten a few patches accepted (and so I can refer to this post rather than my shell history…).

C++ 71
article thumbnail

Using Network Sockets With The Go Programming Language

The Polyglot Developer

A few months back I wrote about using websockets in a Golang application for communication with an Angular client web application. While very useful and simplistic, in many cases websockets won’t be the means for real-time communication between applications. It is often easier or better to use standard TCP network sockets as an alternative. For example, if you’re developing an online video game, it will likely communicate to the server using TCP sockets rather than websockets.

article thumbnail

Submitting Your First Patch to the Linux Kernel and Responding to Feedback

O'Reilly Software

After working on the Linux kernel for Nexus and Pixel phones for nearly a year, and messing around with the excellent Eudyptula challenge, I finally wanted to take a crack at submitting patches upstream to the Linux kernel. This post is woefully inadequate compared to the existing documentation, which should be preferred. [link] [link] I figure I’d document my workflow, now that I’ve gotten a few patches accepted (and so I can refer to this post rather than my shell history…).

61
article thumbnail

Accuracy vs Clarity

Professor Beekums

It often feels like accuracy should be the most important thing when conveying information. Why wouldn’t it be? What’s the point of explaining something that’s false? Whether we are writing a blog post, documentation, a book, or anything that someone else will read, we want to make sure what we are saying is true. But being 100% accurate is not always the most important thing.

58
article thumbnail

Faster, higher, stronger: How the digitalization of industry is redefining value creation

All Things Distributed

This article titled " Wie die Digitalisierung Wertschöpfung neu definiert " appeared in German last week in the "Größer, höher, weiter (bigger, higher, further)" column of Wirtschaftwoche. Germany's "hidden champions" – family-owned companies, engineering companies, specialists – are unique in the world. They stand for quality, reliability and a high degree of know-how in manufacturing.

More Trending

article thumbnail

Running Clang-Tidy on the Linux Kernel

Nick Desaulniers

Clang-Tidy is a linter from the LLVM ecosystem. I wanted to try to run it on the Linux kernel to see what kind of bugs it would find. The false positive rate seems pretty high (a persistent bane to static analysis), but some patching in both the tooling and the source can likely help bring this rate down. The most straightforward way to invoke Clang-Tidy is with a compilation database, which is a json based file that for each translation unit records.

C++ 55
article thumbnail

Remove Untagged Docker Images From Your Docker Host Via The CLI

The Polyglot Developer

If you’re like me, when it comes to Docker, you probably build images non-stop. I must admit that when I create images, I don’t create any special tags, even though I should. Instead every build uses the latest tag because that is enough to meet my needs. Regardless of what tags you use, you may find yourself building the same thing over and over. When this happens, the previous image remains on your machine, but becomes untagged to make room for the new build.

article thumbnail

The Wrong Questions about Agile

Allen Holub

When it comes to Agile, people often ask the wrong questions. I’ve used the term “wrong question” before, and it brought out the trolls, so let’s start with that. The trolls usually scream: “there is no such thing as a wrong question,” and then they launch into a discourse on why I’m an idiot.

41
article thumbnail

Questions of Value

The Agile Manager

In March, we looked at questions of worth. This month, we look at "questions of value". In the dictionary, value is defined by worth, and worth is defined by value. Why ask the question twice? Because even if they refer to the same thing, the words mean different things in different circumstances. In economic terms, "worth" refers to stored value, such as accumulated financial reserves (one's "net worth") or the price we're willing to pay to replace something we already own.

article thumbnail

Running Clang-Tidy on the Linux Kernel

O'Reilly Software

Clang-Tidy is a linter from the LLVM ecosystem. I wanted to try to run it on the Linux kernel to see what kind of bugs it would find. The false positive rate seems pretty high (a persistent bane to static analysis), but some patching in both the tooling and the source can likely help bring this rate down.

article thumbnail

How It Works: SQL Server Deadlock Trace Flag 1222 Output

SQL Server According to Bob

The trace flag 1222 can be very powerful and helpful in tracking down the cause of a deadlock when used correctly. This week I was tracking down a blocking situation, which I expected the lock monitor to resolve as a deadlock. The test in question is designed to cause large amounts of deadlocks in order to stress the deadlock detection and resolution code paths.

Servers 40
article thumbnail

Azure Storage Persistence now faster in NServiceBus 6

Particular Software

If you're using Azure Storage Persistence and haven't upgraded to NServiceBus 6 yet, get ready for a tremendous performance boost for your application when you do especially if you make use of sagas. In the previous version of Azure Storage Persistence, looking up a saga by a correlation property was not as fast as looking it up by SagaId. In the new version, both the correlation property and SagaId are indexed, so retrieving a saga is much quicker regardless of whether it's looked up by SagaId

Azure 40
article thumbnail

Add Two-Factor Authentication To A Golang RESTful API

The Polyglot Developer

When it comes to authenticating users for making use of your API, it is a good idea to add an extra step beyond standard username and password. This is called two-factor authentication (2FA) and it acts as a second layer of security for users making use of your application. Not too long ago I had written about adding 2FA to a RESTful API created with Node.js and Express Framework , but what if we wanted to do it in Golang?

article thumbnail

Alerts in New Relic Synthetics: Check Website Health From Different Parts of the World

Abstracta

Use the tool, Synthetics, for easy website health monitoring New Relic is a company that offers many different tools, perhaps best known for its application performance monitoring (APM). At least that’s what I know it best for since we often use this tool when we. The post Alerts in New Relic Synthetics: Check Website Health From Different Parts of the World appeared first on Abstracta Software Testing Services.

Website 40
article thumbnail

3 Key Points from our webinar Preparing for a New Programmatic Adtech World with TripleLift

VoltDB

One of the reasons I love working for a leading-edge database company is that I get to talk to and work with many different kinds of companies. Data is everywhere, and companies across the spectrum are trying to harness that data to improve their businesses, whether that means accelerating their growth through more accurate targeting of prospects, increasing customer retention by building 360° views of customers so they can improve customer satisfaction, or decreasing costs by automating ineffic

Speed 40
article thumbnail

Working at Netflix 2017

Brendan Gregg

I've now worked at Netflix for over three years. Time flies! I previously wrote about Netflix in [2015] and [2016], and if you are interested in what it's like to work here, I already covered much in those posts. As before, no one at Netflix has asked me to write this, and this is my personal blog and not a company post. I'll start with some exciting news, describe what my job is really like, the culture and mission, and some work updates. ## 100 Million Subscribers!

Java 75
article thumbnail

Some Lessons Learned On Mentoring

Professor Beekums

Mentoring is one of my favorite activities. No reasonably complex system can be built by a single developer. It takes a team. Helping other members of the team reduces my own workload in the long run, even if it increases it in the short term. Eventually, I found myself enjoying the activity for the sake of it and not just to reduce my own workload.

Systems 61
article thumbnail

A/B Testing JSONP and the Preloader with RUM

Speed Curve

SpeedCurve is a SPA (Single Page App) so we construct the charts dynamically using JSONP. It works great, but we're always looking for ways to make the dashboards faster. One downside to making requests dynamically is that the browser preloader isn't used. This isn't a factor for later SPA requests, but on the first page view the preloader might still bring some benefits.

Testing 40
article thumbnail

Form Validation In An Angular Web Application With Custom Directives

The Polyglot Developer

When creating a web application that accepts user input, it is often a good idea to validate anything the user provides. While you should always validate this information via some backend server-side code, it often provides a good user experience to validate via the frontend as well. By doing form validation on the frontend, you set yourself up for the possibility to catch and display errors before form submission.

Mobile 40
article thumbnail

Bulk Remove Unconfirmed Sendy Subscribers After A Certain Number Of Days

The Polyglot Developer

You may or may not know this, but I use Sendy to send out my monthly newsletters because it is incredibly cheap in comparison to competitors like Mailchimp. Anyone who has done list building before knows that over time you’re going to end up with a lot of stale subscribers that need to be cleaned in an effort to save space and keep things organized.

article thumbnail

Implement 2FA With Time-Based One-Time Passwords In A Node.js API

The Polyglot Developer

Not too long ago I wrote about authenticating within a Node.js API using Json Web Tokens (JWT). The basis of the example is around authenticating via a username and password and receiving a JWT for every future request against the API. While that example is incredibly useful and follows best practice, it doesn’t cover the scenario where you’d like to have a two-factor authentication (2FA) option for your users.

article thumbnail

3 Key Points from our webinar Preparing for a New Programmatic Adtech World with TripleLift

VoltDB

One of the reasons I love working for a leading-edge database company is that I get to talk to and work with many different kinds of companies. Data is everywhere, and companies across the spectrum are trying to harness that data to improve their businesses, whether that means accelerating their growth through more accurate targeting of prospects, increasing customer retention by building 360° views of customers so they can improve customer satisfaction, or decreasing costs by automating ineffic

Speed 40
article thumbnail

Concurrent Golang Applications With Goroutines And Channels

The Polyglot Developer

One of the highlights of the Go programming language is its ability to handle concurrency with minimal effort using what are called goroutines and channels. The beauty here versus other programming languages is that you don’t end up in a callback mess or locking hell. In fact, you can even create far more goroutines in Go than you can in a language such as Java with the same hardware.

article thumbnail

Tech Spotlight: Top customer questions

VoltDB

We recently received a question from a customer who was looking for a quick way to repurpose some VoltDB production servers to create a disaster recovery site. The customer had a 5-node cluster with a k-safety factor of 2, which means the cluster maintains three synchronized copies of each record, distributed on different nodes in the cluster, and the cluster can survive the loss of any two nodes.

article thumbnail

One Reason Startups Can Build Features Fast

Professor Beekums

Small startups tend to build features very quickly. Often times it is a lot quicker than bigger companies even though bigger companies have more resources. The easy answer to why this happens is that big companies have a lot of bureaucracy that slows them down. There’s a lot more to it than that though. The bigger company is also going to have many many more users.

60
article thumbnail

Load Balancing A Docker Swarm Cluster With An NGINX Reverse Proxy

The Polyglot Developer

If you’ve been working towards containerizing your web applications like I have, you might be at a point where you’re ready to start clustering your containers. Previously I had written about creating a container cluster with Docker Swarm and using NGINX as a reverse proxy for a few containers. The catch here is that neither of these previous tutorials were meant to work together.

Servers 40
article thumbnail

The Startup Slows Down

Professor Beekums

This is a continuation of the last post on the challenges a hypothetical startup starts seeing as it starts gaining more and more users. We left off having solved the problems of an overloaded web server and putting images in an appropriate storage solution. Unfortunately, the startup’s problems have just gotten started. While the startup may have fixed things for users, a costly side effect has been introduced.

Storage 40
article thumbnail

Create A Raspberry Pi Cluster With Docker Swarm And Raspbian Linux

The Polyglot Developer

Back when I was first learning about Docker , I had tried to use it on one of my Raspberry Pi devices. This was when Docker had first become available officially for Raspbian. When I was playing around with Docker and my Raspberry Pi, I had written a tutorial for deploying containers, or more specifically a Ghost container. This was a single container on a single device or node.