customize stamps (annotations) in Okular

  1. Create the icon you want to use for your own stamp and save it in any graphics format supported by Okular (as png)
  2. Click the Add button, select type Stamp and enter a name for your stamp.
  3. Enter the full path to your custom icon into the dropdown box in the Stamp Symbol group.

symlinks on linux decoder

You need to have a relative symlink (like “../../folder/file” or “folder/folder/file”), not an absolute one /(like “/mnt/your-path/file”): this latter indeed is effectual only in your computer, not on decoder (or in whatever other device).

convert an ics file to a markdown diary

I. an old solution

Once I thought that the best solution was work with an ics online. The advantage of this is the possibility to access from any device (PC and smartphone). But there were many disadvantages, as I say afterwards.

I keep my previous steps, in casesomeone find it useful.

1) download the ics file

  • sudo apt install python3-pip
  • sudo pip3 install ics
  • create the bash executable file, like this
with google

#!/bin/bash

wget -O diario.ics https://calendar.google.com/calendar/ical/[remote path]/basic.ics

with nextcloud

wget -O diario.ics https://ecloud.global/remote.php/dav/calendars/[vostra user(ad esempio la mail]/personal/?export –user=[il vostro user, come prima]–password=[la vostra password]

2) convert the ics to md

afterwards, after downloading the ics file (in the following example “personal.ics”) you have to concert it to a md file. You can use a code like the folowing, in a python file (we call here “convert-ics.py”) located or linked in the same folder of ics file:

from ics import Calendar

md_template = """
## {name} - {start}
{desc}
{location} 
_{categ}_"""

with open("personal.ics") as f:
   cal = Calendar(f.read())

print("# Diario")
for e in sorted(cal.events):
    print(md_template.format(start=e.begin.strftime("%Y-%m-%e"), name=e.name, 
                             desc=e.description, location=e.location, 
                             categ=e.categories))

and then

python3 convert-ics.py > /[local-path]/local-file.md

II. a new solution: working in local

There were two big disadvantages working on remote

  • the privacy: on a remote server other could see my personal data; in local it is more difficult.
  • the archiving: there was an impossibility to split the “remote” past (and archive it) from the recent one (at least I didn’t find the way to get this possibility).

Both these disadvantages are solved having my personal ics on local: a) the privacy, because in local I am the only allowed to see my data; b) the archiving, because I can split an ics. This second point deserves some explications.

How to split an ics

If you open an ics with a text editor you will see that items are not in cronological order, so splitting an ics to get the new items separated from the old ones is not simple.

Therfore I converted first of all my ics in a csv file, thanks to this (very “customizable”) site website: IndigoBlue. The resulting csv file can be order cronologically and then splitted.

Afterwards you have to convert the csv (splitted) files to ics files: the best website I found is Manas Tungare. It convert perfectly your csv in a ics. Be careful: the date format must be 2021/07/07 and not, i.g., 2021-07-07; read carefully the instructions, in particular the required columns (and its names).

Finally you can convert the ics-archive to markdown, following the above step (convert the ics to md).

III. new perspectives

As long as there are tons of issues with python and the above way to convert an ics to markdown, you could use a new way, quite simple and probably better: convert a csv file to markdown, using a tool like Kate and regex.

embed database data in odt file

 the problem

In odt it is possible to insert some database data as fields in a odt file, but when you change data in phpmyadmin I get
1) a correct update in the data source view above the text,
2) not in the odt file (body: where
are the fields): the fields texts remain unchanged, even after doing the
command “update fields” (both from menu and from keyboard: F9, or
shift+ctrl+F9).

a solution

A workaround is to use insert – section to insert a part of a php file via localhost.

  1. you will see in your odt file the content of the (section=div, of the) php file, as in the picture following:
    image description
  2. insert -> section -> link -> file name “http://localhost/[path]/[filename].php” -> section (the “id” name you have chosen in php file, i.g. inserting a <div id=”biblio”>[php/mysql code]</div> the section name will “biblio”)

Of course, you must previously

  • activate a php/mysql server in local
  • and possibly have some knowledge of html/php source code.

avidemux too slow

It’s better use (one of) the following codecs for encoding

  • x264
  • libavcodec MPEG-1/MPEG-2
  • libavcodec MPEG-4
  • Xvid 

so Avidemux will be able to optizmize the CPU usage and will be much faster. And the CPU temperature will be lower.
Cfr.here.