×
Home Discussions Write at Opengenus IQ
×
  • DSA Cheatsheet
  • HOME
  • Track your progress
  • Deep Learning (FREE)
  • Join our Internship 🎓
  • RANDOM
  • One Liner

Erick Lumunge

Erick is a passionate programmer with a computer science background who loves to learn about and use code to impact lives positively.

Nairobi •
241 posts •
Linux

wget command in Linux

wget is a Linux command line utility useful for retrieval and downloading of files from the internet. It uses protocols such as FTP, HTTP and HTTPS for such tasks. In this article we have discussed commonly used wget commands and options.

Erick Lumunge
Linux

lstopo command in Linux

This command is used to show the topology of the system. It gives information about the NUMA memory nodes, shared caches, CPU packages, processor cores and threads all this by a single command. In this article we discuss its output and various useful commands using lstopo.

Erick Lumunge
Linux

scp command in Linux

scp is useful for, copying files from a local system to a remote system and vice versa or copying files between two remote systems. It works same as cp command but over networks and uses ssh for encryption and security.

Erick Lumunge
Linux

chown command in Linux

The chown (change owner) command is used to change the ownership of a file or directory. In this article we discuss commonly used chown commands for file management.

Erick Lumunge
Linux

touch command in Linux

The touch command is used to modify a file's timestamp, this is its primary function even though it can also be used to create files. In this article we discuss both uses of the touch command and commonly used commands.

Erick Lumunge
Linux

history command in Linux

The history command is used to view previously executed commands in the Linux terminal. In this article we discuss the commonly used history commands.

Erick Lumunge
Linux

echo command in Linux

echo is a Linux command line utility used for printing out text or string passed as arguments to it. In this article we discuss its features, options and common use cases.

Erick Lumunge
Linux

htop command in Linux

htop is a Linux application used for real-time process monitoring. Unlike top command, it comes with many features which makes process management easier and effective. In this article we discuss htop commands, options, shortcuts.

Erick Lumunge
Compiler Design

Decompilation

Decompilation is the process of converting executable machine code into human readable code. In this article we discuss the steps involved in the decompilation process.

Erick Lumunge
Compiler Design

Disassembly

Disassembly involves recreating assembly code from binary machine code. In this article we discuss concepts surrounding disassembly and a basic algorithm used for disassembly.

Erick Lumunge
Compiler Design

Assembler, Linker and Loader

An assembler is responsible for converting source code into target code. In this article we discuss the tasks of an assembler, linker and loader. We also discuss the design issues faced by both assemblers and linkers.

Erick Lumunge
Compiler Design

Three address code

Three address code is generated by a compiler for code optimization, it uses a maximum of three addresses to represent any statement. In this article we discuss it.

Erick Lumunge
Linux

Linux threads: Creation, Data passing, Waiting

A thread is the basic unit of processor utilization that consists of a program counter, stack and registers. In this article we discuss how they are created, how data is passed between thread, waiting in threads, return values and attributes.

Erick Lumunge
Linux

Linux threads: cancellation, data and cleanup

A thread is the basic unit of processor utilization that consists of a program counter, stack and registers. In this article we discuss how they are cancelled, how data is handled within threads and cleaning up to prevent memory leaks.

Erick Lumunge
Compiler Design

Compiler Architecture

Compiler architecture differs based on the granularity of data passing through the compiler and the flow of control between compiler modules. In this article we discuss these two factors, properties of good compiler, portability and retargetability.

Erick Lumunge
Compiler Design

Interpreters (Recursive & Iterative) in Compiler Design

Intermediate code can either be directly executed by an interpreter which involves little preprocessing or by a compiler which requires a lot of preprocessing followed by code generation. In this article we discuss interpretation and the types of interpreters.

Erick Lumunge
Linux

Linux processes: signals, termination, zombies, cleanup

A process is a running instance of a program, it starts when a command is executed. In this article we discuss signals, process termination, wait system calls, zombies and their cleanup.

Erick Lumunge
Linux

Linux processes: listing, creation, scheduling

A process is a running instance of a program, it starts when a command is executed. In this article we discuss various process manipulation functions and their implementation in the Linux system.

Erick Lumunge
Linux

Partitioning in Linux

Partitioning a disk is the first step before installing a file system since creation of any files or directories is done in a file system. In this article we discuss partitioning and demonstrate how to partition a drive using parted utility.

Erick Lumunge
Linux

Linux piping and redirection

In this article we discuss piping and redirection whereby we can alter the flow of input or output streams. This technique enables a user to create custom commands by combining multiple smaller commands.

Erick Lumunge
Linux

Linux user management

Linux is a multiuser operating system and thus can support several users working on a given system concurrently. User management entails adding, modification(editing, suspension) and removal of user accounts along with their permissions.

Erick Lumunge
Linux

Linux process management commands: top, ps, kill, jobs, fg, bg

A process is a program in execution, it is created by any command executed by a user, In this article we discuss types of processes and the common commands used for process management.

Erick Lumunge
Linux

Mounting and unmounting in Linux

Mounting is simply making a file system accessible in a computer system. In this article we discuss mounting and unmounting in the Linux operating System.

Erick Lumunge
Linux

Linux memory management: An overview

Since the beginning of computing there has existed a need for more memory, today it is solved by various strategies virtual memory is the most successful, it makes the system appear to have more than it actually has. In this article we go over other memory management strategies in the Linux system.

Erick Lumunge
Linux

Linux file hierarchy

The Linux OS has a hierarchical file structure defined by the FHS. In this article we go over the file hierarchy exploring responsibilities of various directories and the part they play to make the whole OS work.

Erick Lumunge
OpenGenus IQ © 2025 All rights reserved â„¢
Contact - Email: team@opengenus.org
Primary Address: JR Shinjuku Miraina Tower, Tokyo, Shinjuku 160-0022, JP
Office #2: Commercial Complex D4, Delhi, Delhi 110017, IN
Top Posts LinkedIn Twitter
Android App
Apply for Internship