mirror of
https://github.com/TrudeEH/web.git
synced 2025-12-06 08:23:37 +00:00
Lint all files
This commit is contained in:
@@ -16,7 +16,7 @@ cover:
|
|||||||
hidden: true # only hide on current single page
|
hidden: true # only hide on current single page
|
||||||
---
|
---
|
||||||
|
|
||||||
## What are dotfiles and why should I care?
|
## What Are Dotfiles and why Should I Care?
|
||||||
|
|
||||||
After using your system for a while, you will likely change settings everywhere: On your desktop environment, different programs, and even create scripts to automate your work. Most of these configurations are saved in your `$HOME` directory, in the form of `.app_name`. These files begin with a **dot** (making them 'hidden'), hence the name **dotfiles**.
|
After using your system for a while, you will likely change settings everywhere: On your desktop environment, different programs, and even create scripts to automate your work. Most of these configurations are saved in your `$HOME` directory, in the form of `.app_name`. These files begin with a **dot** (making them 'hidden'), hence the name **dotfiles**.
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ Where, `git` and `nvim`, for example, are the programs being configured.
|
|||||||
|
|
||||||
Stow can be installed on any Linux system and on macOS, manually or through [homebrew](https://brew.sh/).
|
Stow can be installed on any Linux system and on macOS, manually or through [homebrew](https://brew.sh/).
|
||||||
|
|
||||||
## Putting it all together
|
## Putting it All together
|
||||||
|
|
||||||
Finally, we reach the solution.
|
Finally, we reach the solution.
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ The name sounded familiar, but I never looked into it that much. After a few hou
|
|||||||
|
|
||||||
So, I decided to try FreBSD on a spare laptop to see where it would take me, if not for anything else, just to learn something new.
|
So, I decided to try FreBSD on a spare laptop to see where it would take me, if not for anything else, just to learn something new.
|
||||||
|
|
||||||
## Installation, the handbook and XFCE
|
## Installation, the Handbook and XFCE
|
||||||
|
|
||||||
The initial installation was surprisingly easy. The TUI installer is intuitive, and setting up the system (while reading the handbook) never had me lost. As mentioned before, the documentation is *really* good, and this chapter was no exception.
|
The initial installation was surprisingly easy. The TUI installer is intuitive, and setting up the system (while reading the handbook) never had me lost. As mentioned before, the documentation is *really* good, and this chapter was no exception.
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ I didn't add my user to the `wheel` group, but logging into root and enabling it
|
|||||||
|
|
||||||
XFCE behaves similarly on Linux and overall felt quite stable, as it usually does.
|
XFCE behaves similarly on Linux and overall felt quite stable, as it usually does.
|
||||||
|
|
||||||
## Going deeper
|
## Going Deeper
|
||||||
|
|
||||||
I was happy with my system for a while, but soon enough, I wanted to take things further.
|
I was happy with my system for a while, but soon enough, I wanted to take things further.
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ Rebooting the system didn't work; the computer would never turn off; a poweroff
|
|||||||
|
|
||||||
I also noticed that a missing driver for the SD card reader was slowing the boot time by ~2min, so I disabled it.
|
I also noticed that a missing driver for the SD card reader was slowing the boot time by ~2min, so I disabled it.
|
||||||
|
|
||||||
## My final thoughts
|
## My Final Thoughts
|
||||||
|
|
||||||
Overall, I can't use FreeBSD on my current hardware, or, most likely I'm missing something important. In any case, I believe that my goal was fulfilled: To learn a new system and better understand Linux.
|
Overall, I can't use FreeBSD on my current hardware, or, most likely I'm missing something important. In any case, I believe that my goal was fulfilled: To learn a new system and better understand Linux.
|
||||||
|
|
||||||
|
|||||||
@@ -23,50 +23,50 @@ These are my top 8 favorite macOS utilities that I can't live without.
|
|||||||
|
|
||||||
This app is the best app to make your non-Apple mouse behave like one. I use it with my Logitech MX Master 3s instead of Logitech's own software, and it is amazing!
|
This app is the best app to make your non-Apple mouse behave like one. I use it with my Logitech MX Master 3s instead of Logitech's own software, and it is amazing!
|
||||||
|
|
||||||
This app let's you assign any kind of trackpad gesture to your extra mouse buttons. I have a button navigate Spaces and Mission Control when dragging, just like the three finger drag on a trackpad. I also have the forward button on the mouse to scroll with two fingers on drag, and on scroll, it zooms. Finally, I have the forward and back buttons go forward and back on apps.
|
This app let's you assign any kind of trackpad gesture to your extra mouse buttons. I have a button navigate Spaces and Mission Control when dragging, just like the three finger drag on a trackpad. I also have the forward button on the mouse to scroll with two fingers on drag, and on scroll, it zooms. Finally, I have the forward and back buttons go forward and back on apps.
|
||||||

|

|
||||||
Mac Mouse Fix also allows for scrolling options. I like to enable Reverse Direction so the mouse scrolls in the direction it is meant to. And I disable smooth scroll, because I use another app for that.
|
Mac Mouse Fix also allows for scrolling options. I like to enable Reverse Direction so the mouse scrolls in the direction it is meant to. And I disable smooth scroll, because I use another app for that.
|
||||||

|

|
||||||
Mac Mouse Fix can be downloaded [here](https://macmousefix.com) and you can try it out for 30 days, and after that you can buy it forever for just 2.99$ (plus taxes). You should buy the app if you are able to, but Mac Mouse Fix is an open-source app, I forked and modified the source code to skip the license checking mechanism. The fork can be found [here](https://github.com/JCionx/mac-mouse-fix-activated), and even though I don't provide binaries, you can build it yourself by following the simple instructions there.
|
Mac Mouse Fix can be downloaded [here](https://macmousefix.com) and you can try it out for 30 days, and after that you can buy it forever for just 2.99$ (plus taxes). You should buy the app if you are able to, but Mac Mouse Fix is an open-source app, I forked and modified the source code to skip the license checking mechanism. The fork can be found [here](https://github.com/JCionx/mac-mouse-fix-activated), and even though I don't provide binaries, you can build it yourself by following the simple instructions there.
|
||||||
|
|
||||||
## 2. Mos
|
## 2. Mos
|
||||||
|
|
||||||
This app let's you customize smooth scrolling on your non-Apple mouse. I use this app for smooth scrolling instead of Mac Mouse Fix because it let's me add exceptions for smooth scrolling, for example, on games that depend on precise scrolling for inventory selection.
|
This app let's you customize smooth scrolling on your non-Apple mouse. I use this app for smooth scrolling instead of Mac Mouse Fix because it let's me add exceptions for smooth scrolling, for example, on games that depend on precise scrolling for inventory selection.
|
||||||

|

|
||||||
Mos is free and open-source, and can be downloaded from [here](https://mos.caldis.me).
|
Mos is free and open-source, and can be downloaded from [here](https://mos.caldis.me).
|
||||||
|
|
||||||
## 3. Lunar
|
## 3. Lunar
|
||||||
|
|
||||||
This app let's you change your external monitor's brightness, as if you were to do it manually. Instead of overlaying a black image on top to dim the display, is uses hardware DDC to control the monitor's brightness directly. It also also let's you change other settings, like contrast, input sources and more.
|
This app let's you change your external monitor's brightness, as if you were to do it manually. Instead of overlaying a black image on top to dim the display, is uses hardware DDC to control the monitor's brightness directly. It also also let's you change other settings, like contrast, input sources and more.
|
||||||

|

|
||||||
Lunar is free, but has some paid features. The free version is very generous and let's you do all basic things you would expect. You can download Lunar [here](https://lunar.fyi).
|
Lunar is free, but has some paid features. The free version is very generous and let's you do all basic things you would expect. You can download Lunar [here](https://lunar.fyi).
|
||||||
|
|
||||||
## 4. Alfred
|
## 4. Alfred
|
||||||
|
|
||||||
Alfred is an alternative to Spotlight Search. It's faster, more powerful and more expansible. It offers a free version, but the paid version is what makes a difference. Alfred can be a calculator, a dictionary, a file explorer, a clipboard manager, a color picker, a task manager and so much more.
|
Alfred is an alternative to Spotlight Search. It's faster, more powerful and more expansible. It offers a free version, but the paid version is what makes a difference. Alfred can be a calculator, a dictionary, a file explorer, a clipboard manager, a color picker, a task manager and so much more.
|
||||||

|

|
||||||
You can download Alfred [here](https://www.alfredapp.com).
|
You can download Alfred [here](https://www.alfredapp.com).
|
||||||
|
|
||||||
## 5. AppCleaner
|
## 5. AppCleaner
|
||||||
|
|
||||||
AppCleaner is a simple app that let's you completely uninstall an app. When you drag an app to the trash, only the app is removed, but not the config and cache files. To fix that just open AppCleaner, drag an app into it, and you can see all files related to that app, to then remove them. You can see in this screenshot that the Spotify app is only around 360 MB, but the hidden files doubles it's size.
|
AppCleaner is a simple app that let's you completely uninstall an app. When you drag an app to the trash, only the app is removed, but not the config and cache files. To fix that just open AppCleaner, drag an app into it, and you can see all files related to that app, to then remove them. You can see in this screenshot that the Spotify app is only around 360 MB, but the hidden files doubles it's size.
|
||||||

|

|
||||||
AppCleaner is free and you can download it [here](https://freemacsoft.net/appcleaner/).
|
AppCleaner is free and you can download it [here](https://freemacsoft.net/appcleaner/).
|
||||||
|
|
||||||
## 6. Keka
|
## 6. Keka
|
||||||
|
|
||||||
Keka is a powerful file extractor application designed for macOS that provides enhanced functionality beyond what is offered by the built-in Finder. Unlike Finder, which supports only a limited range of file formats, Keka can handle a wide variety of compressed file types. One of Keka's standout features is its ability to decompress password-protected files.
|
Keka is a powerful file extractor application designed for macOS that provides enhanced functionality beyond what is offered by the built-in Finder. Unlike Finder, which supports only a limited range of file formats, Keka can handle a wide variety of compressed file types. One of Keka's standout features is its ability to decompress password-protected files.
|
||||||

|

|
||||||
Keka is open-source, and is free to download form [here](https://www.keka.io/en/).
|
Keka is open-source, and is free to download form [here](https://www.keka.io/en/).
|
||||||
|
|
||||||
## 7. Stats
|
## 7. Stats
|
||||||
|
|
||||||
Stats is a simple app that lives in your menubar. It let's you check the resource usage of your Mac in detail, and is really customizable. You can see which apps are taking the most of your resources and close them.
|
Stats is a simple app that lives in your menubar. It let's you check the resource usage of your Mac in detail, and is really customizable. You can see which apps are taking the most of your resources and close them.
|
||||||

|

|
||||||
Stats is free and open-source, and can be downloaded from [here](https://github.com/exelban/stats).
|
Stats is free and open-source, and can be downloaded from [here](https://github.com/exelban/stats).
|
||||||
|
|
||||||
## 8. Syncthing
|
## 8. Syncthing
|
||||||
|
|
||||||
Syncthing is a file synchronization program that let's you sync folders between all your devices. I use it mainly to keep my markdown notes updated between my Android phone, my Mac mini, and my laptop. Syncthing doesn't have a central server, but is peer-to-peer, no one else has access to your data.
|
Syncthing is a file synchronization program that let's you sync folders between all your devices. I use it mainly to keep my markdown notes updated between my Android phone, my Mac mini, and my laptop. Syncthing doesn't have a central server, but is peer-to-peer, no one else has access to your data.
|
||||||

|

|
||||||
Syncthing is free and open-source and can be downloaded from [here](https://syncthing.net/downloads/).
|
Syncthing is free and open-source and can be downloaded from [here](https://syncthing.net/downloads/).
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ No entity controls Linux, due to its open nature, so you will always be private
|
|||||||
|
|
||||||
The disadvantage of Linux (which has been improving a lot over the last few years) is software support. Some apps such as Photoshop and Microsoft Word and games like League of Legends and Roblox, don't work on Linux. Before switching to Linux, make sure all your programs are supported, and if not, try to find other free and open alternatives, like Kritta or GIMP instead of Photoshop, or Google Docs, LibreOffice or OnlyOffice to replace Microsoft Word.
|
The disadvantage of Linux (which has been improving a lot over the last few years) is software support. Some apps such as Photoshop and Microsoft Word and games like League of Legends and Roblox, don't work on Linux. Before switching to Linux, make sure all your programs are supported, and if not, try to find other free and open alternatives, like Kritta or GIMP instead of Photoshop, or Google Docs, LibreOffice or OnlyOffice to replace Microsoft Word.
|
||||||
|
|
||||||
## The first step: Choose a base distribution
|
## The First Step: Choose a Base Distribution
|
||||||
|
|
||||||
One of the best features of Linux is that you can customize it and use it however you like. Instead of a global Linux OS, you get to choose a distribution. Linux itself is just a Kernel - like an engine, that can be used to power any distribution.
|
One of the best features of Linux is that you can customize it and use it however you like. Instead of a global Linux OS, you get to choose a distribution. Linux itself is just a Kernel - like an engine, that can be used to power any distribution.
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ These are often used as a base for other distros to build upon.
|
|||||||
|
|
||||||
To get started, I recommend that you pick Debian-based options, because they are the most widely used, have better support, and are overall more stable. You will find more documentation and help online with these, too.
|
To get started, I recommend that you pick Debian-based options, because they are the most widely used, have better support, and are overall more stable. You will find more documentation and help online with these, too.
|
||||||
|
|
||||||
## Choose your Desktop Environment
|
## Choose Your Desktop Environment
|
||||||
|
|
||||||
Again, there are many DEs, but the two most popular are *GNOME* and *KDE Plasma*.
|
Again, there are many DEs, but the two most popular are *GNOME* and *KDE Plasma*.
|
||||||
|
|
||||||
@@ -64,7 +64,7 @@ KDE Plasma is the most powerful desktop of any operating system. It is very flex
|
|||||||
|
|
||||||
The choice you make doesn't really matter that much, since you can easily switch between them if you happen to not like one, or prefer the other. If you can, try both, and see which one you like the most. As a general rule, if you came from Windows, try KDE Plasma, and if you came from macOS, try GNOME first.
|
The choice you make doesn't really matter that much, since you can easily switch between them if you happen to not like one, or prefer the other. If you can, try both, and see which one you like the most. As a general rule, if you came from Windows, try KDE Plasma, and if you came from macOS, try GNOME first.
|
||||||
|
|
||||||
## Choose a distribution
|
## Choose a Distribution
|
||||||
|
|
||||||
Finally, you can decide which distro to install.
|
Finally, you can decide which distro to install.
|
||||||
|
|
||||||
@@ -80,7 +80,8 @@ And if you chose KDE Plasma, try:
|
|||||||
- [**Linux Mint**](https://linuxmint.com/download.php) Another great option to get started. Has a Cinnamon and KDE version, both are quite simple to use and well-designed. This is the most recommended option for new users, and it feels a lot like Windows 10 out of the box. Choose it if you want something simple and more similar to Windows.
|
- [**Linux Mint**](https://linuxmint.com/download.php) Another great option to get started. Has a Cinnamon and KDE version, both are quite simple to use and well-designed. This is the most recommended option for new users, and it feels a lot like Windows 10 out of the box. Choose it if you want something simple and more similar to Windows.
|
||||||
|
|
||||||
## Install Linux
|
## Install Linux
|
||||||
it
|
|
||||||
|
it
|
||||||
First, you'll need a spare USB drive. The drive will be erased, so make sure to not leave anything important on it. Download your preferred distribution from their respective websites (likely an `.iso` file) and a flash tool, such as [Balena Etcher](https://etcher.balena.io/).
|
First, you'll need a spare USB drive. The drive will be erased, so make sure to not leave anything important on it. Download your preferred distribution from their respective websites (likely an `.iso` file) and a flash tool, such as [Balena Etcher](https://etcher.balena.io/).
|
||||||
|
|
||||||
Then, use Balena to flash the iso onto the USB drive. This is a simple process, all you have to do is follow the instructions on the Balena Etcher program.
|
Then, use Balena to flash the iso onto the USB drive. This is a simple process, all you have to do is follow the instructions on the Balena Etcher program.
|
||||||
@@ -106,7 +107,7 @@ The most common issues are:
|
|||||||
- **Low performance in games / graphic glitches.** You are likely using an NVIDIA GPU. Install the proprietary drivers, and it should be good to go. Ubuntu and Mint have driver managers and tools to help you with this. If you can't find them, look for help online. There are many articles about this subject.
|
- **Low performance in games / graphic glitches.** You are likely using an NVIDIA GPU. Install the proprietary drivers, and it should be good to go. Ubuntu and Mint have driver managers and tools to help you with this. If you can't find them, look for help online. There are many articles about this subject.
|
||||||
- **I can see my desktop, but text and icons look very small.** Go to settings and search for display scaling, then increase the slider until your desktop looks fine. This happens because you are using a 2K or 4K screen, which has more pixels than a regular screen. After applying your new scaling setting, reboot. Sometimes some elements will still look blurry until you do.
|
- **I can see my desktop, but text and icons look very small.** Go to settings and search for display scaling, then increase the slider until your desktop looks fine. This happens because you are using a 2K or 4K screen, which has more pixels than a regular screen. After applying your new scaling setting, reboot. Sometimes some elements will still look blurry until you do.
|
||||||
|
|
||||||
## Install new programs
|
## Install New Programs
|
||||||
|
|
||||||
Some programs might be missing, or you may need something that isn't installed by default.
|
Some programs might be missing, or you may need something that isn't installed by default.
|
||||||
|
|
||||||
@@ -114,7 +115,7 @@ To install new software, open the `Software` app on GNOME (the name can vary) or
|
|||||||
|
|
||||||
If you can't find what you are looking for, search online for the program's webpage. Some programs are available as `.deb` files, which you can run to install new software. After launching it, you will have the option to install the program. These are similar to `.dmg` files on macOS and `.exe` or `.msi` files on Windows. Use this option as a last resort only. Most apps you will ever need are in the software store program, and files downloaded from the web may not be as secure.
|
If you can't find what you are looking for, search online for the program's webpage. Some programs are available as `.deb` files, which you can run to install new software. After launching it, you will have the option to install the program. These are similar to `.dmg` files on macOS and `.exe` or `.msi` files on Windows. Use this option as a last resort only. Most apps you will ever need are in the software store program, and files downloaded from the web may not be as secure.
|
||||||
|
|
||||||
## Keep exploring!
|
## Keep Exploring!
|
||||||
|
|
||||||
With a Linux desktop and the software you need, you should be ready to use your device. If you can, spend some time exploring and changing settings to customize your system, and make the most out of it.
|
With a Linux desktop and the software you need, you should be ready to use your device. If you can, spend some time exploring and changing settings to customize your system, and make the most out of it.
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ cover:
|
|||||||
hidden: true # only hide on current single page
|
hidden: true # only hide on current single page
|
||||||
---
|
---
|
||||||
|
|
||||||
## Why am I doing this (again)?
|
## Why Am I Doing This (again)?
|
||||||
|
|
||||||
I've been using Linux for many years, and recently tried FreeBSD on a spare laptop. I didn't see many differences initially, but it got me wondering: What *really* are the differences between Linux and \*BSDs? Which OS should I use?
|
I've been using Linux for many years, and recently tried FreeBSD on a spare laptop. I didn't see many differences initially, but it got me wondering: What *really* are the differences between Linux and \*BSDs? Which OS should I use?
|
||||||
|
|
||||||
@@ -33,9 +33,9 @@ From most relevant to less important for me personally:
|
|||||||
|
|
||||||
You may disagree with my priorities - and that's okay, the final decision will likely vary.
|
You may disagree with my priorities - and that's okay, the final decision will likely vary.
|
||||||
|
|
||||||
## Linux vs \*BSDs
|
## Linux Vs \*BSDs
|
||||||
|
|
||||||
First, we'll take a look at Linux Distros and how they compare. ~~(I'd just like to interject for a moment. What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux.)~~
|
First, we'll take a look at Linux Distros and how they compare. ~~(I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux.)~~
|
||||||
|
|
||||||
All Linux distros use the Linux Kernel, and most (but not all) use GNU utilities and SystemD.
|
All Linux distros use the Linux Kernel, and most (but not all) use GNU utilities and SystemD.
|
||||||
|
|
||||||
@@ -59,8 +59,8 @@ The advantages are as follows:
|
|||||||
1. Performance (one of the main goals of the project)
|
1. Performance (one of the main goals of the project)
|
||||||
2. Security (Generally safer than Linux)
|
2. Security (Generally safer than Linux)
|
||||||
3. Separation of concerns (user packages are only installed in user directories; the base system is always clean.)
|
3. Separation of concerns (user packages are only installed in user directories; the base system is always clean.)
|
||||||
5. Software availability (Can run Linux binaries and has many ports available.)
|
4. Software availability (Can run Linux binaries and has many ports available.)
|
||||||
6. Extra features (ZFS support, Jails, Bluetooth and more.)
|
5. Extra features (ZFS support, Jails, Bluetooth and more.)
|
||||||
- Documentation (The community is smaller than Linux's, but the written documents are far better.)
|
- Documentation (The community is smaller than Linux's, but the written documents are far better.)
|
||||||
- Fast `pkg` (The package manager is written in C and is faster than OpenBSD's.)
|
- Fast `pkg` (The package manager is written in C and is faster than OpenBSD's.)
|
||||||
|
|
||||||
@@ -100,4 +100,3 @@ Thanks for reading and a special *thank you* to everyone who helped on Reddit, l
|
|||||||
- [OpenBSD Goals](https://www.openbsd.org/goals.html)
|
- [OpenBSD Goals](https://www.openbsd.org/goals.html)
|
||||||
- [OpenBSD FAQ: Introduction to OpenBSD](https://www.openbsd.org/faq/faq1.html)
|
- [OpenBSD FAQ: Introduction to OpenBSD](https://www.openbsd.org/faq/faq1.html)
|
||||||
- FreeBSD Project [goal](https://docs.freebsd.org/en/books/faq/#FreeBSD-goals) and [features](https://www.freebsd.org/features/)
|
- FreeBSD Project [goal](https://docs.freebsd.org/en/books/faq/#FreeBSD-goals) and [features](https://www.freebsd.org/features/)
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ cover:
|
|||||||
hidden: true # only hide on current single page
|
hidden: true # only hide on current single page
|
||||||
---
|
---
|
||||||
|
|
||||||
## Why run AI locally?
|
## Why Run AI Locally?
|
||||||
|
|
||||||
AI models like ChatGPT and Gemini can be very useful, however, they have a few issues:
|
AI models like ChatGPT and Gemini can be very useful, however, they have a few issues:
|
||||||
|
|
||||||
@@ -32,11 +32,11 @@ Using AI locally does have some issues, like the need for powerful hardware and
|
|||||||
|
|
||||||
PS: All the tools shown below are free and open-source.
|
PS: All the tools shown below are free and open-source.
|
||||||
|
|
||||||
## The engine: Ollama
|
## The Engine: Ollama
|
||||||
|
|
||||||
The first step is to actually run the model. The easiest way to do this is using `ollama`.
|
The first step is to actually run the model. The easiest way to do this is using `ollama`.
|
||||||
|
|
||||||
To set it up, follow the [official guide](https://ollama.com/download) for your device.
|
To set it up, follow the [official guide](https://ollama.com/download) for your device.
|
||||||
After this is done, select your model. As an example, I'll be using `llama3:latest`, an open-source model by Meta.
|
After this is done, select your model. As an example, I'll be using `llama3:latest`, an open-source model by Meta.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@@ -46,7 +46,7 @@ ollama run llama3 # Interact directly with the model. This is NOT recommended.
|
|||||||
|
|
||||||
Ollama by itself is already enough for many, but we can do better.
|
Ollama by itself is already enough for many, but we can do better.
|
||||||
|
|
||||||
## The middleman: Fabric
|
## The Middleman: Fabric
|
||||||
|
|
||||||
You can think of fabric as a layer between ollama, the tools you use, and you.
|
You can think of fabric as a layer between ollama, the tools you use, and you.
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ You can call fabric from your own apps and scripts, 'pipe' the result of a promp
|
|||||||
|
|
||||||
To install fabric, follow their [quickstart guide](https://github.com/danielmiessler/fabric?tab=readme-ov-file#quickstart).
|
To install fabric, follow their [quickstart guide](https://github.com/danielmiessler/fabric?tab=readme-ov-file#quickstart).
|
||||||
|
|
||||||
## Other tools and UIs
|
## Other Tools and UIs
|
||||||
|
|
||||||
Some other tools I recommend are:
|
Some other tools I recommend are:
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ If you switch between macOS and Linux often, the problem grows even more, as now
|
|||||||
## Searching for a Solution
|
## Searching for a Solution
|
||||||
|
|
||||||
When trying to solve this issue, I came up with a few ideas. I could:
|
When trying to solve this issue, I came up with a few ideas. I could:
|
||||||
- **Keep two different configurations: One for macOS and one for Debian.** I began work on this, and then... I realized that I needed to support Arch as well. No big deal, 3 configurations isn't a lot, I can manage it- I also have an arm laptop, and an x86 macOS machine that needs support. And what if I switch to another device in the future? ... This approach was getting me nowhere, as the 2 configurations I started with became 5, then 10, then more.
|
- **Keep two different configurations: One for macOS and one for Debian.** I began work on this, and then... I realized that I needed to support Arch as well. No big deal, 3 configurations isn't a lot, I can manage itI also have an arm laptop, and an x86 macOS machine that needs support. And what if I switch to another device in the future? ... This approach was getting me nowhere, as the 2 configurations I started with became 5, then 10, then more.
|
||||||
- **Write a compatibility layer between `brew`, `apt`, `pacman`, etc.** This seemed like a good approach at first, but because a package can have different names depending on how it is packaged, among many other issues, I quickly had to give up.
|
- **Write a compatibility layer between `brew`, `apt`, `pacman`, etc.** This seemed like a good approach at first, but because a package can have different names depending on how it is packaged, among many other issues, I quickly had to give up.
|
||||||
- **Use the same package manager everywhere.** I tried to use Homebrew everywhere, but quickly noticed that many packages are missing, especially on Linux. Configurations would have to be ported as well.
|
- **Use the same package manager everywhere.** I tried to use Homebrew everywhere, but quickly noticed that many packages are missing, especially on Linux. Configurations would have to be ported as well.
|
||||||
|
|
||||||
@@ -360,6 +360,7 @@ This module also has its own configuration file (`flake.nix`), and I created a t
|
|||||||
That was a lot, but this file should give you a good understanding of how nix-darwin works, and what you can do with it.
|
That was a lot, but this file should give you a good understanding of how nix-darwin works, and what you can do with it.
|
||||||
|
|
||||||
To apply your config, run the following commands:
|
To apply your config, run the following commands:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
mkdir -p ~/.config/nix-darwin/
|
mkdir -p ~/.config/nix-darwin/
|
||||||
cp -f flake.nix ~/.config/nix-darwin/
|
cp -f flake.nix ~/.config/nix-darwin/
|
||||||
@@ -373,6 +374,7 @@ else
|
|||||||
nix --extra-experimental-features "nix-command flakes" run nix-darwin -- switch --flake ~/.config/nix-darwin#default
|
nix --extra-experimental-features "nix-command flakes" run nix-darwin -- switch --flake ~/.config/nix-darwin#default
|
||||||
fi
|
fi
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** Nix-darwin already implements home-manager, so both configurations will be applied. There is no need to run the commands in the home-manager section of this blog post.
|
**Note:** Nix-darwin already implements home-manager, so both configurations will be applied. There is no need to run the commands in the home-manager section of this blog post.
|
||||||
|
|
||||||
## Conclusion
|
## Conclusion
|
||||||
|
|||||||
@@ -20,11 +20,11 @@ Google is progressively getting worse, YouTube has more and more ADs, and most w
|
|||||||
|
|
||||||
I've been bothered by the "modern" web quite a lot, as I used to get my news from YouTube, but seeing the internet get progressively worse made me wonder if there is a better way...
|
I've been bothered by the "modern" web quite a lot, as I used to get my news from YouTube, but seeing the internet get progressively worse made me wonder if there is a better way...
|
||||||
|
|
||||||
## Using the personal web
|
## Using the Personal Web
|
||||||
|
|
||||||
If you use the internet extensively, you have likely found many blogs and personal websites, such as the one you are on right now, my blog. These tend to be more honest, less intrusive, and many, such as my own, have no ADs, and collect no personal data about you. This one, for example, is open-source, so you can research freely without worrying about copyright laws, and even suggest changes and help me improve it.
|
If you use the internet extensively, you have likely found many blogs and personal websites, such as the one you are on right now, my blog. These tend to be more honest, less intrusive, and many, such as my own, have no ADs, and collect no personal data about you. This one, for example, is open-source, so you can research freely without worrying about copyright laws, and even suggest changes and help me improve it.
|
||||||
|
|
||||||
Personal websites are great since they are not restricted by what an app allows you to do. You can do _anything_ on your website, since you actually _own_ it. There is no limit to how creative you can get.
|
Personal websites are great since they are not restricted by what an app allows you to do. You can do *anything* on your website, since you actually *own* it. There is no limit to how creative you can get.
|
||||||
|
|
||||||
Since personal sites are so much better than social media, why don't more people use them instead? There are a few reasons:
|
Since personal sites are so much better than social media, why don't more people use them instead? There are a few reasons:
|
||||||
|
|
||||||
@@ -54,11 +54,11 @@ Now that you have an aggregator, you need some websites to follow. Add those tha
|
|||||||
- [Neocities](https://neocities.org/browse) (Collection of small and creative websites)
|
- [Neocities](https://neocities.org/browse) (Collection of small and creative websites)
|
||||||
- [The Big List of Personal Websites](http://biglist.terraaeon.com/index.html)
|
- [The Big List of Personal Websites](http://biglist.terraaeon.com/index.html)
|
||||||
|
|
||||||
## Create your own content
|
## Create Your Own Content
|
||||||
|
|
||||||
If you like reading other people's content, you might be wondering how you can create your own corner of the web. It requires some work, but it's not too difficult.
|
If you like reading other people's content, you might be wondering how you can create your own corner of the web. It requires some work, but it's not too difficult.
|
||||||
|
|
||||||
### Creating your own website
|
### Creating Your Own Website
|
||||||
|
|
||||||
Many people would recommend you to use website builders like Wordpress, and they can work for the most part, but you will be missing out on a lot of customization and freedom.
|
Many people would recommend you to use website builders like Wordpress, and they can work for the most part, but you will be missing out on a lot of customization and freedom.
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ Now you can type anything on the web, add images and media, but you probably wan
|
|||||||
|
|
||||||
If all you want is a website with a few links to your socials and to introduce yourself to the world, you can stop here. If you also want to keep a blog, however, there is a better tool for the job.
|
If all you want is a website with a few links to your socials and to introduce yourself to the world, you can stop here. If you also want to keep a blog, however, there is a better tool for the job.
|
||||||
|
|
||||||
### Hosting a personal blog
|
### Hosting a Personal Blog
|
||||||
|
|
||||||
You could use plain html and css to build your blog, but that would not only get tiring, but you would waste a lot of time that could be used to create content. If you want to do it anyway, go for it, but for those who want an easier time, [HUGO](https://gohugo.io/) is the solution.
|
You could use plain html and css to build your blog, but that would not only get tiring, but you would waste a lot of time that could be used to create content. If you want to do it anyway, go for it, but for those who want an easier time, [HUGO](https://gohugo.io/) is the solution.
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ HUGO allows you to set up a website, select or build a theme, and then add new c
|
|||||||
|
|
||||||
This post isn't a full HUGO tutorial (coming soon!), but it should be enough to get you started on your own research. As an example, you can find my website's source code [on GitHub](https://github.com/TrudeEH/web).
|
This post isn't a full HUGO tutorial (coming soon!), but it should be enough to get you started on your own research. As an example, you can find my website's source code [on GitHub](https://github.com/TrudeEH/web).
|
||||||
|
|
||||||
### Publish your site
|
### Publish Your Site
|
||||||
|
|
||||||
After building your site, there are still a few steps that you need to take before other people can access it.
|
After building your site, there are still a few steps that you need to take before other people can access it.
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ cover:
|
|||||||
hidden: true # only hide on current single page
|
hidden: true # only hide on current single page
|
||||||
---
|
---
|
||||||
|
|
||||||
## The current state of smartphones
|
## The Current State of Smartphones
|
||||||
|
|
||||||
Most people own a smartphone. They are extremely useful tools, but they are also a nightmare for security and privacy. This guide will attempt to help you improve your security and privacy while using a smartphone, without losing useful functionality.
|
Most people own a smartphone. They are extremely useful tools, but they are also a nightmare for security and privacy. This guide will attempt to help you improve your security and privacy while using a smartphone, without losing useful functionality.
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ There isn't much to say about these. These devices are simple, and can be secure
|
|||||||
|
|
||||||
Although the most secure / private option for a phone (as long as you're okay with SMS not being encrypted at all), these are not an option for most people.
|
Although the most secure / private option for a phone (as long as you're okay with SMS not being encrypted at all), these are not an option for most people.
|
||||||
|
|
||||||
## Threat model
|
## Threat Model
|
||||||
|
|
||||||
The first step is to determine what your threat model is - how far you are willing to go.
|
The first step is to determine what your threat model is - how far you are willing to go.
|
||||||
|
|
||||||
@@ -55,9 +55,9 @@ For example, are you being targeted specifically? Is the government interested i
|
|||||||
|
|
||||||
Write down who your targets are, to help you decide what to defend against. The further you go, the more convenience you must sacrifice.
|
Write down who your targets are, to help you decide what to defend against. The further you go, the more convenience you must sacrifice.
|
||||||
|
|
||||||
## Some ideas of things to do and explore
|
## Some Ideas of Things to Do and Explore
|
||||||
|
|
||||||
### The simple route
|
### The Simple Route
|
||||||
|
|
||||||
**Low threat model** - Big Tech; Peace of mind; Not comfortable modifying your phone; Normal person
|
**Low threat model** - Big Tech; Peace of mind; Not comfortable modifying your phone; Normal person
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ Write down who your targets are, to help you decide what to defend against. The
|
|||||||
- Avoid personal information on social media.
|
- Avoid personal information on social media.
|
||||||
- Use [Matrix](https://matrix.org/) or [Signal](https://signal.org) for private chats.
|
- Use [Matrix](https://matrix.org/) or [Signal](https://signal.org) for private chats.
|
||||||
|
|
||||||
### Advanced route
|
### Advanced Route
|
||||||
|
|
||||||
**High threat model** - Someone capable is after you; You value security and privacy a lot; You are a tinkerer, or willing to learn; Paranoid
|
**High threat model** - Someone capable is after you; You value security and privacy a lot; You are a tinkerer, or willing to learn; Paranoid
|
||||||
|
|
||||||
@@ -82,13 +82,13 @@ Write down who your targets are, to help you decide what to defend against. The
|
|||||||
|
|
||||||
There are many more things you can do, but I can't help you with some of them, since this is as far as I'm willing to explore myself. It's impossible to be 100% safe, but following these steps will certainly help you *a lot* already.
|
There are many more things you can do, but I can't help you with some of them, since this is as far as I'm willing to explore myself. It's impossible to be 100% safe, but following these steps will certainly help you *a lot* already.
|
||||||
|
|
||||||
## Reality check
|
## Reality Check
|
||||||
|
|
||||||
You may find that you don't fit into any of these routes perfectly, and instead, somewhere in between. I, for example, still need some Google services, and not everyone uses Matrix in my life. This is why privacy and security are a spectrum, not a yes or no value. For me, most of these steps are worth it, but having this blog, just by itself, is already increasing my attack surface.
|
You may find that you don't fit into any of these routes perfectly, and instead, somewhere in between. I, for example, still need some Google services, and not everyone uses Matrix in my life. This is why privacy and security are a spectrum, not a yes or no value. For me, most of these steps are worth it, but having this blog, just by itself, is already increasing my attack surface.
|
||||||
|
|
||||||
You might want to make sacrifices to have nice things, and that's okay. Start by doing something; pick anything from the lists. Then, you might want to continue, or find your own balance.
|
You might want to make sacrifices to have nice things, and that's okay. Start by doing something; pick anything from the lists. Then, you might want to continue, or find your own balance.
|
||||||
|
|
||||||
## Open-source apps that I recommend
|
## Open-source Apps that I Recommend
|
||||||
|
|
||||||
- [InnerTune](https://f-droid.org/packages/com.zionhuang.music/) - YouTube Music replacement (also no more Ads and free premium features)
|
- [InnerTune](https://f-droid.org/packages/com.zionhuang.music/) - YouTube Music replacement (also no more Ads and free premium features)
|
||||||
- [NewPipe](https://f-droid.org/packages/org.schabi.newpipe/) - YouTube alternative (also with premium features and no Ads)
|
- [NewPipe](https://f-droid.org/packages/org.schabi.newpipe/) - YouTube alternative (also with premium features and no Ads)
|
||||||
@@ -117,7 +117,6 @@ You don't have to enable these features if you don't need them, obviously, but m
|
|||||||
|
|
||||||
There is also a [Web installer](https://grapheneos.org/install/web) to easily install GrapheneOS on your device.
|
There is also a [Web installer](https://grapheneos.org/install/web) to easily install GrapheneOS on your device.
|
||||||
|
|
||||||
|
|
||||||
## Nextcloud
|
## Nextcloud
|
||||||
|
|
||||||
At this point, you know about GrapheneOS, and how to keep your phone safe, however, you might miss all those Google features. Applications like Google Drive, Google Photos, Contacts, Calendar... the list goes on.
|
At this point, you know about GrapheneOS, and how to keep your phone safe, however, you might miss all those Google features. Applications like Google Drive, Google Photos, Contacts, Calendar... the list goes on.
|
||||||
@@ -138,4 +137,3 @@ In conclusion
|
|||||||
- If you can, use Nextcloud instead of Google services.
|
- If you can, use Nextcloud instead of Google services.
|
||||||
|
|
||||||
Stay safe out there.
|
Stay safe out there.
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Let's explore how we can convert a Chrome or Firefox extension to work with Safa
|
|||||||
|
|
||||||
## Downloading the Source Code of the Extension
|
## Downloading the Source Code of the Extension
|
||||||
|
|
||||||
The first step to convert your extension is to download its source code first.
|
The first step to convert your extension is to download its source code first.
|
||||||
Paste the link of your extension in [this website](https://robwu.nl/crxviewer/) and Download the source code of the extension.
|
Paste the link of your extension in [this website](https://robwu.nl/crxviewer/) and Download the source code of the extension.
|
||||||
|
|
||||||
## Converting the Extension with Xcode
|
## Converting the Extension with Xcode
|
||||||
@@ -47,4 +47,4 @@ You should now have your Chrome or Firefox extension on Safari!
|
|||||||
|
|
||||||
Keep in mind that you need to enable the **Allow unsigned extensions** option every time you fully quit Safari.
|
Keep in mind that you need to enable the **Allow unsigned extensions** option every time you fully quit Safari.
|
||||||
|
|
||||||
As an example, I converted a Chrome extension I couldn't live without to Safari, and published it to my [GitHub](https://github.com/JCionx).
|
As an example, I converted a Chrome extension I couldn't live without to Safari, and published it to my [GitHub](https://github.com/JCionx).
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ cover:
|
|||||||
hidden: true # only hide on current single page
|
hidden: true # only hide on current single page
|
||||||
---
|
---
|
||||||
|
|
||||||
## A bit of context
|
## A Bit of Context
|
||||||
|
|
||||||
### What is a display server?
|
### What is a Display Server?
|
||||||
|
|
||||||
If you use Linux or any BSD variant, you have likely heard of, and used, a display server.
|
If you use Linux or any BSD variant, you have likely heard of, and used, a display server.
|
||||||
|
|
||||||
@@ -28,40 +28,40 @@ The display server also handles input, manages the physical display, listens for
|
|||||||
|
|
||||||
### Xorg
|
### Xorg
|
||||||
|
|
||||||
For many years, Xorg was the only (usable) display server. It has a very complex design by nature, handles many functions, and overall is very monolithic. This can be a great feature since the window manager and app developers tend to have less lower-level code to handle graphics, but Xorg’s design has made it very difficult to maintain and improve.
|
For many years, Xorg was the only (usable) display server. It has a very complex design by nature, handles many functions, and overall is very monolithic. This can be a great feature since the window manager and app developers tend to have less lower-level code to handle graphics, but Xorg's design has made it very difficult to maintain and improve.
|
||||||
|
|
||||||
Most linux programs were designed with Xorg in mind, however, a newer display server is slowly taking over.
|
Most linux programs were designed with Xorg in mind, however, a newer display server is slowly taking over.
|
||||||
|
|
||||||
### Wayland
|
### Wayland
|
||||||
|
|
||||||
Wayland is the opposite of Xorg. It has a simpler and more efficient design and is overall more modern, with the ability to draw ‘perfect frames’; doesn’t have screen tearing issues; and doesn’t allow apps to record the entire screen or easily act as keyloggers. For the times in which an app does need to use these features, Wayland implemented portals, which often ask for user permission first.
|
Wayland is the opposite of Xorg. It has a simpler and more efficient design and is overall more modern, with the ability to draw 'perfect frames'; doesn't have screen tearing issues; and doesn't allow apps to record the entire screen or easily act as keyloggers. For the times in which an app does need to use these features, Wayland implemented portals, which often ask for user permission first.
|
||||||
|
|
||||||
There is no doubt that Wayland is the future of display servers, but not everyone agrees that Wayland is ready as of now. There are still many bugs, missing features, and other issues to worry about.
|
There is no doubt that Wayland is the future of display servers, but not everyone agrees that Wayland is ready as of now. There are still many bugs, missing features, and other issues to worry about.
|
||||||
|
|
||||||
## My take on Wayland
|
## My Take on Wayland
|
||||||
|
|
||||||
We can now finally answer the question: Which display manager should you use?
|
We can now finally answer the question: Which display manager should you use?
|
||||||
|
|
||||||
If you use XFCE, MATE, Cinnamon or any X window managers, such as dwm and i3, you can only use Xorg. These do not support Wayland (yet).
|
If you use XFCE, MATE, Cinnamon or any X window managers, such as dwm and i3, you can only use Xorg. These do not support Wayland (yet).
|
||||||
|
|
||||||
If you use sway, hyprland, or any other Wayland compositor, you need Wayland. I highly recommend you to also enable XWayland for this use-case, as many apps only support X, and you will likely run into many issues if you don’t have X support as well.
|
If you use sway, hyprland, or any other Wayland compositor, you need Wayland. I highly recommend you to also enable XWayland for this use-case, as many apps only support X, and you will likely run into many issues if you don't have X support as well.
|
||||||
|
|
||||||
Finally, you may have the option to choose. In this case, assuming you use linux as a desktop OS, in my personal opinion, I still recommend Xorg.
|
Finally, you may have the option to choose. In this case, assuming you use linux as a desktop OS, in my personal opinion, I still recommend Xorg.
|
||||||
|
|
||||||
Wayland is good, but because many apps do not support it well, you will run into bugs and crashes. For example:
|
Wayland is good, but because many apps do not support it well, you will run into bugs and crashes. For example:
|
||||||
|
|
||||||
- Chrome and Electron apps look blurry on a 4K screen since they render at Full HD instead of the native resolution. To resolve this, you have to add a flag to the application’s `.desktop file` - `--ozone-platform-hint=auto` usually fixes it.
|
- Chrome and Electron apps look blurry on a 4K screen since they render at Full HD instead of the native resolution. To resolve this, you have to add a flag to the application's `.desktop file` - `--ozone-platform-hint=auto` usually fixes it.
|
||||||
- Steam has issues with certain games, resulting in crashes and system freezes.
|
- Steam has issues with certain games, resulting in crashes and system freezes.
|
||||||
- Some hardware, like some NVIDIA GPUs, either don't work or have rendering artifacts, crash often or are generally unstable.
|
- Some hardware, like some NVIDIA GPUs, either don't work or have rendering artifacts, crash often or are generally unstable.
|
||||||
- Many games have worse performance when compared to Xorg.
|
- Many games have worse performance when compared to Xorg.
|
||||||
- Some apps that require screen sharing are expecting Xorg, and so they won’t be able to access the screen, or use a portal that needs to be installed on the system (or at least, have a graphical frontend for the user).
|
- Some apps that require screen sharing are expecting Xorg, and so they won't be able to access the screen, or use a portal that needs to be installed on the system (or at least, have a graphical frontend for the user).
|
||||||
- However, because Wayland is newer, you will have better performance in some cases, and have access to the newest features, including better security and a more minimal system.
|
- However, because Wayland is newer, you will have better performance in some cases, and have access to the newest features, including better security and a more minimal system.
|
||||||
|
|
||||||
Wayland will also fix screen tearing. If it bothers you on X, you can use a compositor like picom, at the cost of a noticeable input delay. Wayland window managers are also compositors, so an external compositor is not needed.
|
Wayland will also fix screen tearing. If it bothers you on X, you can use a compositor like picom, at the cost of a noticeable input delay. Wayland window managers are also compositors, so an external compositor is not needed.
|
||||||
|
|
||||||
## Conclusion
|
## Conclusion
|
||||||
|
|
||||||
The final choice fully depends on your personal needs and wishes. Here’s my guide to help you choose:
|
The final choice fully depends on your personal needs and wishes. Here's my guide to help you choose:
|
||||||
|
|
||||||
1. Do you use i3, dwm, XFCE, or any X window manager?
|
1. Do you use i3, dwm, XFCE, or any X window manager?
|
||||||
- Yes: Stick to X. Your tools will likely be ported to Wayland in the future. If not, new alternatives will arrive, such as sway for i3.
|
- Yes: Stick to X. Your tools will likely be ported to Wayland in the future. If not, new alternatives will arrive, such as sway for i3.
|
||||||
@@ -71,5 +71,4 @@ The final choice fully depends on your personal needs and wishes. Here’s my gu
|
|||||||
- Yes: Wayland is likely for you. You will get the newest features, no screen tearing, and a more minimal system.
|
- Yes: Wayland is likely for you. You will get the newest features, no screen tearing, and a more minimal system.
|
||||||
- No: Xorg is more stable, and you will likely have less issues with it.
|
- No: Xorg is more stable, and you will likely have less issues with it.
|
||||||
|
|
||||||
Personally, I’m using Xorg with DWM, since I would still need XWayland for my work and would have to replace DWM, Dmenu, ST and many programs I use daily. Also, because I have a HiDPI screen, some apps scale poorly (or not at all; they appear blurry), and Wayland compositors such as Sway and Hyprland crash very often and/or have very low performance. This is likely an issue with my hardware, but many people report the same.
|
Personally, I'm using Xorg with DWM, since I would still need XWayland for my work and would have to replace DWM, Dmenu, ST and many programs I use daily. Also, because I have a HiDPI screen, some apps scale poorly (or not at all; they appear blurry), and Wayland compositors such as Sway and Hyprland crash very often and/or have very low performance. This is likely an issue with my hardware, but many people report the same.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user