diff --git a/2020-04-13-17-32-27.org b/2020-04-13-17-32-27.org index f2f04a8..a69f4ac 100644 --- a/2020-04-13-17-32-27.org +++ b/2020-04-13-17-32-27.org @@ -1,23 +1,21 @@ #+title: File metadata #+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 -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). -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. -[[https://en.wikipedia.org/wiki/Metadata][Each type of files have different ways of embedding metadata.]] +File metadata is one of the most subtle requirements in [[file:2020-04-23-23-21-47.org][Personal information management]]. +It embeds data without relying too much on filesystem such as the file name, creation date, and modification date. -- 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]]. -- 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][~~]] element to store the metadata. +Each type of files have different ways of embedding 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). -Certain search engines such as Recoll and Tracker currently support searching metadata with XMP. +- Image files such as JPEG or PNG, metadata are embedded in Exchangeable image file format (EXIF). +- 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 ~~ 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. -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. +There are also universal formats such as Extensible metadata platform (XMP) or Meta Information Encapsulation (MIE) available either as embedded or a separate file. 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. diff --git a/2020-04-15-20-41-51.org b/2020-04-15-20-41-51.org index 6ea4bb3..0b408f9 100644 --- a/2020-04-15-20-41-51.org +++ b/2020-04-15-20-41-51.org @@ -1,6 +1,6 @@ #+title: Add a desktop search engine for your digital library #+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 @@ -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. - 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. - -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. +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. diff --git a/2020-07-06-03-47-52.org b/2020-07-06-03-47-52.org index ea76f3a..6e1dc43 100644 --- a/2020-07-06-03-47-52.org +++ b/2020-07-06-03-47-52.org @@ -1,13 +1,13 @@ #+title: Refer to advanced resources when skill-building for a solid short-term goal #+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 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. 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. Other side effects include creating deliberate practice sessions and taking the stakes off to a higher start. diff --git a/2020-09-16-23-09-01.org b/2020-09-16-23-09-01.org index 1e8ff7b..bb567fe 100644 --- a/2020-09-16-23-09-01.org +++ b/2020-09-16-23-09-01.org @@ -1,30 +1,27 @@ #+title: Use timestamps for effectively future-proofing your stuff #+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 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. -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. -In order to make updating the modification timestamp worth not to make it a chore, it is best to automate that task. -[fn:: Besides, it is only a chore for the first time versus $x$ amount of times.] - +In order to make updating the modification timestamp not tedious, it is best to automate that task. 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 \#+DATE: "2020-09-16 23:53:00 +08:00" \#+DATE_MODIFIED: "2020-09-17 10:33:42 +08:00" #+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. -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! -Automated timestamp for our text documents. +Emacs has a built-in time stamp feature that already took care of that task. +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. :D 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") (add-hook 'before-save-hook 'time-stamp) #+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.