Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

The art of the error message

Categories

Tags programming web-development

Marina Posniak article about writing clear, helpful copy for when things go wrong. Article about an everyday type of failure that doesn’t get much attention in the product development process.

Each error message is a tiny roadblock that gets in the way of what we were trying to do.

Some tips for writing helpful error messages mentioned in the article:

  • Say what happened and why
  • Suggest a next step
  • Find the right tone

When it comes to a good or bad user experience, the difference is often in the details. Writing clear error messages can reduce frustration and help people continue using your app or service. So it’s worth it to give these little guys some love. Well worth your time.

[Read More]

Testing microservices, Spotify experience

Categories

Tags microservices tdd software-architecture

André Schaffer from Spotify Labs published article about Spotify’s journey to microservices testing. In a microservices world achieving confidence that the code does what it should, provide feedback that is fast and with easy maintenance became an art.

For a long time testing pyramid was an extremely efficient way to organize tests. In a microservices world, this is no longer the case, and we would argue that it can be actively harmful.

The biggest complexity in a microservice is not within the service itself, but in how it interacts with others, and that deserves special attention.

Author suggests that a more fitting way of structuring our tests for microservices would be the testing honeycomb. And what we should aim for instead is integration tests, which verify the correctness of our service in a more isolated fashion while focusing on the interaction points and making them very explicit. Interesting read!

[Read More]

Lambda architecture at Indix p1

Categories

Tags programming web-development cio

Rajesh Muppalla article about how they at Indix went about implementing stateless lambda architecture for building the big data pipeline. They have built a catalog of several million products and billions of price points collected from thousands of e-commerce websites.

They use HBase, an open source implementation of Google BigTable to implement their storage layer. Here are some challenges they encountered before they switched to lambdas:

  • Operational issues
  • Data corruption
  • Data loss
  • Wrong Choice of MapReduce abstractions

The new architecture can be decomposed into three layers – batch, serving and speed. Lambda architecture is technology and domain agnostic. Some principles lambda architecture imposes:

  • Immutability and human fault tolerance
  • Complexity isolation
  • Enforceable schemes

Good read with supporting charts in the article.

[Read More]

Brutal lifecycle of JavaScript UI frameworks

Categories

Tags javascript nodejs programming

Ian Allen – a developer on the Internal Tools team at Stack Overflow – wrote this piece on JavaScript UI frameworks and libraries and how work in cycles. Every six months or so, a new one pops up, claiming that it has revolutionized UI development. This articles draws some interesting conclusions. You may or may not agree with it.

But let’s be honest, the size of a developer community certainly counts; it contributes to a thriving open source environment, and makes it easier to find help on Stack Overflow. Good read.

Using the Stack Overflow Trends tool and some of their internal traffic data, author decided to take a look at some of the more prominent UI frameworks:

  • Angular
  • React
  • Vue.js
  • Backbone
  • Knockout and Ember

Plenty of charts and supporting information are present in the article. One of the conclusions? Choice of programming technologies differ greatly by geography. The choice of JavaScript framework also varies by industry.

[Read More]

Sizing up revenue in application container market

Categories

Tags containers docker analytics cio

Jay Lyman and Greg Zwakman are authors of this interesting study in which they projected and estimated container software market. This is update from previous year in which over 150+ of vendors took a part.

They projected and estimated the value of different segments:

  • Container management and orchestration
  • Monitoring and logging
  • DevOps and CI/CD
  • Data management and services
  • Security, storage and networking

They now estimated total application container market revenue at just more than $1.1bn for 2017, growing at a CAGR of 35% to $1.6bn in 2018, $2.1bn in 2019, $2.8bn in 2020 and nearly $3.5bn by 2021… Read whole article to learn how different segments are doing.

[Read More]

Why AWS DynamoDB is not for everyone

Categories

Tags nosql aws database

Cloud architect Forrest Brazeal wrote intriguing article in which he considers shortcomings and advantages of DynamoDB. He interviewed a number of engineers and developers about their experiences with the database service. As great as DynamoDB is – and as rousing as its success stories are – it has also left plenty of failed implementations in its wake.

The First Law of DynamoDB: Assume that a DynamoDB implementation will be harder, not easier, than using a relational database that you already know.

Some of the points debated in his post:

  • DynamoDB is simple – until it doesn’t scale
  • DynamoDB is scalable – until it isn’t simple
  • Hot keys “gotcha”

I recommend also follow link to a blog post mentioned in the article on pointing that DynamoDB is not necessarily suited to datasets that have a mix of hot and cold records. “The Million Dollar Engineering Problem”. Great read, enjoy!

[Read More]

3 features of ES7 to use right now

Categories

Tags nodejs javascript

Derick Bailey wrote a blog post about some interesting features in JavaScript ES7 which you can use right now. It seems everything is changing in JavaScript – even the naming of releases has changed, with years marking the language version.

He argues that it’s not always obvious, but there is a short list of features from ES2016+ (ES7 and beyond) that I believe every JavaScript developer should be using very soon, if not immediately.

Article then focuses on:

  • Object rest / spread properties
  • Observables
  • Async functions

Even if the feature definition is not 100% complete, there is enough value and enough support to make it both easy and safe to use. Code examples are provided together with instructions how to know when it’s safe to use new JavaScript features.

[Read More]

Supercharging visualization with Apache Arrow

Categories

Tags big-data analytics data-science big-data

Article on KDnuggets™ about how Apache Arrow provides a new way to exchange and visualize data at unprecedented speed and scale. Despite the fact that interactive visualization of large data sets on the web has traditionally been impractical.

Imagine a future where “Minority Report” style data visualizations run in every web browser.

The Apache Arrow ecosystem, including the first open source layers for improving JavaScript performance, is starting doing exactly that. An approach taken i remote rendering: the server sends geometry commands to the client, and the client turns those into viewable pixels by leveraging the client’s standard web browser and its local access to a client-side GPU.

Remote rendering experiences over typical web architectures built on JSON hits two key bottlenecks:

  • Networking clogged by large file sizes
  • CPU and memory-intensive data serialization

A big win for the file size is using a columnar format. Apache Arrow was designed to eliminate the overhead of serialization by providing a standard way of representing columnar data for in-memory processing. Follow the link to learn more.

[Read More]

Basics of parallel programming with Swiftlang

Categories

Tags swiftlang programming web-development

Jan Olbrich wrote article about his and his team experience with understanding topics like concurrency and parallelism. Together you will learn how to program concurrently.

Article then reads about:

  • Synchronous vs Asynchronous
  • Concurrency vs Parallelism
  • Mechanisms for concurrency
  • Options to control concurrency

Article is extensive, e.g. when describing concurrency it dives into: process, thread, dispatch queues, operation queues, run loops, lightweight routine. The same goes for options to control concurrency, e.g. article describes: priority inversion, priority inheritance, lock, spinlock, mutex, semaphore…

There are so many options to do concurrent programming and this posts just scratches the surface. Excellent read!

[Read More]

MySQL vs. MariaDB: Reality check

Categories

Tags sql database software

Colin Charles published extensive comparison between MySQL vs. MariaDB (including Percona Server for MySQL). His goal was to evaluate, at a higher level, MySQL, MariaDB and Percona Server for MySQL side-by-side to better inform the decision making process. It is largely an unofficial response to published comments from the MariaDB Corporation.

Article then compares

  • Open community
  • Core engine comparison and what is shared
  • General features comparison
  • Extensibility
  • Analytics
  • High availability
  • Security

and more, e.g. supporting ecosystem and tools, enterprise database compatibility. Seems like there is a healthy competition in the MySQL ecosystem.

[Read More]