diff --git a/notebook/2021-05-05-19-43-14.org b/notebook/2021-05-05-19-43-14.org index e4fc5d7..ff0f1ff 100644 --- a/notebook/2021-05-05-19-43-14.org +++ b/notebook/2021-05-05-19-43-14.org @@ -3,15 +3,15 @@ :END: #+title: Look for live sessions as another form of examples #+date: "2021-05-05 19:43:14 +08:00" -#+date_modified: "2021-05-20 00:29:46 +08:00" +#+date_modified: "2021-10-27 16:41:42 +08:00" #+language: en There is something powerful in seeing others doing the task as you are now seeing the process in action. -This is why seeing live sessions such as live studying, live coding, and speedpainting sessions are compelling to watch. A possible reason is our human tendency to follow by example. Watching live sessions in any form can be a good way to learn and gain perspectives as you're viewing the raw footage of the task from its conception to its completion. +This is why seeing live sessions such as live studying, live coding, and speedpainting sessions are compelling to watch. -Even pre-rendered forms of live sessions such as documentaries, behind-the-scenes footage, and commentaries are great to look for albeit incomplete. +Even pre-rendered forms of live sessions such as documentaries, pre-recorded competition matches, behind-the-scenes footage, and commentaries are great to look for albeit incomplete. It still gives you an idea of the process behind the topic. diff --git a/notebook/cli.curl.org b/notebook/cli.curl.org index 53a53cd..17bec42 100644 --- a/notebook/cli.curl.org +++ b/notebook/cli.curl.org @@ -3,7 +3,7 @@ :END: #+title: Command line: cURL #+date: "2021-06-04 10:56:52 +08:00" -#+date_modified: "2021-06-20 20:25:49 +08:00" +#+date_modified: "2021-10-24 22:02:49 +08:00" #+language: en #+property: header-args :eval no @@ -31,7 +31,7 @@ To see more, you can view the cURL manual page (i.e., ~man curl.1~) and see the - =-o [FILE], --output [FILE]= - save the results in the given file - =-O, --remote-name= - save the results as the remote name; useful for downloading -- =-L, --location= - if there redirects, follow them; mainly used in HTTP +- =-L, --location= - if there redirects, follow them; mainly used in HTTP and download links that often redirects to the real location diff --git a/notebook/cli.pacman.org b/notebook/cli.pacman.org index f1588f8..d0251a3 100644 --- a/notebook/cli.pacman.org +++ b/notebook/cli.pacman.org @@ -3,7 +3,7 @@ :END: #+title: Command line: pacman #+date: "2021-06-08 15:00:04 +08:00" -#+date_modified: "2021-10-09 18:12:07 +08:00" +#+date_modified: "2021-11-06 12:05:11 +08:00" #+language: en #+property: header_args :eval no @@ -28,12 +28,15 @@ pacman -S podman Here's what you can do with the package manager: - =-S= are concerned with syncing the local database to the remote databases. - - =-y= syncs the local database to the remote database; running with this flag alone is not recommended as the package manager will have problems. - - =-u= upgrades the local database; this should be used with =-y= if you intend it for a proper operating system upgrade. + - =-y, --refresh= syncs the local database to the remote database; running with this flag alone is not recommended as the package manager will have problems. + - =-u, --sysupgrade= upgrades the local database; this should be used with =-y= if you intend it for a proper operating system upgrade. + - =-g, --groups [GROUP]= prints what packages belong to the given group - =-Q= is primarily from querying information from your installed packages ranging from listing installed packages to listing all of the files owned by a certain package. - - =-l, --list= lists the files associated with the package. - - =-i, --info= prints information about the package. -- =-F= are mostly query-related operations with the database. + - =-l, --list [PACKAGES...]= lists the files associated with the package. + - =-i, --info [PACKAGES...]= prints information about the package. +- =-F [FILENAME]= are mostly query-related operations with the database. + It also prints which package owns the given file. + - =-y, --refresh= refreshes the database. - =-R= removes installed packages. - =-n, --nosave= removes the configuration files associated with the package; this doesn't remove files from the home directory, though. - =-s, --recursive= will recursively removes dependencies that are not used anywhere else. @@ -96,3 +99,14 @@ Another interactive script with [[id:4eb1f8b1-bc12-4a6c-8fa4-20e4c3542cf2][fzf]] #+begin_src bash pacman -Q --native --quiet | fzf --multi --prompt "Remove installed package(s) > " | xargs doas pacman -Rns --noconfirm #+end_src + + + + +* Related notes + +- pacman does not have a way to query packages that are not installed; + for example, you cannot know what files are owned by the package unless it is installed (also you have =pkgfile= for that) + +- pacman also cannot view the PKGBUILD of packages that are not installed; + you can use diff --git a/notebook/linux.systemd.org b/notebook/linux.systemd.org index 954047a..a4c3d75 100644 --- a/notebook/linux.systemd.org +++ b/notebook/linux.systemd.org @@ -1,9 +1,9 @@ :PROPERTIES: :ID: 20830b22-9e55-42a6-9cef-62a1697ea63d :END: -#+title: Exploring systemd features +#+title: systemd #+date: "2021-05-20 22:37:22 +08:00" -#+date_modified: "2021-08-07 20:21:53 +08:00" +#+date_modified: "2021-08-29 00:07:15 +08:00" #+language: en #+property: header-args :eval no diff --git a/notebook/literature.DrawaboxFreeExercise.org b/notebook/literature.DrawaboxFreeExercise.org index d694ecd..80e6094 100644 --- a/notebook/literature.DrawaboxFreeExercise.org +++ b/notebook/literature.DrawaboxFreeExercise.org @@ -3,7 +3,7 @@ :END: #+title: Drawabox course #+date: 2021-10-22 13:53:45 +08:00 -#+date_modified: 2021-10-29 17:03:30 +08:00 +#+date_modified: 2021-10-30 19:04:13 +08:00 #+published: #+author: #+source: https://drawabox.com/ @@ -51,12 +51,20 @@ - Superimposed lines - this is an exercise enforcing to draw with your arm; it is a straightforward exercise so far + - Ghosted Lines - this is where the ghosting method is introduced which is essential as more exercises will build upon this technique; it is an interesting exercise especially for me having some hand-eye coordination issues ;p + - Ghosted Planes - this is "Ghosted Lines" exercise but on steroids; enforces the ghosting method even more + - Tables of Ellipses - this is where I have problems with creating smooth ellipses; I eventually realized my problem is how I grip and how it fall backs to creating ellipses with my wrist instead of my arm; it's harder than I thought to draw circles with a pen; + it's a disaster; this is a habitual problem and will work out on this; I'm very tempted to restart this exercise but as the course says "No grinding and attempts at mastery before moving to each exercise" + +- Ellipses in Planes - I've done a little warm up with creating ellipses with the ghosting method and it indeed improve my ellipses unlike the previous disastrous result; + most of the ellipses appear to be confident but not much in accuracy; + that's the next thing to be worked on the upcoming warm ups, I guess diff --git a/notebook/packages.flatpak.org b/notebook/packages.flatpak.org index d3152be..7e6e7b8 100644 --- a/notebook/packages.flatpak.org +++ b/notebook/packages.flatpak.org @@ -3,7 +3,7 @@ :END: #+title: Flatpak packages #+date: "2021-06-27 23:46:41 +08:00" -#+date_modified: "2021-08-14 15:54:46 +08:00" +#+date_modified: "2021-11-04 16:21:45 +08:00" #+language: en @@ -11,8 +11,17 @@ - while runtimes can be created, there are only a handful of them in the official Flathub remote - some of the runtimes include Freedesktop, GNOME, and KDE - you can run the runtimes to know the installed packages (e.g., ~flatpak run org.freedesktop.Sdk//19.08~) +- Flatpak can get packages from a repository referred to as *remotes* similar to Arch packages or FreeBSD ports +- the package definition are referred to as a *manifest* similar to [[id:963c043e-4972-4b29-8360-223ec3465203][Nix packages]] +- Flatpak can create bundles from a manifest, enabling easier distribution without a Flatpak remote +- similar to [[id:963c043e-4972-4b29-8360-223ec3465203][Nix packages]] and [[id:be917383-84c4-4bf5-9ca0-b04bfb778f4f][Guix package manager]], sandboxing is an important part of the build process; + thus, there are limitations such as no network availability, filesystem access, and socket access; + by default, applications only have access to their runtime folders +- Flathub, the main repository, is concerned with [[id:fe9e21bc-3b38-4d0f-a785-253248a38ed7][Reproducible builds]] - examples: + [[https://github.com/flathub/com.mojang.Minecraft/][Minecraft]] is fairly simple by fetching the compiled binary and its dependencies with minimal compilation needed + [[https://github.com/flathub/com.rawtherapee.RawTherapee][RawTherapee]] is slightly complex with various dependencies defined mostly in one file + [[https://github.com/flathub/org.gnucash.GnuCash][Gnucash]] has a complex manifest that is composed of multiple dependencies packages as its own module file + [[https://github.com/flathub/org.libretro.RetroArch][RetroArch]] is similarly complex to Gnucash with its vendored dependencies packaged as its own module +- Flathub has a [[https://github.com/flatpak/flatpak-builder-tools][curated set of scripts]] to automate building manifests for several projects such as Python, Rust, and Node similar to roam:nixpkgs +- Flathub also has a [[https://github.com/flathub/shared-modules/][collection of modules intended to be shared among the repo]] serving as an additional base for the most common dependencies that cannot be found in runtimes diff --git a/notebook/tools.git.org b/notebook/tools.git.org new file mode 100644 index 0000000..77d0f26 --- /dev/null +++ b/notebook/tools.git.org @@ -0,0 +1,18 @@ +#+title: Git +#+date: 2021-08-27 22:10:45 +08:00 +#+date_modified: 2021-08-28 16:27:45 +08:00 +#+language: en + + +The de-facto version control system. + + + + +* Submodules + +- one way to vendor dependencies or use another project within the worktree +- Git will inspect =.gitmodules= as the submodule configuration file; + while it is plain-text, it is mostly managed with the ~git submodule~ subcommand +- to clone an existing project that uses submodules, you can add the =--recursive= flag on the ~git fetch~ subcommand; + if it's already clone, you can proceed as normal (e.g., ~git submodule init && git submodule update~)