Update 'Referring to advanced resources' note

This commit is contained in:
Gabriel Arazas 2021-05-02 02:18:43 +08:00
parent 7dd3dbdd57
commit 720bb2512d
4 changed files with 21 additions and 36 deletions

View File

@ -1,23 +1,21 @@
#+title: File metadata #+title: File metadata
#+date: "2020-04-13 17:32:27 +08:00" #+date: "2020-04-13 17:32:27 +08:00"
#+date_modified: "2020-09-09 05:17:29 +08:00" #+date_modified: "2021-05-02 02:11:01 +08:00"
#+language: en #+language: en
File metadata is one of the most subtle requirements in [[file:2020-04-23-23-21-47.org][Personal information management]] (or at least, that's what I think). File metadata is one of the most subtle requirements in [[file:2020-04-23-23-21-47.org][Personal information management]].
With the right tools such as desktop search engines (see [[file:2020-04-15-20-41-51.org][Add a desktop search engine for your digital library]]), you can quickly retrieve information as well as preserve some of its related information. It embeds data without relying too much on filesystem such as the file name, creation date, and modification date.
[[https://en.wikipedia.org/wiki/Metadata][Each type of files have different ways of embedding metadata.]]
- Image files such as JPEG or PNG, metadata are embedded in [[https://wikipedia.org/wiki/Exchangeable_image_file_format][Exchangeable image file format]] (EXIF) and you can modify it with various tools such as [[http://owl.phy.queensu.ca/~phil/exiftool/][ExifTool]]. Each type of files have different ways of embedding metadata:
- MP3 files have the [[https://en.wikipedia.org/wiki/ID3][ID3]] as the de-facto standard for embedding contextual information such as the artist, album, genre, comments, and others. [fn:: Though the standard is designed with MP3 in mind, it can be freely included in other formats such as MP4 or WAV files.]
- HTML documents contain the [[https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML][~<head>~]] element to store the metadata.
However, modern standards such as [[https://fr.wikipedia.org/wiki/Extensible_Metadata_Platform][Extensible metadata platform]] (XMP) targets unison of creating metadata among media files: images (e.g., MP3, OGG), videos (e.g., MP4, MKV), documents (e.g., PDF). - Image files such as JPEG or PNG, metadata are embedded in Exchangeable image file format (EXIF).
Certain search engines such as Recoll and Tracker currently support searching metadata with XMP. - MP3 files have the ID3 as the de-facto standard for embedding contextual information such as the artist, album, genre, comments, and others.
- Vorbis comments is a universal format commonly found on OGG.
- HTML documents contain the ~<head>~ element to store the metadata.
- Org mode documents allow file-level properties that are functionally equivalent to embedded metadata.
To modify the metadata of a file, certain tools such as [[https://exiftool.org/][Exiftool]] and [[https://www.alfresco.com/][Alfresco]] exists. There are also universal formats such as Extensible metadata platform (XMP) or Meta Information Encapsulation (MIE) available either as embedded or a separate file.
The process of manually adding metadata to non-textual files can be tedious but it may be worth the price if we're trying to retrieve some things especially for note-taking or [[file:2020-04-14-18-28-55.org][Maintain your own digital library]].
This also makes note-taking more dynamic with non-textual files and leverages more attachment to each linked note.
Beware about caring too much on metadata to the point of our metadata takes more space than the data themsevles. Beware about caring too much on metadata to the point of our metadata takes more space than the data themsevles.
Cautionary tales such as [[https://en.wikipedia.org/wiki/MS_Fnd_in_a_Lbry][MS Fnd in a Lbry]] have been written about it. Cautionary tales such as [[https://en.wikipedia.org/wiki/MS_Fnd_in_a_Lbry][MS Fnd in a Lbry]] have been written about it.

View File

@ -1,6 +1,6 @@
#+title: Add a desktop search engine for your digital library #+title: Add a desktop search engine for your digital library
#+date: "2020-04-15 20:41:51 +08:00" #+date: "2020-04-15 20:41:51 +08:00"
#+date_modified: "2020-09-09 05:09:41 +08:00" #+date_modified: "2021-05-02 02:18:00 +08:00"
#+language: en #+language: en
@ -15,9 +15,4 @@ An ideal desktop search engine should have the following things:
- Invites integration (and extension) with an API allowing for more control and features. - Invites integration (and extension) with an API allowing for more control and features.
- Highlights searching with a query language that is both simple and powerful. - Highlights searching with a query language that is both simple and powerful.
With a cursory search, I found [[https://www.lesbonscomptes.com/recoll/][Recoll]] that fits the bill with the added bonus of being a cross-platform tool and easily configurable. With a cursory search, I found [[roam:Recoll][Recoll]] that fits the bill with the added bonus of being a cross-platform tool and easily configurable.
A desktop search engine like Recoll and DocFetcher uses index-based searches which enables them to search quite fast.
In order to achieve Google Search-level of search speed, you have to build an index based from the contents of the directory.
Most desktop search engines index the entire disk by default (and it is not recommended) but they should let you configure what directories to include (both Recoll and DocFetcher do).
Indices should also be continually updated as your filesystem changes.

View File

@ -1,13 +1,13 @@
#+title: Refer to advanced resources when skill-building for a solid short-term goal #+title: Refer to advanced resources when skill-building for a solid short-term goal
#+date: "2020-07-06 03:47:52 +08:00" #+date: "2020-07-06 03:47:52 +08:00"
#+date_modified: "2021-04-30 14:23:28 +08:00" #+date_modified: "2021-05-02 00:05:44 +08:00"
#+language: en #+language: en
When starting out to build a skill like programming, 3D modelling, digital art, or cooking, you can look first for expert-created resources. When starting out to build a skill like programming, 3D modelling, digital art, or cooking, you can look first for expert-created resources.
For example, when starting out to 3D model, you can look for speedsculpting videos or a competition that involves many talented people in the industry. For example, when starting out to 3D model, you can look for speedsculpting videos or a competition that involves many talented people in the industry.
In programming, you could look for devlogs, highly advanced competitions, or a live coding session. In programming, you could look for devlogs, highly advanced competitions, or a live coding session.
You can then store the expert resources in your digital library (see [[file:2020-04-14-18-28-55.org][Maintain your own digital library]]) for future references. You can then store the expert resources and [[file:2020-04-14-18-28-55.org][Maintain your own digital library]] for future references.
The purpose of this is twofold: to serve as a solid short-term goal (as indicated by the title) and to create inspirations for your future projects. The purpose of this is twofold: to serve as a solid short-term goal (as indicated by the title) and to create inspirations for your future projects.
Other side effects include creating deliberate practice sessions and taking the stakes off to a higher start. Other side effects include creating deliberate practice sessions and taking the stakes off to a higher start.

View File

@ -1,30 +1,27 @@
#+title: Use timestamps for effectively future-proofing your stuff #+title: Use timestamps for effectively future-proofing your stuff
#+date: "2020-09-16 23:09:01 +08:00" #+date: "2020-09-16 23:09:01 +08:00"
#+date_modified: "2020-09-17 03:11:19 +08:00" #+date_modified: "2021-05-02 02:15:26 +08:00"
#+language: en #+language: en
One of the simplest ways to future-proof your documents with [[file:2020-04-13-17-32-27.org][File metadata]] is to create a timestamp. One of the simplest ways to future-proof your documents with [[file:2020-04-13-17-32-27.org][File metadata]] is to create a timestamp.
Specifically, two timestamps: one when it's created and one when it was last modified which will be continuously updated each time we modify the file. Specifically, two timestamps: one when it's created and one when it was last modified which will be continuously updated each time we modify the file.
This lets you quickly evaluate whether the information is up-to-date. This lets you quickly evaluate whether the information is up-to-date without relying on the filesystem.
It also lets you [[file:2020-04-14-18-28-55.org][Maintain your own digital library]] with relative ease if your focus is on up-to-date information. It also lets you [[file:2020-04-14-18-28-55.org][Maintain your own digital library]] with relative ease if your focus is on up-to-date information.
In order to make updating the modification timestamp worth not to make it a chore, it is best to automate that task. In order to make updating the modification timestamp not tedious, it is best to automate that task.
[fn:: Besides, it is only a chore for the first time versus $x$ amount of times.]
Different files may be applied differently as long as we can create a unified interface to search through them all. Different files may be applied differently as long as we can create a unified interface to search through them all.
(See [[file:2020-04-13-17-32-27.org][File metadata]] for more information about it.)
Here's a special example with [[file:2020-04-20-16-51-40.org][Org-mode]] documents: Here's an example with Org mode documents:
#+begin_src org :exports none #+begin_src org :exports none
\#+DATE: "2020-09-16 23:53:00 +08:00" \#+DATE: "2020-09-16 23:53:00 +08:00"
\#+DATE_MODIFIED: "2020-09-17 10:33:42 +08:00" \#+DATE_MODIFIED: "2020-09-17 10:33:42 +08:00"
#+end_src #+end_src
Thankfully, Emacs has a [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Time-Stamps.html][time stamp]] feature that abstracts that for us. Emacs has a built-in time stamp feature that already took care of that task.
We can then attach the timestamp update with a [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Hooks.html#Hooks][hook]] that will occur before saving the file and voila! We can then attach the timestamp update with a hook that will occur before saving the file and voila!
Automated timestamp for our text documents. Automated timestamp for our text documents. :D
Here's my (Doom Emacs) specific config as of 2020-09-17 for future references: Here's my (Doom Emacs) specific config as of 2020-09-17 for future references:
@ -39,8 +36,3 @@ Here's my (Doom Emacs) specific config as of 2020-09-17 for future references:
(setq time-stamp-format "%Y-%02m-%02d %02H:%02M:%02S%:z") (setq time-stamp-format "%Y-%02m-%02d %02H:%02M:%02S%:z")
(add-hook 'before-save-hook 'time-stamp) (add-hook 'before-save-hook 'time-stamp)
#+end_src #+end_src
This should be easily replicated to other editors.
All you need from a text editor is the hooks and a search-and-replace feature [fn:: Maybe an option limiting the lines to be searched to prevent large search sessions as well.].
For binary files, we can set the timestamp with a metadata writer then use a filesystem watcher and configure it to execute every time the file changes.