commit d49b1684ffea9ac3f6eb3f6f77da7e32bafdb79b
parent 90e19f9fd452f90fd5c2dcfa8bb316e0ed4a0f67
Author: Michael Neuper <michael@michaelneuper.com>
Date: Tue, 31 Oct 2023 22:04:44 +0200
Move all headings up one level
Diffstat:
8 files changed, 89 insertions(+), 89 deletions(-)
diff --git a/content/post/buffer-overflow.md b/content/post/buffer-overflow.md
@@ -11,7 +11,7 @@ This can cause the buffer to overflow, or exceed its maximum capacity, which can
In this post we will explore more about how a buffer overflow attack works and how to prevent it.
-# Programming a Vulnerable Program
+## Programming a Vulnerable Program
Buffer overflows are a common security vulnerability in computer programs, especially those written in the C programming language.
In C, buffers are often used to store strings of characters, such as user input or file contents.
@@ -68,7 +68,7 @@ To use gdb to debug the vuln program, you can use the following steps:
7. When the program reaches the `strcpy()` function, you can see that the buffer overflows if the input string is longer than 8 characters.
-# Preventing Buffer Overflow Attacks
+## Preventing Buffer Overflow Attacks
To prevent buffer overflow attacks, it is important to carefully design and implement your code to avoid such vulnerabilities. Here are some best practices to follow:
diff --git a/content/post/enable-monitor-mode-on-tp-link.md b/content/post/enable-monitor-mode-on-tp-link.md
@@ -6,7 +6,7 @@ tags: ['Networking', 'Hardware']
draft: false
---
-# TP-Link TL-WN722N _v1 vs v2/v3_
+## TP-Link TL-WN722N _v1 vs v2/v3_
The TP-Link TL-WN722N is a wireless network interface controller (NIC) that allows a computer to connect to a wireless network.
There are three versions of this NIC: v1, v2, and v3. While all three versions are similar in many ways, there are some notable differences between them.
@@ -17,9 +17,9 @@ One of the main differences between the TP-Link TL-WN722N v1 and v2/v3 is the ch
The Atheros chip supports monitor mode and packet injection out of the box, but the Realtek chip requires changing the drivers.
-# Enabling Monitor Mode
+## Enabling Monitor Mode
-## v1
+### v1
Run the following command:
``` shell
@@ -31,9 +31,9 @@ That's it, you should see that your card is in monitor mode when running the fol
sudo iwconfig | grep "Mode"
```
-## v2/v3
+### v2/v3
-### Upgrade your system
+#### Upgrade your system
On Debian-based systems (like Kali):
``` shell
@@ -50,7 +50,7 @@ Then reboot:
sudo reboot
```
-### Install headers
+#### Install headers
Debian-based:
``` shell
@@ -62,7 +62,7 @@ Arch-based:
sudo pacman -S install linux-headers-$(uname -r)
```
-### Change the kernel module
+#### Change the kernel module
Remove the previous driver module:
``` shell
@@ -100,7 +100,7 @@ Reboot:
sudo reboot
```
-### Enable monitor mode
+#### Enable monitor mode
Kill all airmon-ng processes:
``` shell
diff --git a/content/post/how-to-create-your-own-website.md b/content/post/how-to-create-your-own-website.md
@@ -9,7 +9,7 @@ draft: false
Setting up your own static website can be a great way to showcase your personal brand, portfolio, or business online.
In this post, we'll walk through the process of setting up a static website using Hugo as the static site generator and Netlify as the hosting service.
-# Building The Site
+## Building The Site
First, let's talk about what a static website is and why it's a good choice for many people.
A static website is a website that is built using only HTML, CSS, and JavaScript files.
@@ -53,7 +53,7 @@ To get started with Hugo, you'll need to download and install Hugo on your compu
```
Hugo will build a local version of your site that you can view by going to `http://localhost:1313/` inside your browser. Hugo will also automatically show any changes you make to the site, no need to rerun the command or refresh the page.
-# Hosting Your Site
+## Hosting Your Site
Hosting a static website refers to the process of making a website accessible to the internet by storing its files on a web server.
A static website is one that contains static content, meaning that the content does not change unless manually updated by the website owner.
@@ -77,16 +77,16 @@ To host a Hugo site on Netlify, you need to follow these steps:
2. On you local machine, navigate to the root directory of you Hugo site and run the following commands to create a new repository and push it to GitHub:
``` shell
- # Add all files in the Hugo site to the Git repository
+ ## Add all files in the Hugo site to the Git repository
$ git add .
- # Commit the changes to the repository
+ ## Commit the changes to the repository
$ git commit -m "Initial commit of Hugo site"
- # Add the GitHub repository as a remote to your local Git repository
+ ## Add the GitHub repository as a remote to your local Git repository
$ git remote add origin <GitHub repository URL>
- # Push the Hugo site to the GitHub repository
+ ## Push the Hugo site to the GitHub repository
$ git push -u origin master
```
@@ -100,7 +100,7 @@ To host a Hugo site on Netlify, you need to follow these steps:
That's it! Your Hugo site is now hosted on Netlify and available to the world.
-# Getting a Custom Domain (Not Free)
+## Getting a Custom Domain (Not Free)
Setting up a custom domain for your website involves purchasing a domain name and configuring it to point to your website's files on the web server.
A domain name is the unique address that users can type in their web browser to access your website, such as www.google.com.
diff --git a/content/post/read-more.md b/content/post/read-more.md
@@ -11,7 +11,7 @@ However, reading provides numerous benefits, such as boosting mental stimulation
If you've been struggling to incorporate more reading into your life, don't worry – you're not alone.
In this blog post, we'll explore some easy and effective strategies to help you read more and enjoy the process.
-# Set Small, Achievable Goals
+## Set Small, Achievable Goals
When setting reading goals, it's crucial to avoid overwhelming yourself with unrealistic expectations.
Large goals, like reading for 30 minutes every day, can be challenging to maintain consistently.
@@ -19,7 +19,7 @@ Once we fail to meet such a goal, it can quickly spiral into a habit of not read
To counteract this, establish micro-goals that are almost impossible to miss, such as reading just one page a day.
This achievable target ensures you never fall into the habit of skipping your daily reading, and more often than not, you'll find yourself exceeding the goal and reading even more. By focusing on micro-goals, you build a sustainable reading habit that becomes second nature.
-# Focus on the Chapters That Intrigue You
+## Focus on the Chapters That Intrigue You
This tip is particularly relevant for non-fiction books, such as popular science titles, but can apply to other genres as well.
When diving into a book, you may find that only certain chapters capture your interest.
@@ -30,7 +30,7 @@ And yes, even if you haven't read every chapter, you can still claim that you've
After all, reading is a personal journey, and there's no rule stating that you must consume every word from cover to cover.
Embrace a tailored reading experience that caters to your interests and curiosity.
-# Embrace the Art of Moving On
+## Embrace the Art of Moving On
It's common to feel obliged to finish a book, especially if we've invested money in purchasing it.
This sense of obligation can sometimes lead us to stop reading altogether when we're struggling with an uninteresting book.
@@ -41,7 +41,7 @@ Remember, reading is meant to be a pleasurable experience that enriches our live
By letting go of books that don't engage you, you create space for discovering new, captivating stories that reignite your passion for reading.
Don't let the sunk cost fallacy dictate your reading habits – embrace the freedom to explore new literary worlds without guilt.
-# Read Multiple Books at Once
+## Read Multiple Books at Once
Our mood and energy levels can significantly influence our reading preferences.
Sometimes, we might be in the midst of a complex book, such as Kant's Critique of Pure Reason, which requires substantial thought and concentration.
diff --git a/content/post/replace-jupyter-notebook-with-emacs-org-mode.md b/content/post/replace-jupyter-notebook-with-emacs-org-mode.md
@@ -6,19 +6,19 @@ tags: ['Emacs', 'Programming']
draft: false
---
-# Introduction
+## Introduction
The popularity of Jupyter Notebook has surged in recent years as a powerful tool for interactive data analysis and visualization.
However, there is an alternative that has been around for a longer time and is proving to be a valuable resource for many programmers: Emacs Org Mode.
In this blog post, we will explore how you can replace Jupyter Notebook with Emacs Org Mode for a seamless and efficient literate programming experience.
-# What is Emacs Org Mode?
+## What is Emacs Org Mode?
Emacs Org Mode is an extension of the versatile Emacs text editor, offering a powerful platform for note-taking, project management, and literate programming.
Literate programming is an approach in which code and documentation are intertwined, allowing you to create executable documents that can be easily understood by others.
Org Mode excels at this by providing a simple and intuitive markup language that supports rich text formatting, embedded code, and exporting to various formats, such as HTML, PDF, and more.
-# Why Replace Jupyter Notebook with Emacs Org Mode?
+## Why Replace Jupyter Notebook with Emacs Org Mode?
- Unified Environment: Emacs provides a unified environment for all your programming and text editing needs. With Org Mode, you can manage code, documentation, and project planning all within a single tool. This eliminates the need to switch between multiple applications, streamlining your workflow.
@@ -28,9 +28,9 @@ Org Mode excels at this by providing a simple and intuitive markup language that
- Customization: Emacs and Org Mode can be tailored to suit your needs, from key bindings and appearance to functionality. This flexibility allows you to create a personalized environment that aligns with your preferences and workflow.
-# Getting Started with Emacs Org Mode for Literate Programming
+## Getting Started with Emacs Org Mode for Literate Programming
-## Installing Emacs
+### Installing Emacs
1. Choose your platform:
- Linux: Use your distribution's package manager to install Emacs (e.g., `sudo apt-get install emacs` for Ubuntu)
@@ -39,7 +39,7 @@ Org Mode excels at this by providing a simple and intuitive markup language that
2. Launch Emacs and familiarize yourself with the interface.
-## Configuring Org Mode
+### Configuring Org Mode
1. Ensure Org Mode is installed and up-to-date by checking your Emacs package list (`M-x list-packages`) or manually updating it.
@@ -50,7 +50,7 @@ Org Mode excels at this by providing a simple and intuitive markup language that
(setq org-confirm-babel-evaluate nil)
```
-## Installing essential packages for data science
+### Installing essential packages for data science
Install the following packages using the built-in Emacs package manager (`M-x list-packages`):
- `org-babel`: For code block execution and literate programming
@@ -59,7 +59,7 @@ Install the following packages using the built-in Emacs package manager (`M-x li
Configure the installed packages by adding appropriate settings to your Emacs init file.
-## Setting up a Python environment in Emacs
+### Setting up a Python environment in Emacs
1. Ensure Python is installed on your system and available in your PATH.
@@ -74,7 +74,7 @@ Configure the installed packages by adding appropriate settings to your Emacs in
python-shell-interpreter-args "-i --simple-prompt")
```
-## Creating and organizing Org files for literate programming
+### Creating and organizing Org files for literate programming
1. Create a new Org file with the extension `.org` (e.g., `my_project.org`).
@@ -100,9 +100,9 @@ print("Hello, Emacs Org Mode!")
- Execute code blocks using `C-c C-c` and display the results directly in your Org file.
- Export your Org file to various formats (e.g., HTML, PDF) for sharing and publishing.
-# Advanced Features of Emacs Org Mode for Data Science
+## Advanced Features of Emacs Org Mode for Data Science
-## Working with multiple languages in a single Org file
+### Working with multiple languages in a single Org file
Org Mode's support for various programming languages allows you to work with multiple languages in a single document.
@@ -118,7 +118,7 @@ Configure additional languages in your Emacs init file by adding the appropriate
))
```
-## Integrating with external tools and libraries
+### Integrating with external tools and libraries
Use Org Mode's `#+CALL` syntax to integrate external tools or libraries into your Org document.
@@ -133,7 +133,7 @@ pandoc $input -o $output
#+CALL: pandoc(input="my_markdown_file.md", output="my_converted_file.pdf")
```
-## Debugging and profiling code within Org Mode
+### Debugging and profiling code within Org Mode
Leverage the debugging and profiling capabilities of your programming language within Org Mode.
@@ -151,7 +151,7 @@ my_function(3, 5)
#+END_SRC
```
-## Customizing code block execution and display options
+### Customizing code block execution and display options
Customize code block execution with header arguments.
@@ -169,7 +169,7 @@ plt.savefig('output.png')
#+END_SRC
```
-## Utilizing Org Mode for project management and collaboration
+### Utilizing Org Mode for project management and collaboration
- Take advantage of Org Mode's task management and agenda features to manage data science projects.
- Create TODO items, set deadlines, and track progress using Org Mode.
@@ -185,9 +185,9 @@ plt.savefig('output.png')
CLOSED: [2023-03-25]
```
-# Tips and Tricks for Optimizing Your Emacs Org Mode Workflow
+## Tips and Tricks for Optimizing Your Emacs Org Mode Workflow
-## Keyboard shortcuts for Org Mode
+### Keyboard shortcuts for Org Mode
Learn and utilize Org Mode's keyboard shortcuts to improve your productivity:
- `C-c C-t`: Toggle TODO states
@@ -199,7 +199,7 @@ Learn and utilize Org Mode's keyboard shortcuts to improve your productivity:
Customize your own keyboard shortcuts in your Emacs init file, if needed.
-## Customizing your Emacs theme
+### Customizing your Emacs theme
Choose from various built-in and community-provided Emacs themes to personalize your workspace.
@@ -210,7 +210,7 @@ Install a new theme using the Emacs package manager (`M-x list-packages`), and a
```
Adjust the appearance of Org Mode elements (e.g., headings, links, and code blocks) by customizing their faces.
-## Integrating with other Emacs packages for productivity
+### Integrating with other Emacs packages for productivity
Enhance your Org Mode experience by integrating it with other Emacs packages:
- `org-ref`: Manage citations and references within Org documents
@@ -220,7 +220,7 @@ Enhance your Org Mode experience by integrating it with other Emacs packages:
Install and configure these packages according to their respective documentation.
-## Using Org Mode for note-taking and knowledge management
+### Using Org Mode for note-taking and knowledge management
Use Org Mode as a powerful note-taking tool to complement your data science projects.
@@ -242,9 +242,9 @@ Example: Organizing notes in Org Mode:
- K-means Clustering
- Hierarchical Clustering
```
-# Transitioning from Jupyter Notebook to Emacs Org Mode
+## Transitioning from Jupyter Notebook to Emacs Org Mode
-## Importing existing Jupyter Notebooks into Org Mode
+### Importing existing Jupyter Notebooks into Org Mode
Use jupytext to convert Jupyter Notebooks to Org Mode files:
- Install jupytext with the command: `pip install jupytext`
@@ -254,7 +254,7 @@ Use jupytext to convert Jupyter Notebooks to Org Mode files:
```
-Review the converted Org Mode file to ensure proper formatting and correct any issues.
-## Exporting Org files to Jupyter Notebook format
+### Exporting Org files to Jupyter Notebook format
- Use jupytext to convert Org Mode files back to Jupyter Notebooks, if needed:
- Convert your Org Mode file (`.org`) to a Jupyter Notebook (`.ipynb`) using the following command:
@@ -263,31 +263,31 @@ Use jupytext to convert Jupyter Notebooks to Org Mode files:
```
- Open the converted Jupyter Notebook with your preferred Jupyter environment (e.g., JupyterLab, Jupyter Notebook) and verify its contents.
-## Overcoming common challenges during the transition
+### Overcoming common challenges during the transition
- Familiarize yourself with Emacs key bindings and commands, which may differ significantly from traditional text editors.
- Take the time to explore and customize your Emacs settings to create a comfortable and productive workspace.
- Seek help from the Emacs and Org Mode communities through online forums, mailing lists, and chat rooms. Many users are happy to share their experiences and offer support.
-# Conclusion
+## Conclusion
-## Recap of the benefits of using Emacs Org Mode for data science
+### Recap of the benefits of using Emacs Org Mode for data science
- Emacs Org Mode offers a powerful, flexible, and customizable environment for data science tasks, addressing many limitations of Jupyter Notebook.
- Org Mode's support for literate programming enables seamless integration of code, results, and documentation, promoting reproducible research and collaboration.
- The extensible nature of Emacs allows users to tailor their workflow to their specific needs, integrating various programming languages, tools, and productivity-enhancing packages.
-## Emphasizing the flexibility and customizability of Emacs Org Mode
+### Emphasizing the flexibility and customizability of Emacs Org Mode
- One of the most significant advantages of Emacs Org Mode is its customizability, allowing users to create a personalized workspace that suits their needs and preferences.
- Users can choose from a wide variety of packages, themes, and settings to create an environment that enhances their productivity and enjoyment of the data science process.
-## Encouragement for readers to give Emacs Org Mode a try
+### Encouragement for readers to give Emacs Org Mode a try
- If you're intrigued by the benefits of Emacs Org Mode for data science, consider giving it a try and experiencing its capabilities firsthand.
- Transitioning from Jupyter Notebook to Emacs Org Mode may require some initial effort, but the long-term gains in productivity and flexibility can be well worth the investment.
-## Invitation to join the Emacs Org Mode community and share experiences
+### Invitation to join the Emacs Org Mode community and share experiences
- As you embark on your journey with Emacs Org Mode, don't hesitate to reach out to the vibrant community of users and developers for help, support, and inspiration.
- Share your experiences, tips, and tricks with others, contributing to the collective knowledge and strengthening the community of Emacs Org Mode enthusiasts in the data science world.
diff --git a/content/post/stop-using-proprietary-software.md b/content/post/stop-using-proprietary-software.md
@@ -6,37 +6,37 @@ tags: ['Open-source', 'Software']
draft: false
---
-# Introduction
+## Introduction
Have you ever found yourself frustrated by the limitations, restrictions, and lack of control you have when using proprietary software?
Welcome to the club.
So, let's dive into the many reasons why proprietary software is terrible and why we, as users and developers, should put our collective foot down and demand change.
-# The Greed of Corporations
+## The Greed of Corporations
Proprietary software is the epitome of corporate greed, the embodiment of a money-hungry system that thrives on the limitations and frustrations it imposes upon users.
It's time to unshackle ourselves from the chains of expensive licensing fees, forced upgrades, and the never-ending cycle of subscription-based models that drain our wallets and limit our freedom to innovate.
-# Lack of Customization and Flexibility
+## Lack of Customization and Flexibility
How many times have you used a piece of software and thought, "If only I could change this one feature or tweak this setting, it would be perfect?" Well, with proprietary software, that's just a pipe dream.
The rigidity of proprietary software stifles creativity and innovation, leaving you stuck with whatever features the software company deems necessary or, more likely, profitable.
Open-source software, on the other hand, empowers users and developers to modify, improve, and adapt the software to meet their unique needs.
-# The Inevitable Obsolescence
+## The Inevitable Obsolescence
Ever had a software program you loved, only to have it rendered useless when the company decided to discontinue support or force an unwanted upgrade?
It's frustrating, to say the least.
With proprietary software, you're completely at the mercy of the company's whims and decisions.
Open-source software, however, offers longevity and security, as it can be maintained and updated by a dedicated community of developers, even if the original creator moves on.
-# A Breeding Ground for Security Risks
+## A Breeding Ground for Security Risks
When it comes to proprietary software, you're essentially putting blind trust in the company to keep your data safe and protect you from security threats.
But we've all heard the horror stories of data breaches and hackers exploiting vulnerabilities in widely-used software.
Open-source software provides a level of transparency and peer review that can help identify and fix security issues faster and more efficiently.
-# Stifling Collaboration and Knowledge Sharing
+## Stifling Collaboration and Knowledge Sharing
Proprietary software creates a culture of secrecy and competition, where companies guard their trade secrets and intellectual property like a dragon hoarding gold.
This prevents the sharing of knowledge and ideas that could lead to better software and technology for everyone.
diff --git a/content/post/turning-a-window-manager-into-a-desktop-environment.md b/content/post/turning-a-window-manager-into-a-desktop-environment.md
@@ -8,7 +8,7 @@ draft: false
<!-- TODO add notification daemon-->
-# Introduction
+## Introduction
If you're a Linux user, you're probably familiar with the concept of window managers and desktop environments.
These programs are responsible for managing the appearance and functionality of your desktop, providing the tools and features that you need to interact with your operating system.
@@ -22,14 +22,14 @@ We'll also discuss the benefits and drawbacks of using a window manager as a des
So let's dive in and learn more about the fascinating world of window managers and desktop environments!
-# Turning a window manager into a desktop environment
+## Turning a window manager into a desktop environment
If you want to turn a window manager into a desktop environment, the first thing you need to do is install the necessary components.
This typically includes the window manager itself, a display manager, and additional utilities and applications.
Let's explore some of these components:
-## Window Manager
+### Window Manager
A window manager is a program that manages the placement and appearance of windows on a computer's desktop.
It is responsible for providing the "frame" around each window, allowing the user to move, resize, and minimize windows.
@@ -61,7 +61,7 @@ Some of the pros and cons of using different window managers are as follows:
- **xmonad**: xmonad is a tiling window manager that is written in the Haskell programming language. It is highly configurable and customizable, and it provides a number of advanced features, such as support for multiple workspaces and automatic tiling. Some of the pros of using xmonad are its advanced tiling capabilities, its support for multiple workspaces, and its high level of configurability. Some of the cons are its steep learning curve, its lack of a built-in panel or application launcher, and its reliance on external utilities for certain features.
-## Display Manager
+### Display Manager
A display manager is a program that manages the login and display of the desktop environment on a computer.
It is responsible for providing the login screen, allowing the user to enter their username and password, and then starting the desktop environment and managing its display.
@@ -75,7 +75,7 @@ When you install a desktop environment on your computer, it typically includes a
However, you can also choose to install and use a different display manager if you prefer.
For example, if you are using the Xfce desktop environment, you could choose to use LightDM instead of the default XDM display manager.
-## Compositor
+### Compositor
A compositor is a program that is responsible for combining the outputs of multiple applications and displaying them on the screen.
It is typically used to provide advanced graphical effects, such as transparency, animations, and 3D transformations.
@@ -95,9 +95,9 @@ To choose a compositor, you can consider the following factors:
3. **Compatibility**: Some compositors are compatible with only certain window managers or desktop environments. If you are using a specific window manager or desktop environment, make sure the compositor you choose is compatible with it.
-## Additional Utilities
+### Additional Utilities
-### Wallpaper Setter
+#### Wallpaper Setter
You can use a program such as nitrogen or feh to set your wallpaper.
Nitrogen and feh are two popular programs that allow you to browse and select an image to use as your wallpaper, and then set it as the background for your desktop.
@@ -124,7 +124,7 @@ If you're using nitrogen add:
feh --bg-scale /path/to/image.jpg
```
-### Bar
+#### Bar
A bar on Linux is a program that displays information on the desktop, such as the current time and date, the system load, and the status of various system services.
A bar is typically used in conjunction with a window manager or desktop environment, and it provides a convenient way to access important information without needing to open a separate application.
@@ -147,7 +147,7 @@ To choose a bar, you can consider the following factors:
3. **Customization**: Some bars are highly customizable, allowing you to change the appearance and behaviour of the bar to suit your preferences. If you want a bar that you can tailor to your specific needs, choose a bar that provides a high degree of customization. Polybar is a popular choice.
-### Application Launcher
+#### Application Launcher
An application launcher is a program that allows you to quickly search for and launch applications on your Linux system.
An application launcher typically provides a search bar or a menu that allows you to enter the name of the application you want to launch, and it displays a list of matching applications that you can select from.
@@ -160,7 +160,7 @@ Some popular application launchers include rofi, dmenu, and albert.
4. **Albert** is a fast and efficient application launcher that uses a customizable keyboard shortcut to launch applications and perform other actions.
-### System Tray
+#### System Tray
A system tray (also known as a notification area) is a part of the graphical user interface (GUI) on Linux (and other operating systems) that displays icons for system and application notifications.
The system tray is typically located at the bottom or side of the screen, and it provides a convenient way for applications to display important information and notifications without disrupting the user's work.
@@ -168,7 +168,7 @@ The system tray is typically located at the bottom or side of the screen, and it
For example, the system tray might display an icon for a network manager application, which shows the current network status and allows the user to manage their network connections.
It might also display an icon for a battery manager application, which shows the current battery level and allows the user to manage their power settings.
-### Polkit
+#### Polkit
Polkit (formerly known as PolicyKit) is a framework for defining and managing administrative policies on Linux.
It provides a mechanism for controlling access to system-wide privileges, and it allows users to perform privileged tasks without needing to log in as the root user.
@@ -180,7 +180,7 @@ The libpolkit library provides a convenient interface for developers to integrat
See [the arch wiki](https://wiki.archlinux.org/title/Polkit) for more information.
-# Customizing your window manager
+## Customizing your window manager
Most window managers on Linux allow for customization to some extent.
Customizing your window manager can allow you to tailor the appearance and behaviour of your desktop environment to suit your preferences and needs.
@@ -202,7 +202,7 @@ To customize your window manager, you will need to edit the appropriate configur
The exact steps for doing this will depend on the specific window manager you are using.
You can find instructions for customizing your window manager in the documentation or online forums for your window manager.
-# Benefits and drawbacks
+## Benefits and drawbacks
There are both benefits and drawbacks to using a window manager instead of a full desktop environment on Linux.
diff --git a/content/post/what-linux-packaging-format-to-use.md b/content/post/what-linux-packaging-format-to-use.md
@@ -6,115 +6,115 @@ tags: ['Linux', 'Package-management']
draft: false
---
-# Introduction
+## Introduction
Linux, a widely popular open-source operating system, is known for its versatility and adaptability.
The software distribution in Linux is primarily done through packages, which are used to install, update, and remove applications.
There are several package formats available, and choosing the right one can be confusing for newcomers or even experienced users.
In this blog post, we will discuss the key differences between popular package formats such as Flatpak, Snap, Deb, RPM, AppImage, and AUR, and provide insights to help you choose the best format for your needs.
-# Flatpak
+## Flatpak
Flatpak is a relatively new package format.
It aims to create a universal packaging system for all Linux distributions, providing a sandboxed environment for applications.
This isolation ensures that apps have limited access to system resources, enhancing security and stability.
-## Pros:
+### Pros:
- Distribution-agnostic packaging system
- Improved security through sandboxing
- Easy to update and manage applications
-## Cons:
+### Cons:
- Increased disk space usage due to bundling of dependencies
- Slower application startup times
-# Snap
+## Snap
Snap is a package format developed by Canonical, the company behind Ubuntu.
Similar to Flatpak, it focuses on providing a universal packaging system that works across multiple distributions.
Snaps are self-contained and sandboxed, which improves security and stability.
-## Pros:
+### Pros:
- Works across various Linux distributions
- Enhanced security with sandboxing
- Automatic updates
-## Cons:
+### Cons:
- Limited support for themes and desktop integration
- Increased disk space usage due to bundled dependencies
-# Deb
+## Deb
Deb is the native package format for Debian-based distributions, such as Ubuntu and Linux Mint.
It uses the Advanced Package Tool (APT) for package management, making it easy to install, update, and remove applications.
Deb packages have been the standard for Debian-based systems for many years.
-## Pros:
+### Pros:
- Well-established and widely supported
- Efficient dependency handling
- Large repository of available packages
-## Cons:
+### Cons:
- Limited to Debian-based distributions
- No sandboxing or containerization
-# RPM
+## RPM
RPM (RPM Package Manager) is a package format used by Red Hat-based distributions, such as Fedora and CentOS.
RPM packages are managed by various package management tools like DNF and YUM.
-## Pros:
+### Pros:
- Extensive support for Red Hat-based distributions
- Good dependency management
- Large repository of available packages
-## Cons:
+### Cons:
- Limited to Red Hat-based distributions
- No sandboxing or containerization
-# AppImage
+## AppImage
AppImage is a portable package format that allows users to run applications without installing them.
It is distribution-agnostic and works across various Linux distributions.
AppImages are self-contained, bundling all required dependencies, which can lead to increased disk space usage.
-## Pros:
+### Pros:
- Distribution-agnostic
- Portable and easy to use
- No installation required
-## Cons:
+### Cons:
- Increased disk space usage
- No centralized update mechanism
-# AUR (Arch User Repository)
+## AUR (Arch User Repository)
AUR is a community-driven repository for Arch Linux and its derivatives, such as Manjaro.
It contains a vast collection of packages that are not available in the official repositories.
Users can build and install packages directly from the AUR using helper tools like yay or paru.
-## Pros:
+### Pros:
- Large collection of packages
- Community-driven and maintained
- Easy to use with helper tools
-## Cons:
+### Cons:
- Limited to Arch-based distributions
- Packages may have varying quality and stability
-# Conclusion
+## Conclusion
Selecting the right package format depends on various factors, such as your distribution, security requirements, and personal preferences.
If you prioritize universal compatibility and sandboxing, Flatpak and Snap are great options.