mirror of
https://github.com/foo-dogsquared/wiki.git
synced 2025-01-31 01:57:54 +00:00
Update 'Referring to advanced resources' note
This commit is contained in:
parent
7dd3dbdd57
commit
720bb2512d
@ -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.
|
||||||
|
@ -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.
|
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
|
||||||
|
Loading…
Reference in New Issue
Block a user