Update notebook as of 2021-11-06

- Some updates to pacman as I'm going to trying to use Open Build
Service which apparently has support for publishing Arch Linux packages.
Pretty nice!

- Starting to take more notes for Git as I use it beyond the simple
commit and push workflow. I mostly use it to create patches for
packaging other applications.

- Updates for Drawabox.
This commit is contained in:
Gabriel Arazas 2021-11-06 12:06:25 +08:00
parent 4268cde034
commit 110ec318e0
7 changed files with 64 additions and 15 deletions

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

18
notebook/tools.git.org Normal file
View File

@ -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~)