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 ]

How to set an ideal thread pool size in Java

Categories

Tags programming java performance

Anton Ilinchik is author of this post on Zalando site. We all know that thread creation in Java is not free. The actual overhead varies across platforms, but thread creation takes time, introducing latency into request processing, and requires some processing activity by the JVM and OS. This is where the Thread Pool comes to the rescue.

A well-tuned thread pool can get the most out of your system and help you survive peak loads.

The post then explains:

  • Why should I set a limit for my thread pool?
  • How to know your limits
  • Blocking coefficient and concurrency formula
  • Little’s law

If you have different classes of tasks it is best practice to use multiple thread pools, so each can be tuned according to its workload.

These formulas are not a silver bullet and cannot magically fit any projects but they could be a great starting point for your project. The disadvantage of the formulas is that they focus on the average number of requests in the system and might not suit for various traffic burst patterns. Great read for anybody working with Java programming language.

[Read More]

The narrative-driven organization

Categories

Tags programming miscellaneous how-to ux

An article by Jordan Husney. It is meant to be a practical guide to using narrative and storyboards to design products & experiences, and organize teams around delivering value to manifest them.

Disney company developed the storyboard to capture the vision for their most ambitious production to-date: Snow White. Airbnb was influenced by it and hired former Pixar animator Nick Sung to capture the company’s primary user journey in just 15 frames as a storyboard.

To bring an organization to life, one must answer these fundamental questions:

  • Why do we exist?
  • Who do we serve?
  • How do we serve them?
  • Who do we need and how do they operate?
  • How do we track our progress toward our purpose?

The guide then walks you through each of above steps and how to apply story telling in the practice in great detail. Great read!

[Read More]

How on-demand pricing slashed our DynamoDB bill by 90 percent

Categories

Tags aws nosql

Ashwin Bhat published this short article about their experience with a new pricing structure for DynamoDB called On-Demand Mode. With it, your capacity costs are strictly a function of how many capacity units you consume, rather than how many you would have provisioned in Provisioned Capacity Mode.

Amazon claims that DynamoDB will continue handling your traffic load without any provisioning on your part at all, removing the pain around capacity planning. This pricing structure seemed perfect for their use case: high performance when they need it, and no wasted money from over-provisioning.

On-demand mode is great for handling spiky user traffic, but it’s much more expensive per-query than a fully utilized provisioned capacity setup. When performing operations such as large backfills or data migrations, it may be cheaper to switch to provisioned mode with just the right estimated capacity that you’ll need for your operation. Good overview!

[Read More]

How to build a WebVR game with A-Frame

Categories

Tags learning miscellaneous programming

Adi Polak article about building a game with WebVR. WebVR is an open specification that makes it possible to experience VR in your browser. The goal is to make it easier for everyone to get into VR experiences, no matter what device you have.

This tutorial then describes what you need and how to set up:

  • Azure account
  • Visual Studio code (VScode) – VS code
  • VScode Azure storage extension
  • npm
  • Code for your project

The game is super simple. Tutorial guides you how to build a scene with spinning hearts, score, and a gesture of collecting hearts. For extra spice, this will be an infinite game, where for each heart collected, another heart will pop-up in a random location.

The game uses gltf model. glTF – GL Transmission Format – is a file format for 3D scenes and models using the JSON standard. It is described by its creators as the “JPEG of 3D.”

All code in repository and demo of the game is also provided. Super detailed!

[Read More]

How to pick your next tech focus

Categories

Tags learning miscellaneous programming

From pen of Ezequiel Bruni (web / UX designer, blogger, and aspiring photographer living in Mexico) we have this article about deciding what should be your next learning focus. In his opinion the technology you focus on or use next should always be matched to both the job and the people at hand.

Author claims he has discovered ways to make an educated guess. Since people often use the new year as an excuse to try new things, heI thought he’d share his principles of educated guesswork with you all.

The article then explains in details how to go about these steps:

  • Watch people and how they use tech
  • Look for convenience (for your users)
  • Integration
  • What happens when things go wrong? How does the tech respond to bugs?
  • Extra tips

Especially useful is authors’ explanation for point one. Watch the people who make tech: Research the people who make the tech you’re considering buying into. Do they listen to their community? Do they consider the edge cases? Do they care? Can they write clear documentation? Good read!

[Read More]

Mozilla's 2019 Internet health report

Categories

Tags miscellaneous how-to learning

This annual open-source report examines how humanity and the internet intersect. It is a third annual examination of the internet, its impact on society and how it influences our everyday lives. By Mozilla.

The Report paints a mixed picture of what life online looks like today. We’re more connected than ever, with humanity passing the ‘50% of us are now online’ mark earlier this year.

In the Report’s three spotlight articles, Mozilla unpack three big issues: One examines the need for better machine decision making – that is, asking questions like Who designs the algorithms? and What data do they feed on? and Who is being discriminated against? Another examines ways to rethink the ad economy, so surveillance and addiction are no longer design necessities. The third spotlight article examines the rise of smart cities, and how local governments can integrate tech in a way that serves the public good, not commercial interests.

This Report is designed to be both a reflection and resource for this kind of work. It is meant to offer technologists and designers inspiration about what they might build; to give policymakers context and ideas for the laws they need to write; and, most of all, to provide citizens and activists with a picture of where others are pushing for a better internet, in the hope that more and more people around the world will push for change themselves.

Excellent information in this article and very informative!

[Read More]

How to tune garbage collection in Java

Categories

Tags java programming

If you want to learn more about performance tuning and garbage collection in Java, this article by Tim Ojo is for you.

Garbage collection is the mechanism by which the JVM reclaims memory on behalf of the application when it’s no longer needed. At a high level, it consists of finding objects that are no longer in use, freeing the memory associated with those objects, and occasionally compacting the heap to prevent memory fragmentation.

The garbage collector performs it’s work using one or more threads. But in order to do the job of tracking down object references and moving objects around in memory, it needs to make sure that the application threads are not currently using those objects. The garbage collectors must pause all application threads when performing certain tasks.

The article explains:

  • Sizing the Heap
  • Tuning GC Performance
  • Fixing Concurrent Mode Failures

Good introduction with various parameters and flags explained. Happy tuning!

[Read More]

Inside look at modern web browser

Categories

Tags web-development css frontend ux browsers

In this article from Mariko Kosaka she walks you though insides of the Chrome browser from high-level architecture to the specifics of the rendering pipeline. If you ever wondered how the browser turns your code into a functional website, or you are unsure why a specific technique is suggested for performance improvements, then the article and next 3 ones in this series is for you.

In order to understand the environment that the browser is running, we need to understand a few computer parts and what they do.

The article focuses on explaining:

  • CPU – Central Processing Unit
  • GPU – Graphics Processing Unit
  • Executing program on Process and Thread
  • Browser Architecture
  • Which process controls what?
  • The benefit of multi-process architecture in Chrome

The important thing to note here is that these different architectures are implementation details. There is no standard specification on how one might build a web browser. One browser’s approach may be completely different from another.

Wonderful schemas and charts are included for better understanding of the topic. Enjoyable post!

[Read More]

Starting local Kubernetes using kind and Docker

Categories

Tags docker containers kubernetes

Youichi Fujimoto wrote this guide about running Kubernetes easily in Docker. He shows the steps to run a cluster in single Docker container using kind. You will need to have Go installed as kind is written in it.

_kind – is a tool for running local Kubernetes clusters using Docker container “nodes”.

The article then walks you through:

  • Installing kind
  • Setting up kubectl
  • Deploying first application

kind is a good alternative to minikube because it only uses single container of Docker. Its upside is cross-platform friendliness even with Docker for Windows. By combining Kustomze which was integrated to Kubernetes 1.14, it is pretty straightforward to try it on your local machine. Excellent.

[Read More]

The habit of calm when you're feeling frustrated

Categories

Tags miscellaneous how-to programming startups

This article by Leo Babauta is about how to deal with getting frustrated when they feel overloaded, and then shutting down or lashing out.

This probably sounds familiar to some of us. We feel overloaded, and then maybe lash out at someone in frustration and anger.

This comes from the hope that things will be calm, orderly, simple, solid, and under control. The world doesn’t comply with this hope, however, as it is chaotic, disorder, constantly changing, never fixed, groundless. So we get frustrated, angry at others, and feel anxiety.

The article then describe how to create a habit of calm:

  • Catch your habitual pattern as early as you can
  • Practice how to drop into the body
  • Use newfound space to connect to the other person (Maybe you’ve responded to their frustration with frustration of your own)
  • find an appropriate, compassionate response

Read original article how to practice above in more detail. Immeasurably it is more helpful to do these practices than to lash out, which hurts not only the other person, but yourself as well. Great stuff!

[Read More]