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 ]

What are namespaces and cgroups, and how do they work?

Categories

Tags nginx devops linux

Recently, I have been investigating NGINX Unit, our open source multi-language application server. As part of my investigation, I noticed that Unit supports both namespaces and cgroups, which enables process isolation. In this blog, we’ll look at these two major Linux technologies, which also underlie containers. By Scott van Kalken of F5.

Containers and associated tools like Docker and Kubernetes have been around for some time now. They have helped to change how software is developed and delivered in modern application environments. Containers make it possible to quickly deploy and run each piece of software in its own segregated environment, without the need to build individual virtual machines (VMs).

The article then focuses on:

  • What are namespaces?
    • Types of namespaces
    • An example of parent and child PID namespaces
    • Creating a namespace
    • Looking at a namespace from the outside
  • What are cgroups?
    • Cgroup versions
    • Creating a cgroup

Namespaces and cgroups are the building blocks for containers and modern applications. Having an understanding of how they work is important as we refactor applications to more modern architectures. Excellent read!

[Read More]

What exactly should we be logging?

Categories

Tags infosec devops programming learning software how-to

As a security architect and the technical leader for the Logging Made Easy project, I am often asked “what logs should I be collecting?” I absolutely hate the standard ‘it depends’ response. So, I’ve been answering with a question of my own: “For what?” This has led to a number of interesting discussions on the topic of who should be logging what, and when. By Adam B.

Before getting down to specifics, take some time to think about the logging practices, sources and tools available to you. Picking the right tool is part of the journey - you wouldn’t expect a chef to use a single knife, nor would you expect a developer to work with a single technology stack. You need to decide what are the ‘right tools for the job at hand’.

The article then discusses:

  • Doing away with “one size” solutions
  • Alternatives to ATT&CK framework
  • MITRE ATT&CK
    • Reconnaissance
    • Resource development
    • Gaining initial access
    • Execution of attacker controlled code
    • Persistence
    • Privilege escalation
    • Defence evasion

… and much more. The cloud allows you to use resources as and when they are needed. However, depending on your provider, getting access to raw logs may be difficult or impossible. This is because of the division of “shared responsibility”. But what does shared responsibility mean for logging? Good read!

[Read More]

OOP vs Type Classes: Ideology

Categories

Tags oop programming learning software

This is the 1st article of a series that explores the difference between OOP design, and parametric polymorphism with Type Classes, as both are possible in Scala. By Alexandru Nedelcu.

A black box is a device, system or object that can be viewed in terms of its inputs and outputs. This means that the input and output are well specified, such that we can form a useful mental model for how it works. Note that the mental model doesn’t have to be correct, it just has to be useful, such that we can operate the system without breaking it open and taking a look at the implementation.

The article is split into:

  • Motivation
  • Abstraction
    • Black Box Abstraction
  • What is OOP?
    • Are OOP and FP orthogonal? Can they mix?
  • What are Type Classes?
  • Ideological clash
    • OOP values
    • Static FP values
    • Degenerate cases
    • What do you want? OOP is a paradigm based on the concept of “objects” and their interactions, objects that contain both data and the code for manipulating that data, objects that communicate via messages. Good read!
[Read More]

Physical theory explains how time is non-existent, irrelevant to our lives

Categories

Tags miscellaneous cio learning data-science

Time is an important aspect of life that each person relies on in order to function in society. Time can be measured in many ways, such as in calendars and clocks, and can be viewed at any moment of the day, at any place. By Ron Jefferson.

Despite the establishment of time and its presence throughout the history of humankind, some experts theorize that the measurement hangs as an open possibility, Space reports.

The scientific studies throughout the past centuries allowed us to observe and discover two crucial theories in the physical field, namely quantum mechanics and general relativity.

Loop quantum gravity is the most questionable among the past theories, as this guess relies on aspects that do not rely on time, and in fact, eliminate the presence of time entirely. In this theory, time only emerges along with how we exist on a physical level. This guess implies that, unless we have answers to how time emerges, then time is non-existent. How very interesting!

[Read More]

Swift actors: How do they work, and what kinds of problems do they solve?

Categories

Tags swiftlang linux how-to programming learning

Since the very first version of Swift, we’ve been able to define our various types as either classes, structs, or enums. But now, with the launch of Swift 5.5 and its built-in concurrency system, a new type declaration keyword has been added to the mix – actor. By John Sundell.

One of the core advantages of Swift’s new actor types is that they can help us prevent so-called “data races” – that is, memory corruption issues that can occur when two separate threads attempt to access or mutate the same data at the same time.

So, in this article, let’s explore the concept of actors, and what kinds of problems that we could solve by defining custom actor types within our code bases. The article explains:

  • Preventing data races
  • A case for an actor
  • Race conditions are still possible

So, in general, actors are a fantastic tool when we want to implement a type that supports concurrent access to its underlying state in a very safe way. However, it’s also important to remember that turning a type into an actor will require us to interact with it in an asynchronous manner, which usually does make such calls somewhat more complex (and slower) to perform – even with tools like async/await at our disposal. Good read!

[Read More]

Modern alternatives to some of the classic Linux commands

Categories

Tags miscellaneous linux how-to devops learning

When you start learning Linux, you begin with a standard set of Linux commands that have been in existence since the UNIX days. As you grow old as a Linux user, you keep on mastering the same set of standard commands. By Abhishek Prakash.

But these standard, legacy commands were created several decades ago and while they do their intended jobs, their functionalities could be improved and the structure could be simplified.

The article then covers these alternatives:

  • HTTPie: Alternative to wget and curl
  • bat: Alternative to cat
  • ncdu: Alternative to du command
  • htop: Alternative to top command
  • fd: Alternative to the find command
  • exa: Alternative to ls command
  • duf: Alternative to the df command
  • tldr: Alternative to man command
  • neovim: Alternative to Vim

Again, these alternative commands should not be considered as a drop-in replacement, specially if you manage numerous Linux systems. You may not find and install them on all the systems. They are good only if you have full control on your Linux machine(s). Excellent comparison!

[Read More]

Your complete guide to SSL/TLS and HTTPS

Categories

Tags ssl how-to infosec linux cio

Between the ever-increasing global cybersecurity threats and Google’s tightening security standards, it’s more important than ever for business owners to take active measures to safeguard their sites. Otherwise, you’re putting both yourself and your customers at risk. Not good. By David Wahlstrom.

This post will explain what SSL/TLS and HTTPS are and discuss the importance of having these features on your website. Then, we’ll show you how to implement an SSL/TLS certificate. The article contains advice on:

  • An introduction to SSL/TLS and HTTPS
  • Here’s how HTTPS protects your website
  • Why an SSL/TLS certificate is important for your website
  • How to tell if your website is using SSL/TLS
  • Different types of SSL certificates
  • Where to Get an SSL/TLS certificate for your website
  • How to install an SSL/TLS Certificate on Your WordPress Website (2 Options)

… and much more. Keeping your website secure is an ever-present consideration, and it’s equally important to ensure that your users know they can trust you. By adding an SSL/TLS certificate to your site and forcing secure connections through HTTPS, you can protect yourself and your users, while making sure everybody knows your site is safe to use. Good read!

[Read More]

Write object-oriented TypeScript well

Categories

Tags oop how-to programming javascript app-development

TypeScript enables you to code using object-oriented principles and techniques, and Rider helps you write TypeScript more efficiently and easily. In this blog post, we’ll look at the object-oriented features provided by the TypeScript language, and how to use Rider to implement them. By Rachel Appel.

The article main sections:

  • Object-oriented TypeScript
  • Classes in TypeScript
  • Inheritance
  • Polymorphism
  • Encapsulation
  • Abstraction
  • Modifying object models

Whether a web application or something on the back-end, you likely need an object model that works with your business logic. TypeScript really excels when it comes to object-oriented programming with JavaScript. Good read!

[Read More]

DuckDuckGo vs. Google: An in-depth search engine comparison

Categories

Tags search how-to browsers big-data cio analytics

Which search engine is better at finding the information you want, fast? We compare the features of DuckDuckGo and Google. By Sam Hollingsworth.

Google has grown into the dominant search engine that searchers rely on in almost every instance (at least in the United States), and let’s be honest - it’s for good reason.

The quality and depth of the results Google produces is what we’ve come to expect from the search experience.

But competitors are always going to be vying for search market share. Some of these alternative search engines are worth using, especially those that don’t fit the mold that Google made.

The article then dives in comparing search features, pros and cons of each search engine.

A staple of its foundation, DuckDuckGo preaches its desire to not track any information of its users or their searches and prides itself on offering the most private search engine on the market.

DuckDuckGo only owned .22% of the total search market share in 2017, which is less than Ask, Yandex, Baidu, and all three “major players” in the United States (Google, Bing, and Yahoo). This means there is room for a lot of growth, but it needs to sustain its increasing popularity for years to come to gain significant market share. Interesting read.

[Read More]

Why I don't miss React: a story about using the platform

Categories

Tags web-development react app-development javascript browsers

My initial focus was to introduce Web Components as the new fundamental building block of all new DevTools features and UI. With the recently launched Recorder panel along with others, there are now large parts of DevTools that are almost exclusively web components. By Jack Franklin.

When I left my React focused role behind I expected to find the transition hard, and miss what React had to offer. I’ve ended up finding the transition easier than expected and have come to really relish working closer to the platform’s primitives and maintaining more control over the software I write and in this blog post I’d like to share why that is.

The article then deals with:

  • Using the platform
  • Maintaining control
  • Pick dependencies that can be easily replaced
  • The cost of third party dependencies

One area where custom elements are lacking is some form of HTML templating solution that provides efficient re-rendering of HTML. I’d definitely recommend using a library for this, and we settled on lit-html. Nice read!

[Read More]