Open in app

Sign In

Write

Sign In

adil
adil

220 Followers

Home

About

Oct 17, 2022

How to Invoke Non-reentrant Functions with Linux Signals?

A function is referred to as reentrant if it can be safely (and without side effects) invoked in the middle of its execution. Some single-threaded applications can work with non-reentrant functions. Because most applications don’t handle signals or have recursive, callback functions at all. …

Linux

3 min read

How to Invoke Non-reentrant Functions with Linux Signals?
How to Invoke Non-reentrant Functions with Linux Signals?
Linux

3 min read


Aug 14, 2022

Ext4 file system: Delayed allocation, dirty data blocks

Part 1 — Ext4 filesystem: data blocks, super blocks, inode structure Part 2 — Ext4 filesystem: extent, flex_bg, sparse_super Delayed Allocation The delayed allocation feature is enabled by default. That’s why the data may not be committed to the disk immediately when you try to write or modify a data block. I…

Linux

4 min read

Ext4 file system: Delayed allocation, dirty data blocks
Ext4 file system: Delayed allocation, dirty data blocks
Linux

4 min read


Aug 14, 2022

Ext4 filesystem: extent, flex_bg, sparse_super

Part 1 — Ext4 filesystem: data blocks, super blocks, inode structure Part 3 — Ext4 file system: Delayed allocation, dirty data blocks You can examine your filesystem with dumpe2fs:

Linux

4 min read

Ext4 filesystem: extent, flex_bg, sparse_super
Ext4 filesystem: extent, flex_bg, sparse_super
Linux

4 min read


Aug 14, 2022

Ext4 filesystem: data blocks, super blocks, inode structure

Part 2 — Ext4 filesystem: extent, flex_bg, sparse_super Part 3 — Ext4 file system: Delayed allocation, dirty data blocks ext4 was proposed to be added to Linux Kernel on 2006. It was added to Linux Kernel in 2008. Since then ext4 has become the default file system of many Linux…

Linux

7 min read

Ext4 filesystem: data blocks, super blocks, inode structure
Ext4 filesystem: data blocks, super blocks, inode structure
Linux

7 min read


Jul 17, 2022

What is TCP Self-Connect Issue?

TCP self-connect issue occurs when `src_ip:src_port == dst_ip:dst_port` You can try to access a local port to reproduce the self-connect issue. The application will likely connect to itself. This is my local port range: root@main:~# sysctl net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 32768 60999 I randomly picked an even port number (why even…

Linux

3 min read

What is TCP Self-Connect Issue?
What is TCP Self-Connect Issue?
Linux

3 min read


Jul 12, 2022

Why Do You Need the TCP Window Size?

You most probably know that TCP is reliable, and UDP is an unreliable protocol. Because TCP is a stream-oriented protocol. When a sender transmits some data to a receiver, the receiver will need to send an “acknowledge” to the sender. …

Linux

5 min read

Why Do You Need the TCP Window Size?
Why Do You Need the TCP Window Size?
Linux

5 min read


Feb 15, 2022

Why Run Containers in the Cloud with gVisor? (Docker/Kubernetes)

Google developed gVisor in 2018 and has been using it on Google Cloud for several years. gVisor is an application kernel that provides a secure environment for containers. Because it is OCI compatible, gVisor integrates with Kubernetes clusters and Docker containers. gVisor is a second layer that handles some syscalls…

Docker

3 min read

Why Run Containers in the Cloud with gVisor? (Docker/Kubernetes)
Why Run Containers in the Cloud with gVisor? (Docker/Kubernetes)
Docker

3 min read


Dec 18, 2021

Unit Tests Return MagicMock Object Instead of return_value. How to Fix This?

When you need to create a mock object in Python, MagicMock comes in handy. However, there is a common issue that most people run into: Python returns MagicMock object instead of return_value Suppose your method calls another method, which in turn calls another method. MagicMock can be useful for such…

Python

2 min read

Unit Tests Return MagicMock Object Instead of return_value. How to Fix This?
Unit Tests Return MagicMock Object Instead of return_value. How to Fix This?
Python

2 min read


Dec 11, 2021

A Dangerous Game in PostgreSQL: Unlogged Table

There is a tricky feature in PostgreSQL: Unlogged Table I’ll quote the description of the Unlogged Table from PostgreSQL.org: Data written to unlogged tables is not written to the write-ahead log, which makes them considerably faster than ordinary tables. However, they are not crash-safe: an unlogged table is automatically truncated…

Postgresql

2 min read

A Dangerous Game in PostgreSQL: Unlogged Table
A Dangerous Game in PostgreSQL: Unlogged Table
Postgresql

2 min read


Dec 8, 2021

Terminology Confusion: Horizontal/Vertical Partitioning, Scaling, Sharding

If you are working on a large database and you want to improve the performance, then you will run into too many keywords. Let me type those keywords: Horizontal Scaling Vertical Scaling Horizontal Partitioning Vertical Partitioning Sharding I want to explain these keywords in simple sentences. Horizontal Scaling Adding new servers to…

Database

3 min read

Terminology Confusion: Horizontal/Vertical Partitioning, Scaling, Sharding
Terminology Confusion: Horizontal/Vertical Partitioning, Scaling, Sharding
Database

3 min read

adil

adil

220 Followers

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech