vault backup: 2025-02-03 17:43:27

This commit is contained in:
arc
2025-02-03 17:43:27 -07:00
parent ee35a75bb0
commit 7e27d75c5c
13 changed files with 0 additions and 230 deletions

View File

@ -1,30 +0,0 @@
Installed discord
Changed scrolling direction and speed 
Installed spotify
Turned off spring loading
Unpinned stuff from taskbar
Minimize using scale
Autohide dock
Installed brew
Installed chrome
Installed obsidian
See https://www.youtube.com/watch?v=psPgSN1bPLY for below
set dock to go with maximum speed and power
enabled type to siri
disabled autocorrect
switched back to natural scrolling
installed rectangle

View File

@ -1,7 +0,0 @@
****#linux
#laptop
[Documentation](https://github.com/knauth/goodix-521d-explanation)
From the usbreset directory run `gcc usbreset.c -o usbreset.out` to compile the reset bin, then `sudo ./usbreset.out /dev/bus/usb/<bus>/<device>` to reset it, for this device it's ``sudo ./usbreset.out /dev/bus/usb/003/002``
from goodix-fp-dump run `sudo python run_521d.py` to reflash the firmware

View File

@ -1 +0,0 @@
https://asus-linux.org/faq/#why-did-nvidia-mode-give-me-black-screen-with-xorg

View File

@ -1,26 +0,0 @@
# We'll call this shell purple
Primary background: \#1E2030
alternate background: \##191b29
Text color: \#C0CAF5
Cyan Highlights: \#0DB9D7
# Pipe's Nord
https://github.com/PipeItToDevNull/PLN
Primary background: \#3b4252
red: \#bf616a;
orange: \#d08770;
yellow-light: \#ebcb8b;
yellow-dark: \#e4b860;
green: \#a3be8c;
purple: \#b48ead;
sea-green: \#8fbcbb;
cyan: \#88c0d0;
frost: \#81a1c1;
blue: \#5e81ac;
salmon: \#FC6E68;
# 47c Deep Purple
Dark background: \#180c34
Lighter background: \#281c44

View File

@ -1,13 +0,0 @@
#notes #programming #rust
Absolute paths function as intended
`cd .` takes you to the bianary location
#### Relative Paths
- Paths that are relative can be appended to the current dir
- `..` should strip the directory before it from the path
- `.` can be entirely removed from the absolute path and the endpoint will not be changed
### The Solution:
As it turns out, both Windows and Unix have prebuilt functions that handle cleaning up paths, that are implemented under `std::fs::canonicalize` https://doc.rust-lang.org/std/fs/fn.canonicalize.html

View File

@ -1,48 +0,0 @@
#laptop
#documentation
#issue
#closed
#linux
02/02/2022
Because wifi was broken by a pacman update, Im reverting to an older point in the repos(01/01/2022).
When updating via pacman -Syyuu, `error: failed to prepare transaction (could not satisfy dependencies)
:: installing expat (2.4.2-1) breaks dependency 'expat=2.4.4' required by lib32-expat
:: installing libcap (2.62-1) breaks dependency 'libcap=2.63' required by lib32-libcap` is returned.
`lib32-expat ` is an xml parser library [Arch WIki](https://archlinux.org/packages/multilib/x86_64/lib32-expat/), and lib32-libcap is some posix document `[arch wiki](https://archlinux.org/packages/multilib/x86_64/lib32-libcap/)`.
New solution: downgrade lib32-libcap(2.63-1 to 2.62-1) and lib32-expat(2.4.4-1 to 2.4.2-1)
Was going to use expat 2.4.3 but caused dependency issues with the 64 bit version. V2 successfully worked
sudo pacman -U /var/cache/pacman/pkg/[PACKAGE].pkg.tar.zst
After the above downgrade, `sudo pacman -Syyuu` with “y” on skip the lib32-expat and lib32-libcap worked, but returned
error: failed to commit transaction (conflicting files)
hwids: /usr/share/hwdata/pci.ids exists in filesystem (owned by hwdata)
hwids: /usr/share/hwdata/pnp.ids exists in filesystem (owned by hwdata)
hwids: /usr/share/hwdata/usb.ids exists in filesystem (owned by hwdata)
[referenced documentation for below as on garuda forums](https://forum.garudalinux.org/t/help-cant-upgrade/16237/2)
Couldnt figure out how to fix above issue, attempting a different date(15).
ISSUE CLOSED.
Solution, using the rollback repos to rollback to 2022/01/15

View File

@ -1,28 +0,0 @@
I set out on project Ash for a a variety of small reasons:
- I wanted to better learn how a shell interacts with an operating system, how it calls different commands
- I wanted to get better at writing scaleable code
## The Beginnings
I happened upon [this](https://brennan.io/2015/01/16/write-a-shell-in-c/) article about writing a shell in C, and was fascinated by the way it was written. It was fascinated by the extremely approchable way the article was written, with function calls defined first, and the actual contents of the function filled out later. Then it could be explained what each function does and why it's there, without relying too heavily on language specific semantics. This made it a great stepping stone, even though it's intended for the C programming language.
I started by writing a very basic framework to obtain user input as a string. As of right now, it's not an entire I/O lock, and so features like tab autocomplete or capturing Ctrl + C to stop the program from being exited are not currently functional. It functions as a loop that:
- Captures user input
- Seperates the user input into a list by spaces(this should probably changed later to account for features like `|, >, ;, &&`, which don't necessarily need a space)
- It then checks the first argument to see if it's a builtin shell command(`cd`, `help`, `exit`)
I found it interesting that `cd` is not an operating system utility, it's a shell utility, and when `cd` is run, it tells the next commands run what directory they were run from. In Rust this is implemented as [current_dir()](https://doc.rust-lang.org/std/process/struct.Command.html) for the Command struct. Initially I actually had a lot of trouble with relative and absolute paths. You can create a functional path by simply appending the relative path to the current absolute path, seperated by `/` (or `\` for Windows). While this is technically functional, it's really not elegant at all. I was ending up with valid file paths like `//./home/../home/./../etc/.`, and felt there must be a better solution. I didn't bother checking to see if Rust had a valid method for it, because I didn't know how to put "cleaning up a file pathpath" into a clean, google-able statement, and I felt I could better understand the process behind parsing it if I implemented it myself. I sat down, absolutely stumped, Obsidian open, writing out various logical rules to clean paths up. I ended up with a few simple precepts that *seemed* mostly functional, but ended up missing edge cases, or having flat out unexplained behavior. The nonfunctional rules are below:
- Paths that are relative can be appended to the current dir, then
- `..` should strip the non-`..` directory before it from the path
- `.` can be entirely removed from the absolute path and the endpoint will not be changed
This logic was flawed enough that exasperated and tired, I googled it, hoping that someone had made a crate that cleaned it up, or maybe there was some regex I could use. As it turns out, both Windows and Unix have prebuilt functions that handle cleaning up paths, that are implemented under `std::fs::canonicalize` ([docs](https://doc.rust-lang.org/std/fs/fn.canonicalize.html)).
- If no builtin commands are found, it passes it over to system exec handler. In C, processes must be started by forking the current process to a new thread, creating an exact copy with the `fork()` system call. You then instruct the new thread to replace itself with another process with the `exec()` call. Rust however, has a method that spawns new programs with `std::process::Command`. The first argument in the string is passed as the process to start, and each of the new arguments is passed to the process as an array of arguments with `.args()`, eg: `ls /bin` would start a new `ls` process, and pass `/bin` as an argument.
### The Future
I would like to improve on this project and make it good enough that it's daily driveable. Plans for new features include:
- Switching to a complete IO lock, this allows new features like:
- Tab autocomplete
- Capturing interrrupts
- A fully featured configuration file that allows changing prompts and behaviors
- Implementing the rest of the functionality that I use regularly, including redirects, pipes, and `;` or `&&`

View File

@ -1,4 +0,0 @@
#laptop
#issue
#open
#linux

View File

@ -1,6 +0,0 @@
#laptop
#issue
#linux
#open
### Disabling the watchdog timer
currently disabled via grub config, trying to disable module loading, don't know module name. Used `lsmod` to list modules, was unable to spot it after a cursory glance. `cat /proc/sys/kernel/watchdog` will show if it's active, and it does return 0, but I want it fully disabled. [see for disabling watchdog timer](https://wiki.archlinux.org/title/improving_performance#Watchdogs), [see for blacklisting modules](https://wiki.archlinux.org/title/Kernel_module#Blacklisting)