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 ]

AWS Lambda: Resilience under-the-hood


Tags aws distributed apis app-development serverless

AWS Lambda comprises over 80 services working together to provide the serverless compute service that it offers to customers. Under the hood, many of these services are built on top of Amazon Elastic Compute Cloud (Amazon EC2) instances, provisioned within Availability Zones. However, AWS Lambda is a Regional service. By Adrian Hornsby (Principal System Dev Engineer) and Marcia Villalba (Principal Developer Advocate).

This means that customers use Lambda services from the Region level and its services are designed to be resilient to impairments that the underlying Availability Zones might have.

The articles discusses:

  • The role of Availability Zones
  • How to prepare for failures
  • How Lambda tests its response to an Availability Zone impairment
  • How AWS Lambda uses AWS FIS
  • How to recover your applications rapidly from Availability Zones failures

This article discusses static stability, a mechanism that is used by AWS services such as Lambda to build resilient Regional services. It also discusses how AWS takes advantage of the same services and infrastructure as customers. It shows how Lambda uses multiple Availability Zones and services like AWS FIS to build highly available services and improve its recovery time from unexpected failures to only a few minutes without human intervention. Nice one!

[Read More]

A hands-on approach to symmetric-key encryption


Tags miscellaneous infosec programming devops

In this article, we will learn how symmetric-key encryption works from a practical perspective. We will use OpenSSL to put into practice some concepts about symmetric-key encryption. By Sergio Prado.

To follow along with this article and run the commands on your machine, you just need a terminal with a recent version of OpenSSL. Further content discussed:

  • Symmetric-key encryption
  • Generating a symmetric key
  • Encryption with AES-128
  • Block cipher modes and ECB
  • AES encryption in CBC mode

In a symmetric-key encryption algorithm, the same key is used for both encryption and decryption. This key is usually called a private key, and should stay private, or the security is broken! In this article, we learned some concepts about symmetric encryption, using AES in ECB and CBC modes to encrypt and decrypt data. In the next article, we will deep dive into asymmetric-key encryption and digital signatures. Good read!

[Read More]

Time to look at the role of the CISO differently


Tags miscellaneous cio cloud software

What is now required is political acumen, managerial experience and personal gravitas, more than raw technology skills. By JC Gaillard.

In spite of being widely used, the role of the Chief Information Security Officer (CISO) has only had a few decades of existence and is still evolving. Research from the Security Transformation Research Foundation — based on the semantic analysis of the content of 17 annual global security reports from EY between 2002 and 2019 — points towards the role having already gone through 2 clear phases in its evolution, as it heads into its third decade of existence.

The first decade of the century was essentially a “Compliance Decade”: Security was seen as a balancing act between compliance requirements, risk appetite and costs; the CISO was mostly a risk manager. The last decade has been effectively a “Realisation Decade”, during which cyber security started to be seen as a necessary barrier against real threats, in a context of increasing cyber-attacks and data breaches (in number and scale), massive technological change and the aftermath of a historical financial crisis.

The role of the CISO is entering its third decade of existence and it is likely to be an “Execution Decade” with cyber security becoming an imperative, as the “when-not-if” paradigm around cyber-attacks takes root in the boardroom. Follow the link to the full article to learn more!

[Read More]

NVIDIA Grace CPU superchip architecture in depth


Tags miscellaneous cloud performance software distributed

NVIDIA Grace CPU is the first data center CPU developed by NVIDIA. By combining NVIDIA expertise with Arm processors, on-chip fabrics, System-on-Chip (SoC) design, and resilient high-bandwidth low-power memory technologies, the NVIDIA Grace CPU was built from the ground up to create the world’s first superchips for computing. By Jonathon Evans, Ian Finder, Ivan Goldwasser, John Linford, Vishal Mehta, Daniel Ruiz and Mathias Wagner.

The NVIDIA Grace Hopper Superchip pairs a power efficient, high-bandwidth NVIDIA Grace CPU with a powerful NVIDIA H100 Hopper GPU using NVLink-C2C to maximize the capabilities for strong-scaling high performance computing (HPC) and giant AI workloads. More information is available in the NVIDIA Grace Hopper Superchip Whitepaper.

Further in the article:

  • A superchip built for HPC and AI workloads
  • Alleviate bottlenecks with NVLink-C2C Interconnect
  • NVIDIA Grace CPU core architecture
  • NVIDIA Grace CPU software

The NVIDIA Grace Superchip Architecture Whitepaper expands on the details covered in this post. It provides an in-depth explanation of how the NVIDIA Grace CPU delivers the superior performance shown in Figure 1, as well as the technology innovations behind the performance.

[Read More]

Empowering students to develop an Agile mindset


Tags agile learning app-development teams how-to

Fostering collaboration in the classroom is vital in preparing our students for life. Working in groups can be challenging, which is why implementing an agility framework can become a powerful tool. Developing an agile mindset will empower students to take ownership of their learning while developing social-emotional and critical thinking skills. By Greta Sandler.

Students team agreements board

Source: https://www.iste.org/explore/empowering-students-develop-agile-mindset

Let’s take a look at the steps to implement an agile framework in the classroom:

  • Grouping students
  • Team agreements
  • Sprint (learning progress)
  • Sprint review (reflection time)
  • Retrospective

Before the groups engage in the project, it’s essential to start building trusting relationships among team members by establishing team agreements. Each team should create its Definition of Fun (DoF). By DoF, the teams in your classroom are simply agreeing on what their needs are in order to enjoy learning and working together. Examples might be sharing creative ideas or respecting each other. This promotes safer learning environments and helps develop stronger teams. Very interesting for anybody devoted to edtech!

[Read More]

Kotlin coroutines - A comprehensive introduction


Tags kotlin java app-development programming jvm distributed

This article introduces Kotlin coroutines, a powerful tool for asynchronous programming. Kotlin’s coroutines fall under the umbrella of structured concurrency. They implement a model of concurrency which you can consider similar to Java virtual threads, Cats Effect and ZIO fibers. By Daniel Ciocîrlan.

The article requires a minimum knowledge of the Kotlin language. Still, you should be fine if you come from a Scala background. The topics discussed:

  • Background and setup
  • Why coroutines?
  • Suspending functions
  • Coroutine scope and structural concurrency
  • Coroutine builders
  • Cooperative scheduling
  • Cancellation

Our journey through the basics of the Kotlin coroutines library is over. We saw why coroutines matter and made a simplified explanation of how they’re implemented under the hood. Then, we showed how to create coroutines, also introducing the structural concurrency topic. We saw how cooperative scheduling and cancellation work with many examples. Finally, we introduced the main features of the coroutines’ context. There is a lot more to say about coroutines, but we hope this article can be a good starting point for those who want to learn more about them. Good read!

[Read More]

Data structures 101: How to use stacks and queues in Java


Tags java app-development programming queues data-science

Mastering data structures is a non-negotiable skill for success as a developer. Efficient data structures help execute effective programs. Today, many programming roles require great knowledge of data structures. They are also a fundamental part of coding interviews. By The Educative Team.

In programming, a stack is an abstract, linear data type with a predefined capacity (or boundary). It follows a particular order for adding or removing elements. Linear data structures organize their components in a straight line, so if we add or remove an element, they will grow or shrink respectively.

In the article authors will cover:

  • What is a Stack?
  • What is a Queue?
  • Pros and Cons of Stack and Queues
  • Essential operations
  • How to implement a Stack in Java
  • How to implement a Queue in Java
  • What to learn next & interview questions

Authors hope you now have a good foundation of how stacks and queues data structures work. There’s so much more to learn to master queues and stacks in Java. Nice one!

[Read More]

Building a remote control car from scratch using Elixir


Tags erlang app-development frameworks elixir

From the car straight to the app on your phone, check out how our America office uses Elixir’s fullstack capability to build a remote control car. By Ricardo Lanziano.

The basic idea is for us to move a pair of wheels. In order to do that, we need a device that is capable of power and can control a couple of motors. We decided to use a L298n motor driver that is easily available in the local electronics stores.

Elixir is undoubtedly one of the most comprehensive full stack languages available, offering battle-tested reliability and fault-tolerance on the backend. This is thanks to its origins in Erlang, the BEAM VM and OTP, powerful and agile frontend development thanks to LiveView and the ability to write to hardware with Nerves (not to mention the exciting developments happening in the machine learning space).

Main section of this article:

  • Requirements
  • Theory
  • Starting the project
  • Tune in
  • Powering the device
  • Moving the wheels
  • 4 Sources and conclusions

Team had fun assembling the kit and working with Nerves. It was easier than we expected, and we found that Nerves is a very stable and solid frame- work for deploying Elixir applications in restrained environments without friction. Good read!

[Read More]

How to build interactive pie charts using only CSS and HTML


Tags css web-development frameworks frontend

Looking for an easy guide on how to make a pie chart with CSS and HTML? Then you’ve come to the right place! By Hafsah Emekoma.

Pie charts have been used since forever to display data in an aesthetically pleasing manner; they help in analyzing data by showing how different segments of a larger data set break down.

In the article you will get information on how to build an interactive pie chart using only HTML and CSS that displays data about food consumption in a city:

  • Basic HTML structure
  • Creating the wrappers
  • Basic styles
  • Adding pie chart data
  • Styling the chart and its keys
  • Finish styling the pie chart
  • Adding interactivity to the pie chart
  • Adding the keys and colors
  • Displaying text for entries
  • Changing the border colors for flair

If you’ve finished this tutorial, you should now be able to build pie charts using only HTML and CSS. Building with just HTML and CSS can come in handy when building light projects where performance is a primary consideration. Nice one!

[Read More]

Low-code backend for startups


Tags startups miscellaneous frameworks cio

This post will reveal author’s experience of working in multiple startups. The views are completely driven based upon his personal experience and can be found biased. By Navneet Maheshwari.

Author realizes in recent times and strongly believe that the startups for whom tech is not the primary product should not get into building platforms from scratch at an early stage of their journey. There are multiple reasons for this including volatile business model which keeps on reiterating and evolving, the talent acquisition cost for the tech team that is very high, there will be a very high business learning quotient for developers, leading to a lot of communication, it takes a lot of time to build stable tech etc.

With the recent development in the Low code space, I feel startups should focus on building tech with these platforms before jumping on building a complete in-house stack. With the recent development in the Low code space, author feels startups should focus on building tech with these platforms before jumping on building a complete in-house stack.

There arises a plethora of platforms that can help you build any software without much need for engineering bandwidth. The Low-code/ No-code platform can be classified into the following segments:

  • Frontend: (Website Builder, E-comm, Landing Page builder, etc). Some of them are Shopify, Webflow, WordPress, Wix, etc.
  • Mobile App: (App Builder). Appsheet, Glide, Shopney, etc.
  • Backend: Builder.io, Bubble, ERPNext

Author worked in 3 startups so far and there are is one thing that is common; Building Tech products is difficult: It’s not just simply coding and delivering a project. It’s a continuous reiterative process. Good read!

[Read More]