OpenLLM-France/wikimedia huggingface dataset:
# JavaScript/Letter spacing effect

This script creates a letter spacing effect in the browser. It can be recorded using a screen recorder and put into a video editor. It works by repeatedly updating the letter spacing CSS property of the text inside the letter spacing containers.
The effect starts after a two-second delay, specified using setTimeout, so the user can see the initial appearance. Additional functions for stopping, starting, and resetting the letter spacing are provided.
The max_letter_spacing variable specifies at which value the letter spacing should stop increasing. At the beginning, the user is asked to set a limit. It is set to thirty pixels by default.
# JavaScript/Debugging Challenges

These debugging challenges are written in JavaScript, and designed to complement the units: ICAB4225A Automate processes and ICAT4221A Locate equipment, system and software faults

## Challenge Set 1 - Lexical Errors

Lexical errors are introduced when the programmer enters symbols that are not part of the programming language. Unlike when you misspell a word in English, this inevitably leads to a breakdown in programming communications. See if you can see (or find) the lexical errors in the following code snippets...
1
2
3
4
5

## Challenge Set 2 - Syntactic Errors

A syntax error occurs when you use the right symbols, but in a way that doesn't make sense to the compiler or interpreter. Something like the English sentence: "You don't program good"
1
2
3
4
5
6

## Challenge Set 3 - Execution Errors

Execution errors occur when the program has the correct syntax and lexicon, but you're making the wrong requests to get the results you desire.
1
2
3
4

## Challenge Set 4 - Logic Errors

These are errors introduced Through faulty design. Once again, the syntax is correct, but the results are unexpected, usually because you haven't considered the data being processed. These are the hardest errors to spot, and often the most expensive to correct.
1
2
3
# JavaScript/Limitations

As of 2022, JavaScript has the following limitations:
* There appears to be no way to get a list of the active event listeners
* If no variable assigned to an interval (like var example=setInterval(…)), no interruption possible without closing or refreshing the page.
* An endless loop (using while or for) can not be interrupted without closing or reloading the page.
* No listing of active intervals or event listeners
* No removal of all event listeners from a specific element without affecting all sub-elements
* No direct removal of existing shadow DOMs (embedded documents with separate style sheets which are only necessary in rare circumstances) without affecting the parent element. A shadow DOM can only be removed by rewriting or changing the outer HTML, which removes all event listeners from the element and child elements.
* Constants (const) can not be deleted once created without closing or refreshing the page. Constants are meant to be unchangeable once specified, but they can not be removed as a whole.
* The prompt function can only generate binary choice dialogue boxes with "OK" and "Cancel" buttons, not "Yes" and "No". The latter dialogue boxes would have to be generated on the HTML interface itself, which takes far more effort than using the browser's built-in prompt dialogue.
# JavaScript/Digit grouping

Digits can be grouped in JavaScript by inserting separation characters after as many digits as the length of a digit group. Typically, the separation character is a comma (,), and there are three digits per group. The process of inserting separation characters is repeated as many times as the number's length divided by the length of a digit group, and that count is floored (rounded down).
The script also verifies whether the input is valid, and avoids placing a trailing separation character after the number.
The code below is commented to help you understand the purposes of individual lines.
# JavaScript/Line reverser

To reverse the lines of a string, one needs to verify whether the data that was fed into the function is a string. This is done using the typeof function. If the data is a number, it will be returned without being processed, since pure numbers can only be in one line.
Then, the length of the first line is detected, so the line can be extracted from the input string using the substring function, and appended to the variable that will be returned after being built.
After the first line of the input string is appended to the output variable, the first line and the first line break will be cut off from the input string. This process is repeated until there are no more lines left in the input string.
The last input and output are memorized in the line_reverser_last_input and line_reverser_last_output variables respectively, so they can be re-used without having to run the line reverser function again.

## Try it out

You can test the code by first loading it by pasting it into the console of the web development tools on a desktop computer or laptop web browser, or into the URL bar of a mobile web browser after javascript:.
After having loaded the script, enter javascript:alert("line 1 \n line 2") in the URL bar or the web development tools. \n is a line feed. The lines will be returned reversedly.
# Linux/Basic commands/ls

ls is a command to list computer files in Linux and Unix and Unix-like operating systems.

## Linux Examples

* ls
* ls -lhaR
* One line listing with sizes using ls and find: ls -ldh $(find /path/to/search/)
* Sort by size:
** ls -lRh | sort -rnk5
** Including full path: ls -ldh $(find ./) | sort -rnk5
# Linux/Basic commands/parallel

parallel allows the user to execute shell scripts or commands in parallel.

## Activities
### Basic

* Execute a command in parallel by ssh in MACHINE1 and MACHINE2 using parallel
* Read stackexchange questions about gnu-parallel: https://unix.stackexchange.com/questions/tagged/gnu-parallel?tab=votes&pagesize=50
* Install parallel in macOS: brew install parallel can conflict with brew install moreutils

### Intermediate

* Review different parallel options such as: --keep-order or -k which keep order in the output. Do not affect order of execution.
* Update all your git repositories in a directory in macOS using parallel: ls | parallel git -C fetch
# Linux/Basic commands/parallel/Execute a command in parallel by ssh

    parallel ssh 'COMMAND' ::: MACHINE1 MACHINE2. See also pssh.
    parallel -q ssh 'ECHO "TEST"; COMMAND' ::: MACHINE1 MACHINE2
       -q quote command. The command must be a simple command (see man bash) without redirections and without variable assignments. This will quote the command line and arguments so special characters are not interpreted by the shell.
Using variables:
    parallel -q ssh "echo; $COMMAND" ::: $MACHINES
or creating a basic shell script:
You can have a similar solution with a for loop but in this case command output will be mixed between both commands. for HOST in HOSTNAME1 HOSTNAME2; do ssh $HOST "COMMAND" & done
# Linux/Basic commands/stty

stty command allows to set the options for a terminal device interface. For example you can disable Ctrl+C or Ctrl+Z in your scripts using the following commands.
* To disable Ctrl+C: stty intr ''
* To disable Ctrl+Z: stty susp ''
# Linux/Basic commands/top

top (table of processes) is a task manager program found in many Unix-like operating systems that displays information about CPU and memory utilization.
Other similar utilities are htop, ntop, iotop and nmon. nmon additionally to from CPU and memory provide disks information.
# Linux/Basic commands/find

find is a command-line utility that searches for files in one or more directory trees of a file system. Available in Linux, included in findutils packages, and in Windows (w:Find_(Windows)).

## Linux Example commands

* Search files between a size range:
** find . -size +10G
** find . -size +100k -a -size -500k
* Search empty files: find . -size 0k
* Search non-empty files: find . ! -size 0k
* One line listing with sizes using ls and find: ls -ldh $(find /path/to/search/)
* One line filename and directory listing with full path: find . -name "*"
* One line filename and NOT directory . listing with full path: find . -type f -exec ls \{\} \;
* Search for hard links: find /path/to/search -samefile /path/to/your/file (See also: stat)
* Order by size:
** find . -type f -ls | sort -rnk7 | more
** find . -ls 2>&1 | sort -rnk7 | more

## Activities

* Identify differences between find and ls
# Linux/Basic commands/grep

grep is a command-line utility for searching plain-text data sets for lines that match a regular expression.
# Linux/Basic commands/ln

ln is a standard Unix command used to create links (link) to files.

## Link files

Links allow more than one file name to refer to the same file, elsewhere.
There are two types of links, both of which are created by ln:
* symbolic links, which refer to a symbolic path indicating the abstract location of another file, and
* hard links, which refer to the specific location of physical data.
These links behave differently when the source of the link (what is being linked to) is moved or removed. Symbolic links are not updated (they merely contain a string which is the pathname of its target); hard links always refer to the source, even if moved or removed.

## Specification

The Single Unix Specification (SUS) specifies the behaviour that a link or links (either symbolic or hard) will be created where specified that will link to the target file (or directory) specified.
More precisely, ln can be invoked in one of two ways: two arguments -- first an argument specifying the source file then the target, or multiple (greater than two) arguments, specifying firstly a number of source files, then a directory in which all the links are to be created. In the latter invocation, the names of the links will be that of the source file. This invocation will be assumed if the last argument is a directory. If invoked in the latter form, ln's behaviour is not specified (it is implementation-defined).
ln is specified to use behaviour identical to that of the standard unlink and link functions.

## Usage

The SUS mandates for ln two options: -f will force removal of existing files to allow the link to be created; and -s will create symbolic links. Therefore, ln with no options creates a hard link, ln -f forces a hard link, ln -s creates a symbolic link, and ln -fs forces a symbolic link.
Other Unix and Unix-like operating systems may add extra options. GNU ln adds options such as -b to back up files before creating links, -v to print out the name of each file before links are created, and others. BSD ln adds -h, preventing ln from descending into targets whose symlinks point to directories
would have the effect of creating a hard link called link_name that points to the same data as the existing file file_name.
Symbolic link creation and deletion:
To begin with, enter the directory called "test":
There is nothing in it. Let's create a small text file called data.txt:
Notice that the reference count of the directory (total 8) just increased (total 12). The new file data.txt is stored in inode 969768. Let's create a symbolic (soft) link to data.txt. We will name our symbolic link slink.txt:
The reference count of the directory has not changed (total 12). Our symbolic (soft) link is stored in a different inode than the text file (969817). The information stored in data.txt is accessible through the slink.txt:
If we delete the text file data.txt, slink.txt becomes a broken link and our data is lost.
If slink.txt was a hard link, our data would still be accessible through slink.txt. Also, if you delete the soft link itself, the data would still be there:
$ ls -ali
$ rm slink.txt
$ ls -ali
# Linux/Basic commands/rsync

rsync is an advanced copy and synchronization tool including progress indicator.

## Configuration files

* /etc/rsyncd.conf which includes don't compress options for some file extensions

## Options

    -W, --whole-file
    -z, --compress compresses the file data as it is sent to the destination machine using zlib compression library

## Basic commands

* Copy files from remote server to local machine: rsync -chavzP --stats user@remote.host:/path/to/copy /path/to/local/storage (explainshell)
    -c, --checksum option can slow transfers specially for large files
    -h, --human-readable
    -a, --archive. Equivalent to -rlptgoD
    -v, --verbose
    -z, --compress
    -P, --partial --progress. --partial keep partially transferred files
    --stats, print statistics
    -a, --archive. Equivalent to -rlptgoD
       -r --recursive recurse into directoriees
       -l --links copy symlinks as symlinks
       -p --perms preserve permissions
       -t --times preserve modification times
       -g --group preserve group
       -o --owner preserve owner (super-user only)
       -D same as --devices --specials
* rsync -a -v --ignore-existing src dst

## Compression

rsync support compression, but you can also compress your data with other external compression tools before using rsync. Such as bzip, gzip or xz
Compressing using xz
* xz -v -T0 file_to_compress
       -v provides progress bar
       -T0 use all available Threads, multi-threaded compression supported since 2014, version 5.2.0.

## Activities

* Create a remote copy of your files for backup proposes using rsync
* Read StackOverflow questions about rsync: https://stackoverflow.com/questions/tagged/rsync?tab=Votes
* Understand the differences between cp, scp and rsync: https://stackoverflow.com/questions/20244585/how-does-scp-differ-from-rsync
* Learn Effect of Trailing Slash / in rsync: https://www.alibabacloud.com/blog/speeding-up-network-file-transfers-with-rsync_594337
* Learn use of --inplace for transferring large files and its important implications: http://man7.org/linux/man-pages/man1/rsync.1.html, also evaluate -c, --checksum impact on transfering large files
* Learn about -W, --whole-file copy files whole (without delta-xfer algorithm), implications and usage cases such as not making a diff copy.
* Learn about --sparse option and conflicts with --inplace
# Linux/Basic commands/mailx

Mailx command allows to read or send email from command line.

### Examples

* Sending and email:
    echo "Hello world" | mailx -s "My first mail message using mailx command line" localusername@localhost
* Reading emails:
    mailx or mailx -f (to read old messages)
# Modules for Pregraduate and Postgraduate Occupational Medicine education/Day 15

DAY 15

## 09:00-09:45 Investigation "Burn out in university lecturers"

Obj 15: How to use Dropbox and Google Drive

## 10:00-10:45 Group Work

* Production step by step with your review article

## 11:00-11:45 Group presentations

* Presentation of the progress in the research article

## 14:00-18:00 Homework

* Self-study of literature related to the group work
# Modules for Pregraduate and Postgraduate Occupational Medicine education/Day 1
## 09:00-09:45 Welcome and introduction

* Google survey of the participants
* Overview of the study materials (Wikibook Occupational Medicine)

## 10:00-10:45 Group Work

* What is Evidence-Based Medicine ?

## 11:00-11:45 Group presentations

* Result of group work

## 14:00-18:00 Homework

* Orientation in the study materials
* Literature search own interest
# Modules for Pregraduate and Postgraduate Occupational Medicine education/Day 16

DAY 16

## 09:00-09:45 Investigation - burn out in university lecturers

Obj 15: How to use Dropbox and Google Drive

## 10:00-10:45 Group Work

* Continue step by step with the article

## 11:00-11:45 Group presentations

* Presentation of the progress in the review article

## 14:00-18:00 Homework

* Self-study of literature related to the review project
# Modules for Pregraduate and Postgraduate Occupational Medicine education/Day 11

DAY 11

## 09:00-09:45 Clinical part - Invited lecturer Dra. Gladys Mendoza

Lecture title: Children small for date in deprived areas

## 10:00-10:45 Group Work

* Literature search and review in PubMed, Google Scholar and Cochrane:
* Children small for date in deprived areas

## 11:00-11:45 Group presentations

* Result of literature review

## 14:00-18:00 Homework

* Continue with the literature search and use of Zotero
# Modules for Pregraduate and Postgraduate Occupational Medicine education/Day 14

DAY 14

## 09:00-09:45 Investigation part

obj 14 Propose methods to prevent low back health risks in the workplace
* Module Book for Occupational Medicine at the University of Panamá
* ILO occupational health prevention - Promoting Jobs, Protecting People
* ILO Encyclopaedia, Health Risks and Prevention in the Industries

## 10:00-10:45 Group Work

* Literature review about "how to prevent burn out in university lecturers"
* Literature search in PubMed, Google Scholar and Cochrane:
* Production step by step of a small article

## 11:00-11:45 Group presentations

* Literature review results and progress in the research article writing

## 14:00-18:00 Homework

* Self-study of prevention at the workplace
* ILO occupational health prevention - Promoting Jobs, Protecting People
* ILO Encyclopaedia, Health Risks and Prevention in the Industries
# Modules for Pregraduate and Postgraduate Occupational Medicine education/Day 10

DAY 10

## 09:00-09:45 Clinical part - Invited lecturer

* Invited Lecturer: Dr. Guillermo Perez: Orthopedic - occupational low back pain

## 10:00-10:45 Group Work

* Literature search in PubMed, Google Scholar and Cochrane: occupational low back pain
* Zotero

## 11:00-11:45 Group presentations

* Result of literature review

## 14:00-18:00 Homework

* Self-study: systematic scientific literature reviews of occupational low back pain
# Modules for Pregraduate and Postgraduate Occupational Medicine education/Day 13

DAY 13

## 09:00-09:45 Investigation part

Review study on "Burn out in university lecturers"
OBJ 13 research projects and draft a research protocol
* go to page here - how to start a research project

## 10:00-10:45 Group Work

* Literature search about burn out in university lecturers
* PubMed, Google Scholar and Cochrane
* Zotero

## 14:00-18:00 Homework

* Self-study
# Mathematics for Applied Sciences (Osnabrück 2023-2024)/Part I/Exercise sheets

* List of definitions
* Important theorems
# Mathematics for Applied Sciences (Osnabrück 2023-2024)/Part I/Information

This mathematical course is for beginners at the University of Osnabrück in the subjects Computer sciences, Cognitive sciences, Physics and System sciences. It is an introduction to advanced mathematics on the academic level. It covers logical foundation, sets, mappings, algebraic structures like fields and polynomials, the basics of analysis like sequences, continuity, differentiability, primitive functions and the basics of linear algebra like vector spaces, bases, linear maps, eigenvalues. Enjoy!
# Progress and Prospects in Parkinson's Research/Therapy/Neuroprotection/Probucol

   Probucol is a lipid-lowering phenolic compound with anti-inflammatory and antioxidant properties that has been recently reported as protective in neurotoxicity and neurodegeneration models.

## Research

2013
Ribeiro et al Swiss mice were treated with probucol during 21 days (11.8 mg/kg; oral route). Two weeks after the beginning of treatment, mice received a single intracerebroventricular (i.c.v.) infusion of 6-hydroxydopamine (6-OHDA).
   On the 21st day, locomotor performance, striatal oxidative stress-related parameters, and striatal tyrosine hydroxylase and synaptophysin levels, were measured as outcomes of toxicity. 6-OHDA-infused mice showed hyperlocomotion and a significant decrease in striatal tyrosine hydroxylase (TH) and synaptophysin levels. In addition, 6-OHDA-infused mice showed reduced superoxide dismutase activity

## Further Reading

Therapy > Neuroprotection
Sub Pages:
    Neuroprotective agents
    Substances with possible neuroprotective properties:
    Caffeine,--Celastrol,--Co-Enzyme Q10,--Creatine,--DHA,--Exendin-4 (EX-4),--GDNF,--Glutathione (GSH),--GM1,--Isradipine,--Melatonin,--Minocycline,--Nicotine,--NSAIDs,--Phenylbutyrate,--Phytic Acid,--Probucol,--Quinoxaline,--Rasagiline,--Riboflavin,--Statins,--Tolcapone,--Urate & Uric Acid,--Vitamin D,--Vitamin E,--
# Progress and Prospects in Parkinson's Research/Therapy/Neuroprotection/Phytic Acid

   Phytic acid is a powerful antioxidant and it has been hypothesised that it could have neuroprotective qualities for PD patients. Research is at the stage of basic data gathering.

## Background

Phytic acid (known as inositol hexakisphosphate (IP6), or phytate when in salt form) is the principal storage form of phosphorus in many plant tissues, especially bran and seeds.

## Research

2003
Obata examined the antioxidant effect of phytic acid on iron (II)-enhanced hydroxyl radical (*OH) generation induced by MPP+ in the extracellular fluid of rat striatum. The results were :-
   These results suggest that the antiradical effect of phytic acid occurs by chelating iron required for the MPP(+)-enhanced *OH generation via the Fenton-type reaction.
2008
Xu et al tested the hypothesis that excess iron associated with cell death in PD could be reduced by the application of phytic acid. They tried this on rats pre-treated with MPP+ to render them Parkinsonian. Their results concluded:-
   Collectively, our results demonstrate a significant neuroprotective effect of phytate in a cell culture model of PD.
2011
Xu et al repeated the 2008 research with a number of variables. The conclusion:-
   Together, our data suggest that IP6 protects against 6-OHDA-induced cell apoptosis in both normal and iron-excess conditions, and IP6 may offer neuroprotection in PD.

## Further Reading

2011
Kell, Douglas B. Full Text Arch. Toxicol.84 (11) 823—889
Towards a unifying systems biology understanding of large-scale cellular death and destruction caused by poorly iganded iron: Parkinson’s, Huntington’s, Alzheimer’s, prions, bactericides, chemical toxiclogy and others as examples.
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2988997/?tool=pmcentrez
Today
   Use the following links to query the PubMed, PubMed Central and Google Scholar databases using the Search terms:- Parkinson's_Disease Phytic_acid.
   This will list the latest papers on this topic. You are invited to update this page to reflect such recent results, pointing out their significance.
Pubmed (abstracts)
Pubmed_Central (Full_Text)
Google_Scholar

## Related pages

Therapy > Neuroprotection
Sub Pages:
    Neuroprotective agents
    Substances with possible neuroprotective properties:
    Caffeine,--Celastrol,--Co-Enzyme Q10,--Creatine,--DHA,--Exendin-4 (EX-4),--GDNF,--Glutathione (GSH),--GM1,--Isradipine,--Melatonin,--Minocycline,--Nicotine,--NSAIDs,--Phenylbutyrate,--Phytic Acid,--Probucol,--Quinoxaline,--Rasagiline,--Riboflavin,--Statins,--Tolcapone,--Urate & Uric Acid,--Vitamin D,--Vitamin E,--