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 ]

CSS REM: What is REM in CSS?

Categories

Tags css web-development app-development learning

In this article I’m going to discuss some use cases of REM (Root EM) in CSS. CSS (which stands for Cascading Style Sheets) uses properties and values to create all the aesthetic magic that goes on in webpages. By Slimane Aguersif.

This article is about one of these values, namely REM, which stands for Root EM. REM is a value of the value/ data type length. Another value of length is our good old friend pixel (px). Every property that accepts lengths as a value will accept REM. Some of these are margin, padding, and so on.

The article will walk you through:

  • What is CSS?
  • What is REM in CSS?
  • Relative values vs absolute length values in CSS
  • Root EM and root font size
  • Responsive web design with REM

Google encourages you, in this article about responsive web design, to restrict line length to not much more than 10 words. This is in accordance with classical readability theory. They advise that you should use media queries with break points chosen in such a manner that the width of your content/text lines are not too long. This helps provide the best possible reading experience. Nice one!

[Read More]

NGINX tutorial: Reduce Kubernetes latency with autoscaling

Categories

Tags nginx kubernetes containers devops servers

Your organization built an app in Kubernetes and now it’s getting popular! You went from just a few visitors to hundreds (and sometimes thousands) per day. But there’s a problem… he increased traffic is hitting a bottleneck, causing latency and timeouts for your customers. If you can’t improve the experience, people will stop using the app. By Daniele Polencic of learnk8s.

This blog accompanies the lab for Unit 1 of Microservices March 2022 – Architecting Kubernetes Clusters for High‑Traffic Websites – but you can also use it as a tutorial in your own environment (get the examples from our GitHub repo). It demonstrates how to use NGINX Ingress Controller to expose an app and then autoscale the Ingress controller pods in response to high traffic.

This tutorial uses these technologies:

  • NGINX Ingress Controller
  • Helm
  • KEDA
  • Locust
  • minikube
  • Podinfo
  • Prometheus

In the final challenge, you build a configuration that autoscales resources as the traffic volume increases. The tutorial uses KEDA for autoscaling, so first you install it and create a policy that defines when and how scaling occurs. As in Challenge 3, you then use Locust to simulate a traffic surge and Prometheus to observe NGINX Ingress Controller performance when autoscaling is enabled.

You can also follow the tutorial by watching provided video. Links to further resources and reading are also provided. Nice one!

[Read More]

How Firebase Performance Monitoring optimized app startup time

Categories

Tags cloud android monitoring web-development performance performance ios

Mobile users expect their apps to be fast and responsive, and apps with a slow startup time, especially during coldstart, can leave them feeling frustrated. By Viswanathan Munisamy. Firebase Performance Monitoring is a tool that helps you gain insight about various app quality signals, including startup time of your application.

Modern Android applications perform multiple operations until the application becomes responsive to the user. “Startup time” of an application measures the time between when an application icon is tapped on the device screen, to when the application is responsive.

The article then explains how:

  • Library impact at startup
  • Firebase Performance Monitoring at startup
  • Performance Monitoring app startup time optimization
  • Impact of Firebase Performance Monitoring

Application startup time improvement is a moving target for all developers. Though device hardware has been dramatically improving in recent years, the challenge of improved startup time performance continues to push barriers. We are continuously investing in reducing the startup time impact. Good read!

[Read More]

A complete guide to distributed tracing

Categories

Tags cloud programming agile monitoring web-development servers performance

Distributed tracing helps you track requests across services and understand issues affecting your application performance. In distributed cloud architecture, debugging performance issues is complicated. By Ankit Anand.

Distributed tracing can also serve as a knowledge base for your engineering team. It can act as a central overview dashboard that enables anyone to quickly get familiar with the application architecture.

In the article you will find following information:

  • What is Distributed Tracing?
  • Why is Distributed Tracing needed?
  • Understanding a Trace
  • Deriving value from Distributed Tracing
  • Distributed Tracing with OpenTelemetry
  • Getting started with Distributed Tracing

SigNoz is an open-source APM tool that provides distributed tracing as one of its main capabilities. It is built to natively support OpenTelemetry so that you can build your entire monitoring stack with open source tools. This article will help you to start on your distributed tracing journey!

[Read More]

Building a Data Lake on Google Cloud Platform

Categories

Tags cloud analytics big-data data-science gcp apache

Data has been stored in computers in a variety of ways over the years, including databases, blob storage, and other methods. In order to do effective business analytics, the data created by modern applications must be processed and analyzed. And the volume of data produced is enormous!

It’s critical to store petabytes of data effectively and have the necessary tools to query it in order to work with it. Only then can the analytics on that data produce meaningful results.

With that in mind, this blog aims to provide a small tutorial on how to create a data lake that reads any changes from an application’s database and writes it to the relevant place in the data lake. The tools we shall use for this are as follows:

  • Debezium
  • MySQL
  • Apache Kafka
  • Apache Hudi
  • Apache Spark

There are several ways in which a data lake can be architected. Using a setup like one described above, one can easily scale the pipeline to manage huge data workloads. You will also get links to further reading and Kubernetes deployment files in the article. Good read!

[Read More]

Applying product thinking to slack's internal compute platform

Categories

Tags ux web-development management teams agile learning crypto

When creating a platform, it’s critical to have clearly defined customers and products that will benefit from it rather than building in a vacuum. By Javier Turegano Director, Software Engineering @slack.

But, where do we start? It seems to me that we can re-use a lot of the techniques that have been developed over the years when building external products in order to build this compelling internal product. We can simply call this applying product thinking to our internal platform.

We’ve come a long way on applying product thinking to our internal platform at Slack in the last couple of years, in particular to our internal compute orchestration platform, code-named “Bedrock.” The intent of this article is to share some of the initiatives that we have started to bring a product-thinking approach to building our internal platforms.

The article focuses on:

  • Introducing Bedrock
  • How we’ve stayed close to our internal customers
    • User experience interviews
    • User surveys
    • NPS (Net promoter score)
    • Dogfooding
    • User advisory group
    • Self-paced training and video materials
    • Promote your new product features within your own product

In order to be successful in building your internal platform, you can benefit from applying product thinking and developer experience techniques to your processes. At Slack, we obtained feedback from our developers, prioritized our investments, and made our offering more appeal. Nice one!

[Read More]

Bringing agile to quantum hardware

Categories

Tags cio ibm teams agile learning crypto

We want to build the best, highest-performance quantum computers, all while making processors available to clients so that they can experiment with quantum and find potential benefits to their organizations. Achieving this goal requires a new way of thinking about hardware development methodology. By Markus Brink.

This journey has taught our team that we must experiment with new ideas, toss the ones that don’t work, implement the ones that do work, and integrate them all into the stable devices that we offer our clients – all at the same time. We’re excited to present the results of this agile hardware methodology and more at this year’s APS March Meeting, the largest physics conference in the world – and give insight into how this methodology works, below.

The article then reads about:

  • Agile hardware development to advance metrics in parallel
  • Combining engineering with research for the future of quantum

We leverage agile practices to incorporate relevant technology elements into earlier families where there is a potential performance benefit. The hardware goes through several stages of vetting to verify yield and performance prior to deploying into the system. We don’t expect every chip to meet the performance characteristics we might expect, so it’s paramount that we also engineer a screening practice to efficiently select only the best devices to move forward. We set a high bar for our understanding and characterization of the chips so that we feel confident putting our stamp of approval on its abilities.

Developing an entirely new kind of computer processor certainly isn’t easy. We’re proud to see our team leading the way to realize quantum computing. Interesting read!

[Read More]

How to become a blockchain developer

Categories

Tags cio app-development fintech blockchain how-to learning crypto

With an average salary of $154k per year and steady job growth, now is the ideal time to learn blockchain development. To create and improve blockchain technologies, blockchain developers exercise various skills, including computer networking, cryptography, algorithms, and data structures. By Prajix.

These developers are responsible for designing blockchain technology centered around a specific business model, then building, launching, and maintaining a blockchain network. To accomplish this, they must develop protocols, craft the architecture of blockchain systems, and develop smart contracts and other web applications using blockchain technology. Additional responsibilities include:

  • Evaluating applications for new tools and technologies as they evolve
  • Maintaining client/server-side applications used for integration and business logic
  • Staying up-to-date with new developments in the blockchain community

The article then reads about:

  • What is a blockchain?
  • Who is hiring blockchain developers?
  • How do I get started?

The exact definition of a blockchain is a system in which a record of transactions made in cryptocurrency is maintained across several computers linked in a peer-to-peer network (Oxford Languages). Interesting read!

[Read More]

Architecture Pattern: Orchestration via workflows

Categories

Tags cio app-development software-architecture web-development miscellaneous

Most business processes involve doing multiple things across multiple systems. Imagine onboarding a new vendor onto a B2B platform. When a vendor is onboarded, we might have to create an identity for it, trigger some sort of verification process, issue new API keys and credentials to it, and so on. All of these steps typically happen across multiple teams and technical modules. By Kislay Verma.

How should we implement such systems? One way to do this in the object-oriented/REST style is to identify a primary entity (Vendor/Vendor Service in the former example, Order/Order Service in the latter) which owns the entire operation. This primary entity invokes all the other components involved to make sure that the process runs end to end without any problems. If the process is asynchronous in some way (e.g. if verification of vendor documents is handled manually offline), the primary entity carries the state necessary to make sure that it can continue the process from where it was paused.

The article covers:

  • The problem in modelling business processes
  • The workflow pattern
  • Stateful Orchestration
  • Mixing declarative and imperative to create layered abstractions
  • Workflows as Products
  • Caveat Emptor

Calling workflows a separate architectural pattern is only a change in perspective. No matter what kind of design approach we take, we will always have to do all the things that make up the business process. Focussing on the process as a first-class concept puts the definition and management of the steps in the spotlight instead of brushing it inside an API boundary and considering it an implementation detail. Click the link to full article to learn more.

[Read More]

A complete guide to TypeScript's never type

Categories

Tags programming javascript app-development frontend nodejs

TypeScript’s never type is very under-discussed, because it’s not nearly as ubiquitous or inescapable as other types. A TypeScript beginner can probably ignore never type as it only appears when dealing with advanced types, such as conditional types, or reading their cryptic type error messages. By Zhenghao.

The never type does have quite a few good use cases in TypeScript. However, it also has its own pitfalls you need to be careful of.

The article then describes:

  • What is never type
  • Why we need never type
  • How to use never type
  • How to read never type (from error messages)
  • How to check for never

In TypeScript, never is an empty set of values. In fact, in Flow, another popular JavaScript type system, the equivalent type is called exactly empty. Interesting read!

[Read More]