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 find and fix Docker container vulnerabilities in 2020

Categories

Tags containers docker infosec

Containerization allows engineering teams to create a sandbox environment in which to run and test applications. But these open-source images may sometimes contain vulnerabilities which can jeopardise the safety of containers and in turn its host computer/server. By Dipto Karmakar.

A good example of such a hack is Tesla’s cryptojacking attack on an unprotected Kubernetes cluster. In this attack, the attackers were able to download and run a malicious script for mining crypto using GPUs provided by Tesla’s K8s (Kubernetes) cluster. They were able to keep this attack under the radar by keeping CPU usage to a minimum and also running the script at specific time intervals.

The article describes:

  • Common container vulnerabilities and how to fix them
  • How to find container vulnerabilities
    • Using Docker Bench for Security
    • Scanning for vulnerabilities in GCR
    • Using Enterprise-Grade Solutions

Containers make it possible for engineering teams to roll out software seamlessly. However, this ease comes at the cost of security. You will also get plenty of links to further reading. Nice one!

[Read More]

How to teach Artificial Intelligence

Categories

Tags machine-learning big-data data-science

Tom Vander Ark writes about the future of learning, work and human development. Here we have his thoughts on how to teach Artificial intelligence (AI).

Artificial intelligence – code that learns – is likely to be humankind’s most important invention. It’s a 60-year-old idea that took off five years ago when fast chips enabled massive computing and sensors, cameras, and robots fed data-hungry algorithms.

A World Economic Forum report indicated that 89% of U.S.-based companies are planning to adopt user and entity big data analytics by 2022, while more than 70% want to integrate the Internet of Things, explore web and app-enabled markets, and take advantage of machine learning and cloud computing.

[AI4K12] is an initiative of leading computer scientists that have identified five big ideas that every student should know about AI:

  • Computers perceive the world using sensors
  • Agents maintain representations of the world and use them for reasoning
  • Computers can learn from data
  • Intelligent agents require many types of knowledge to interact naturally with humans
  • AI applications can impact society in both positive and negative ways

Given these important and rapid shifts, it’s a good time to consider what young people need to know about AI and information technology. You will find plenty of links to free AI courses in this article. Excellent!

[Read More]

The magic of generating an Xcode project

Categories

Tags ios machine-learning app-development programming

Planet Earth vs. Jupiter. There is the same order of magnitude between the ratio of these two planets and the amount of code that defined the SoundCloud iOS project before – Jupiter – and after – Earth – generating it using Tuist. By Andrea Cipriani.

In this blog post, author discusses the problems of maintaining a complex iOS project, how they managed to simplify the process by writing less and more consistent code, and how they ended up with lower build times as an unexpected result.

Generating the project was not an easy journey, as the process of writing the manifest files can be tedious and error-prone. Debugging problems at the project level is not always easy, nor is it easy to validate if the generated project is semantically equal to the previously existing one, even with the support of a great open source tool like xcdiff.

The article deals with:

  • What’s the problem with Xcode projects?
  • Project generation
  • Serendipity

Xcode is the official tool for developing apps on Apple platforms. Every time you make a change to an Xcode project, such as adding a new source file or changing a setting, the IDE generates some code into a file called project.pbxproj. The first thing you may notice is that the generated code is not easy to read or change, as it uses unique random identifiers to refer to every entry of the project. Read whole article to learn more. Excellent info for anybody developing for iOS!

[Read More]

Building an adaptive, multi-tenant stream bus with Kafka and Golang

Categories

Tags software-architecture apache streaming apis devops web-development programming

Back in the 2000s, SOAP/WSDL with ESB (Enterprise Service Bus) was the dominant server-side architecture for many companies. Since the 2010s, microservices and service mesh technologies have grown wildly and thus became the de-facto industry standards. By Xinyu Liu.

At Lyft, hundreds of microservices are backed by numerous databases. New tables are being created constantly to support features and demands of our fast-growing business. Online

The main sections of the article:

  • A use case
  • CDC pipeline remake
  • Architecture
    • Load balancing and auto scaling
    • A greedy algorithm
    • Threading model

During performance testing, the CDC adapter service routed 4 million messages per minute with an average message size of 1.5KB. Such a level of workload was easily handled by 5 Kubernetes vCPU and 10 GB memory in total.

Plenty of other resources are mentioned. And you will get charts explaining architecture etc. Good read!

[Read More]

7 ways to remove duplicates from an array in JavaScript

Categories

Tags nodejs javascript web-development programming

Jayanth Babu wrote this article about how to remove duplicates from an array in JavaScript. It’s a common use case in many projects to need to remove duplicates from array in JavaScript. For interviews, it’s a common coding challenge to practice for everyone.

The article goes over:

  • Use the filter method
  • By using a set
  • Using the forEach method
  • By using the reduce method
  • Adding a unique method to the Array Prototype
  • By using Underscore JS
  • Removing duplicate Objects from a given array

Each method is documented by example. Sweet and short!

[Read More]

New green technology generates electricity 'out of thin air'

Categories

Tags miscellaneous

Scientists at the University of Massachusetts Amherst have developed a device that uses a natural protein to create electricity from moisture in the air, a new technology they say could have significant implications for the future of renewable energy, climate change and in the future of medicine. By nano-magazine.com.

“We are literally making electricity out of thin air,” says Yao. “The Air-gen generates clean energy 24/7.” Lovely, who has advanced sustainable biology-based electronic materials over three decades, adds, “It’s the most amazing and exciting application of protein nanowires yet.”

The new technology developed in Yao’s lab is non-polluting, renewable and low-cost. It can generate power even in areas with extremely low humidity such as the Sahara Desert.

The Air-gen device requires only a thin film of protein nanowires less than 10 microns thick, the researchers explain. Fascinating read!

[Read More]

How to automate PostgreSQL 12 replication and failover with repmgr

Categories

Tags distributed database performance

An article about using repmgr for Postgres replication failover. repmgr is an open-source toolset from 2ndQuadrant, a leading specialist in PostgreSQL-related technologies and services. The product is used to automate, enhance, and manage PostgreSQL streaming replication. By Sadequl Hussain.

In this two-part series, author will see how repmgr and its daemon repmgrd can automate the high-availability and failover of a three-node PostgreSQL 12 cluster.

The article is split in parts:

  • A Walk-through of the environment
  • Step 1: Installing PostgreSQL 12 in all nodes
  • Step 2: Configuring PostgreSQL in witness and primary node
  • Step 3: Installing repmgr in primary and standby nodes
  • Step 4: Creating repmgr database and user in the primary node
  • Step 5: Adding primary node PostgreSQL config parameter

… and more. You will get a very quick introduction to repmgr which provides an easy-to-use interface over the technology that is already built into PostgreSQL for setting up replication. Good read!

[Read More]

How to: Kubernetes for cheap on Google Cloud

Categories

Tags kubernetes event-driven containers devops software-architecture

Niko Kosonen published this step by step tutorial how to run Kubernetes on two micro instances on Google Kubernetes Engine (GKE) without external load balancers. Cluster setup from scratch. The code is available here.

My excitement of running Kubernetes on Google Cloud Platform was quickly curbed by the realization that, despite Google’s virtual machines starting at affordable price points, their network ingress is another story.

Author set out to create his GKE cluster – with the requirement of it being as cheap as possible while enjoying a key benefit of the cloud: being free of manual maintenance.

It was composed as a step-by-step tutorial. Based on author’s own experience in setting up a cluster on a fresh GCP account, the tutorial covers every topic from configuring the infrastructure to serving HTTP(S) requests from inside the cluster.

Terraform scripts also included. Super useful!

[Read More]

A serverless journey begins with several first steps, actually

Categories

Tags serverless event-driven cio programming software-architecture

AWS serverless expert explains what you need to know before launching a serverless pilot. By Joe McKendrick.

The best way to start on a serverless journey is with a serious pilot project that delivers real business benefits and can scale quickly as it shows results. That’s the word from Matt Brayley-Berger, global business development manager for Serverless Compute at Amazon Web Services.

“Digital businesses must innovate as rapidly as possible,” he says. “You need your teams focusing on building applications, and not managing the underlying infrastructure behind them.” Serverless computing is made possible by microservices architectures hosted and managed through the cloud.

The author outlines the best path to take when launching a serverless computing pilot project:

  • Set goals
  • Recruit team members committed to serverless
  • Secure executive buy-in
  • Ensure the scope of the pilot is broad enough, but no too broad
  • Establish workable metrics
  • Include documentation

It’s important for the pilot project to “make sense for the organization and team members, in order to make sure this scales moving forward. Insightful!

[Read More]

Best practices for event-driven microservice architecture

Categories

Tags microservices event-driven messaging programming software-architecture

While you might have used REST as your service communications layer in the past, more and more projects are moving to an event-driven architecture. Let’s dive into the pros and cons of this popular architecture, some of the key design choices it entails, and common anti-patterns. By Jason Skowronski.

The article delivers on:

  • What is event-driven microservice architecture?
  • Why use event-driven architecture
  • When to use REST
  • Your most important design choice – messaging framework

Your basic choice comes down to message processing or stream processing.

Of course, event-driven architectures have drawbacks as well. They are easy to over-engineer by separating concerns that might be simpler when closely coupled; can require a significant upfront investment; and often result in additional complexity in infrastructure, service contracts or schemas, polyglot build systems, and dependency graphs. Good read!

[Read More]