dot

packages and services management
Log | Files | Refs | README

commit dc4ce1048de0c5fb6b399f89a0e4afc529a5f42f
parent 985968bfc70095883489e2dc1f96cda2c4333fc3
Author: Josuah <mail@josuah.net>
Date:   Fri,  9 Feb 2018 02:40:08 +0100

importing man pages from srv

Diffstat:
AREADME | 12++++++++++++
AREADME.7 | 25+++++++++++++++++++++++++
Mbin/pack | 3++-
Aconfigure | 13+++++++++++++
Mdaemon/ii | 2+-
Aman/README.7 | 25+++++++++++++++++++++++++
Aman/agenda.1 | 176+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/agenda.5 | 115+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/ascii.7 | 50++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/atreus.4 | 113+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/books.7 | 120+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/cell.4 | 110+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/cgr.7 | 107+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/electrophoresis.7 | 45+++++++++++++++++++++++++++++++++++++++++++++
Aman/evolutiond.8 | 165+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/ff2braille.1 | 29+++++++++++++++++++++++++++++
Aman/iomenu.1 | 120+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/object_storage.7 | 160+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aman/terminals.7 | 298+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpack/collectd/build | 9++-------
20 files changed, 1688 insertions(+), 9 deletions(-)

diff --git a/README b/README @@ -0,0 +1,12 @@ +CONFIG(7) Miscellaneous Information Manual CONFIG(7) + +NAME + configuration what comes after writing software + +SYNOPSIS + +DESCRIPTION + Configuration files to build and setup selected software on multiple + machines. + +OpenBSD 6.2 February 9, 2018 OpenBSD 6.2 diff --git a/README.7 b/README.7 @@ -0,0 +1,25 @@ +.Dd $Mdocdate: February 09 2018$ +.Dt CONFIG 7 +.Os +. +. +.Sh NAME +. +.Nm configuration +.Nd what comes after writing software +. +. +.Sh SYNOPSIS +. +.Bd -literal +\&./configure +\&. ~/.profile +.Ed +. +. +.Sh DESCRIPTION +. +Configuration files to build and setup selected software on multiple +machines. +. +.Pp diff --git a/bin/pack b/bin/pack @@ -55,7 +55,8 @@ case "${1}" in ;; (del) rm -rf "${OPT}" - find -L "${SYS}" -type l -exec rm {} + + find -L "${SYS}" -name opt -prune -o -name src -prune -o \ + -type l -exec rm {} + ;; (*) echo 'usage: pack tar | git | get | build | add | del <package>' diff --git a/configure b/configure @@ -0,0 +1,13 @@ +#!/bin/sh -e + +cd "${0%/*}" + +. dot/profile + +find * -type d -exec mkdir -p "${ETC}/{}" \; +find * ! -type d -exec ln -fs "${PWD}/{}" "${ETC}/{}" \; + +cd dot +find * -type d -exec mkdir -p "${HOME}/.{}" \; +find * ! -type d -exec ln -fs "${PWD}/{}" "${HOME}/.{}" \; +find -L "${HOME}" -maxdepth 2 -type l -exec rm {} + diff --git a/daemon/ii b/daemon/ii @@ -5,7 +5,7 @@ port="${2:-6667}" mkdir -p "${VAR}/irc/${host}" "${LOG}/ii" -exec ii \ +pgrep -f "ii -s ${host}" || exec ii \ -s "${host}" \ -i "${HOME}/.cache/irc" \ -p "${port}" \ diff --git a/man/README.7 b/man/README.7 @@ -0,0 +1,25 @@ +.Dd $Mdocdate: February 09 2018$ +.Dt CONFIG 7 +.Os +. +. +.Sh NAME +. +.Nm configuration +.Nd what comes after writing software +. +. +.Sh SYNOPSIS +. +.Bd -literal +./configure +. "${HOME}/.profile" +.Ed +. +. +.Sh DESCRIPTION +. +Configuration files to build and setup selected software on multiple +machines. +. +.Pp diff --git a/man/agenda.1 b/man/agenda.1 @@ -0,0 +1,176 @@ +.Dd $Mdocdate: December 23 2017$ +.Dt AGENDA 1 +.Os +. +. +.Sh NAME +. +.Nm agenda +.Nd plain text agenda with ical support +. +. +.Sh SYNOPSIS +. +.Nm Ic add Ar name Ar begin Ar end +.Nm Ic edit Ar name +.Nm Ic show Ar name Op Ar sort +.Nm Ic import Ar ics_file Ar name Op +- Ns Ar HH +. +. +.Sh DESCRIPTION +. +.Nm +displays +.Xr agenda 5 +files created by +.Nm , +by hand, or imported from an +.Pa ics +file. +. +. +.Ss Nm Ic add Ar name Ar begin Ar end +. +Create a new +.Xr agenda 5 +entry in the +.Ar name +agenda in the +and open this file with an editor. +.Ar begin +and +.Ar end +are dates formatted as +.Ql YYYY-MM-DD-HH-MM . +. +. +.Ss Nm Ic edit Ar name +. +Open the +.Ar name +agenda with an editor. +. +. +.Ss Nm Ic show Ar name Op Ar sort +. +Render the +.Ar name +agenda to standard output with events sorted according to the +.Ar sort +characters, among: +. +.Bl -tag -compact -width 6n +. +.It Ql B +for begin date, +. +.It Ql E +for end date, +. +.It Ql S +for summary, +. +.It Ql C +for category, +. +.It Ql L +for location. +. +.El +. +By default, +.Ar sort +is +.Ql BECLS +. +. +.Ss Nm Ic import Ar ics_file Ar name Op +- Ns Ar HH +. +Convert +.Ar ics_file +to the +.Xr agenda 5 +format and store it in the +.Ar name +agenda, replacing its content. +.Ar HH +is the timezone offset of the agenda imported, optionnaly preceded by a +.Ql - +or +.Ql + . +. +. +.Ss Nm Ic gopher +. +Generate a gopher menu list in a format compatible with +.Xr geomyidae 1 . +The links are relative to current directory with the +.Dq Pa .txt +extension added. +The command should be launched in the root of the directory served and +.Ev AGENDA +must be set one of its subdirectories. +. +. +.Sh ENVIRONMENT +. +.Bl -tag -width 6n +. +.It Ev AGENDA +Path th the agenda dir, defaults to +.Pa ~/.config/agenda . +. +.It Ev EDITOR +Started to edit the agenda file with the +.Ic add +and +.Ic edit +commands. +. +.It Ev TZ +Timezone to use for printing the dates. +. +.El +. +. +.Sh EXAMPLES +. +Import an ical agenda from a gopher uri: +.Dl % curl gopher://url | agenda import - fosdem +01 +. +.Pp +Print the time offset corresponding to the Europe/Brussels timezone: +.Dl % TZ=Europe/Brussels date +%z | cut -c -3 +. +.Pp +Print the travel agenda with times expressed in the Japan timezone: +.Dl % TZ=Japan agenda show travel +. +.Pp +Print the fosdem agenda sorted by +.Dq location , then by +.Dq begin date : +.Dl % agenda show fosdem LB +. +. +.Sh SEE ALSO +. +.Xr calendar 1 , +.Xr date 1 , +.Xr agenda 5 +. +. +.Sh STANDARDS +. +Only a subset of ical format is supported. +. +. +.Sh AUTHORS +. +.An Josuah Demangeon Aq Mt mail@josuah.net +. +. +.Sh CAVEATS +. +Events spanning across multiple month will be displayed poorly. +Other multiple-day events are displayed properly. diff --git a/man/agenda.5 b/man/agenda.5 @@ -0,0 +1,115 @@ +.Dd $Mdocdate: December 24 2017$ +.Dt AGENDA 5 +.Os +. +. +.Sh NAME +. +.Nm agenda +.Nd simple format for storing agenda entries +. +. +.Sh DESCRIPTION +. +The +.Nm +format is made to be edited easily with a text editor. +It is composed by a leading key character, a column +. +.Pq Ql \&: , +and a value. +If a key is used multiple times, the values are joined with spaces: +. +.Bd -literal -offset 6n +K:value1 +K:value2 +.Ed +. +.Pp +is equivalent to +. +.Bd -literal -offset 6n +K:value1 value2 +.Ed +. +.Pp +The key character is one of: +.Bl -tag -width 6n +. +.It Ql B +Beginning of the event as an UNIX timestamp, seconds since Jan 1, 1970 in UTC +timezone. +. +.It Ql E +End of the event with the same format as +.Ql B , +. +.It Ql S +Summary, a single line description, a title. +. +.It Ql C +Category, one or multiple keywords to group related events. +. +.It Ql L +Location at which the event takes place, such as an address. +. +.It Ql D +Description, a longer text with all the details if needed. +.El +. +.Pp +An event is composed of at least a +.Ql B +(first), +.Ql E +and +.Ql S +fields, with the others optionals. +Events are terminated by +.Ql \&: +alone on a line. +. +. +.Sh EXAMPLES +. +Complete formatted event: +. +.Bd -literal -offset 6n +B:1514465100 +E:1514466900 +S:Why Do We Anthropomorphize Computers?... - Marloes de Valk +C:Art & Culture +L:Saal Borg - Exhibiton Grounds Messeeallee 04356 Leipzig, Germany +D:Waiting for the technological rapture in the church of big data. +D:The paralysing effect of hiding the human hand in software +D:through anthropomorphising computers and dehumanising ourselves. +: +.Ed +. +.Pp +Multiple minimal events: +. +.Bd -literal -offset 6n +B:1514009000 +E:1514010000 +S:Breakfast +: +B:1514025700 +E:1514029300 +S:Lunch +: +B:1514053300 +E:1514057700 +S:Dinner +: +.Ed +. +. +.Sh STANDARDS +. +There is no standard for this format besides this man page. +. +. +.Sh AUTHORS +. +.An Josuah Demangeon Aq Mt mail@josuah.net diff --git a/man/ascii.7 b/man/ascii.7 @@ -0,0 +1,50 @@ +.Dd $Mdocdate: Oct 10 2017 $ +.Dt ASCII 7 +.Os +. +. +.Sh NAME +. +.Nm ascii +.Nd four-column representation of the ASCII set +. +. +.Sh DESCRIPTION +. +.Bd -literal -offset left +.Bf Em +Oct Dec Hex Oct Dec Hex Oct Dec Hex Oct Dec Hex +.Ef +000 000 00 nul 040 032 20 spc 100 064 40 @ 140 096 60 ` +001 001 01 soh 041 033 21 ! 101 065 41 A 141 097 61 a +002 002 02 stx 042 034 22 " 102 066 42 B 142 098 62 b +003 003 03 etx 043 034 23 # 103 067 43 C 143 099 63 c +004 004 04 eot 044 036 24 $ 104 068 44 D 144 100 64 d +005 005 05 enq 045 037 25 % 105 069 45 E 145 101 65 e +006 006 06 ack 046 038 20 & 106 070 46 F 146 102 66 f +007 007 07 bel 047 039 20 ' 107 071 47 G 147 103 67 g +010 008 08 bs 050 040 28 ( 110 072 48 H 150 104 68 h +011 009 09 ht 051 041 29 ) 111 073 49 I 151 105 69 i +012 010 0a lf 052 042 2a * 112 074 4a J 152 106 6a j +013 011 0b vt 053 043 2b + 113 075 4b K 153 107 6b k +014 012 0c ff 054 044 2c , 114 076 4c L 154 108 6c l +015 013 0d cr 055 045 2d - 115 073 4d M 155 109 6d m +016 014 0e so 056 046 2e . 116 073 4e N 156 110 6e n +017 015 0f si 057 047 2f / 117 073 4f O 157 111 6f o +020 016 10 dle 060 048 30 0 120 073 50 P 160 112 70 p +021 017 11 dc1 061 049 31 1 121 077 51 Q 161 113 71 q +022 018 12 dc2 062 050 32 2 122 078 52 R 162 114 72 r +023 019 13 dc3 063 051 33 3 123 079 53 S 163 115 73 s +024 020 14 dc4 044 052 34 4 124 080 54 T 164 116 74 t +025 021 15 nak 045 053 35 5 125 081 55 U 165 117 75 u +026 022 16 syn 056 054 36 6 126 082 56 V 166 118 76 v +027 023 17 etb 057 055 37 7 127 083 57 W 167 119 77 w +030 024 18 can 060 055 38 8 130 084 58 X 170 120 78 x +031 025 19 em 061 056 39 9 131 085 59 Y 171 121 79 y +032 026 1a sub 062 057 3a : 132 086 5a Z 172 122 7a z +033 027 1b esc 063 058 3b ; 133 087 5b [ 173 123 7b { +034 028 1c fs 064 059 3c < 134 088 5c \\ 174 124 7c | +035 029 1d gs 065 060 3d = 135 089 5d ] 175 125 7d } +036 030 1e rs 066 061 3e > 136 090 5e ^ 176 126 7e ~ +037 031 1f us 067 062 3f ? 137 091 5f _ 177 127 7f del +.Ed diff --git a/man/atreus.4 b/man/atreus.4 @@ -0,0 +1,113 @@ +.Dd $Mdocdate: November 21 2017$ +.Dt ATREUS 4 +.Os +. +. +.Sh NAME +. +.Nm Atreus +.Nd custom mechanical keyboard +. +. +.Sh DESCRIPTION +. +Its shape is similar to the ergodox, but it is not split, and have very few +keys: only 42. Most special chars, arrow keys are accessed with a fn key. +. +.Pp +This permits to type without ever moving the hands, only moving the fingers, +and stay in touch type position 100% of the time. +. +.Pp +All modifiers are accessible from the thumbs, Escape and Return are accessible +from the palm. +. +.Pp +The normal layout: +. +.Bd -literal -offset indent + ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ +| ' | , | . | p | y | | f | g | c | r | l | +|___|___|___|___|___| |___|___|___|___|___| +| a | o | e | u | i | | d | h | t | n | s | +|___|___|___|___|___| |___|___|___|___|___| +| ; | q | j | k | x |___ ___| b | m | w | v | z | +|___|___|___|___|___| || |___|___|___|___|___| +|Esc|Tab|Sup|Shi|Bks|Ctl||Alt|Spc|Fn | - | . |Ret| +|___|___|___|___|___|___||___|___|___|___|___|___| +.Ed +. +.Pp +And with L2 pressed: +. +.Bd -literal -offset indent + ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ +| ! | @ |Up | { | } | |PgU| 7 | 8 | 9 | * | +|___|___|___|___|___| |___|___|___|___|___| +| # |Rgt|Dwn|Lft| i | |PgD| 4 | 5 | 6 | + | +|___|___|___|___|___| |___|___|___|___|___| +| [ | ] | ( | ) | x |___ ___| ` | 1 | 2 | 3 | \\ | +|___|___|___|___|___| || |___|___|___|___|___| +|L2 |Tab|Sup|Shi|Bks|Ctl||Alt|Spc|Fn | | 0 | = | +|___|___|___|___|___|___||___|___|___|___|___|___| +.Ed +. +.Pp +There is another layout available for F[1-12] and Ins, Del ... +. +. +.Sh BUILDING PROCESS +. +The keyboard comes up in a small box, with all components in plastic bags, with +a few (useful) spare parts. +. +.Bl -dash -width X -compact +. +.It +Solder the diodes (preventing key ghosting). +. +.It +Solder the microcontroller (A-Star at the time of purchase). +. +.It +Solder the keys. +. +.It +Load the firmware and test everything. +. +.It +Lacquering of the wooden pieces. +. +.El +. +.Pp +I advise to do the 5. first so that it can dry while you solder, and be very +careful while inserting the diodes: In the right direction! Unsoldering is +harder than soldering. +. +.Pp +Soldering the microcontroller is a bit tricky, and here is a tip that made it +much easier for me: You will have to solder cut diodes legs (small metallic +rods) through a empty holes. +. +.Pp +With the board vertical, fill a hole with tin. Then, bring the iron at one +side melting the tin, and insert the diode leg at the other side. As I only +have two hands, this was easier this way for me. +. +.Pp +I never soldered before, but this was not hard. It even becomes addictive at +the end: now I need something more to solder! Moreover, a good iron is still +cheap. Just make sure to have one with enough power. +. +.Pp +It is a pleasure to type on a keyboard you assembled, made by some independent +hacker for fun and profit. +. +. +.Sh AUTHORS +. +.Nm +have been designed by +.An Phil Sq technomancy Hagelberg + diff --git a/man/books.7 b/man/books.7 @@ -0,0 +1,120 @@ +.Dd $Mdocdate: November 21 2017$ +.Dt BOOKS 7 +.Os +. +. +.Sh NAME +. +.Nm books +.Nd references for studying sciences +. +. +.Sh DESCRIPTION +. +This is a list of the books that were advised to me at university. +It is what I use, they are widespread books with minimal overlapping chapters +across them, so that all of these books to be used together. +. +. +.Ss Chemistry +. +.Bl -bullet -width 1n +. +.It +.Rs +.%A Atkins +.%T Physical chemistry for the life sciences +.Re +.Pp +From the author of Physical Chemistry: Thermodynamics, Structure, and Change. +(the reference in its domain), it's the simplified version for biologists, +containing all of the physical aspects of chemistry. +. +.It +.Rs +.%A Klein +.%T Organic chemistry as a second language +.Re +.Pp +Organic chemistry is the chemistry of carbon-rich compounds: most of the +compounds in biology. + This is the best explained chemistry book I've found, +and it covvers the theory of mosts of the reaction I'll ever encounter in +biochemistry. +He also reedited both book into a single one: Organic Chemistry, +more focused on exercises and practice. +.El +. +. +.Ss Biology +. +.Bl -bullet -width 1n +. +.It +.Rs +.%A Campbell +.%T Biology +.Re +.Pp +If you've never studied biology, or if you want a wide background on many +domain of biology, this book will give you an introduction to life and biology. +. +.El +. +. +.Ss Biochemistry +. +.Bl -bullet -width 1n +. +.It +.Rs +.%A Lehninger +.%T Principles of biochemistry +.Re +.Pp +A widely recognised biochemistr ybook, that havethe advantage to don't contain +much cell biology, then which perfectly accompagnate the previous book. +This book doesn't include plants-specific biochemistry. +. +.It +.Rs +.%A Stryer +.%T Biochemistry +.Re +.Pp +This is a great compromise between both biochemistry and cell biology, and may +be well suited if you don't need such biology background. +. +.It +.Rs +.%A Heldt +.%T Plant biochemistry +.Re +.Pp +This is the missing chapters of the Lehninger, biochemistry about plants. +. +.El +. +. +.Ss molecular biology +. +.Bl -bullet -width 1n +. +.It +.Rs +.%A Alberts +.%T Molecular biology of the cell +.Re +.Pp +This single book icontains most of the essential knowledge for a bachelor +degree! It's a basis many time advised by my teachers. +. +.It +.Rs +.%A Lewin +.%T Genes XI +.Re +.Pp +This book is a complete introduction to genetics and molecular biology for the +genome working. +.El diff --git a/man/cell.4 b/man/cell.4 @@ -0,0 +1,110 @@ +.Dd $Mdocdate: November 21 2017$ +.Dt CELL 4 +.Os +. +. +.Sh NAME +. +.Nm cell +.Nd computer-controlled living cell device +. +. +.Sh SYNOPSIS +. +.Cd "cell* at gpioow?" +.Cd "cell* at uow?" +.Cd "cell* at ioc?" Pq sgi +.Cd "cell* at xheart?" Pq sgi +. +. +.Sh DESCRIPTION +. +The +.Nm +driver provides an uniform programming interface layer to access +computer-controlled living cells arrays to perform DNA computing. +. +.Pp +The DNA grid must be initialized with sufficient host cells to +perform the whole calculation, with an average required mass of cell of +approximately +. +.EQ +( n * \[12] ) sup \[cd] ( 4 + n ) + 4 \[*m]g +.EN +. +With +.Em n +the total number of operations blocks to perform. +The +.nm +driver supprots the following operations if the hardware provide them: +. +.Bl -tag -width completeg +. +.It completeg +Opens the computation pool to all possible interactions, greatly increasing +the computation speed and reducing the amount of required operations, but +decreasing the reliability. +. +.It cyclectl +Specify a number of computation cycle per minute to perform. +This is usually automatic, but certain computations might require adjustment +for better performances. +. +.It purge +Completely erase all trace of DNA remaining on the wells to avoid contamination +of the previous data. +. +.It load +Inject a load of replication proteins into the well to amplify the signal. +. +.It halt +Inject a large enough amount of acid to drop the pH for stopping the reaction +and proceed to the analysis of the result. +. +.El +. +. +.Sh SEE ALSO +. +.Rs +.%A Y. Benenson +.%A B. Gil +.%A U. Ben-Dor +.%A R. Adar +.%A E. Shapiro +.%Y 2004 +.%T An autonomous molecular computer for logical control of gene expression +.Re +. +. +.Sh HISTORY +. +The +.Nm +driver appeared in +.Ox 18.5 . +. +. +.Sh AUTHORS +. +The +.Nm +driver was written by +.An Leonard Adleman +. +. +.Sh BUGS +. +The +.Nm +driver is protected against back-hacks from the cell well with an attack +barrier, however, if a +.Ic completeg +settings and a high +.Ic cyclectl +value are combined, the complexity of the content of cell well might be too high +to fight against the back-hack, which could ultimately lead +.Xr securelevel 7 +to be drop to -1. diff --git a/man/cgr.7 b/man/cgr.7 @@ -0,0 +1,107 @@ +.Dd Mar 10, 2017 +.Dt CGR 7 +.Os +. +. +.Sh NAME +. +.Nm CGR +.Nd Chaos Game Representation +. +. +.Sh DESCRIPTION +. +CGR is a plot representing the frequency of words in a string +sequence, with usually 4 possible letters, as for DNA or RNA. +. +.Bl -column XXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXX +. +.It AA: 0.01 Ta TA: 0.08 Ta CA: 0.04 Ta GA: 0.15 +. +.It AT: 0.11 Ta TT: 0.07 Ta CT: 0.02 Ta GT: 0.03 +. +.It AC: 0.10 Ta TC: 0.05 Ta CC: 0.10 Ta GC: 0.10 +. +.It AG: 0.04 Ta TG: 0.05 Ta CG: 0.04 Ta GG: 0.02 +.El +. +.Pp +The frequencies are calculated for a given word size +.Em k +and then displayed on a grid, where each position correspond to a word. +. +.Pp +To determine the position of each word, the grid is divided in 4, +with each quarter corresponding to a letter: +. +.Pp +.TS +tab(:); +c4 c4. +A:T +C:G +.TE +. +.Bl -bullet +. +.It +Every word starting with the letter A will go to sub-square A. +. +.It +Every word starting with the letter T will go to sub-square T. +. +.It +Every word starting with the letter C will go to sub-square C. +. +.It +Every word starting with the letter G will go to sub-square G. +.El +. +.Pp +Then, each sub-square is divided itself in 4, with each +sub-sub-square corresponding to the second letter of the word: +. +.Pp +.TS +tab(:); +c2 c2 c2 c2. +AA:AT:TA:TT +AC:AG:TC:TG +CA:CT:GA:GT +CC:CG:GC:GG +.TE +. +.Pp +This yet let us to position each of our words, with their +frequency represented as a colour. +. +.Pp +.TS +tab(:); +c2 c2 c2 c2. + :██:▒▒:▒▒ +▓▓:░░:░░:░░ +░░: :██: +▓▓:░░:▓▓: +.TE +. +.Pp +With bigger sequences and real genomes, this permits to observe +patterns specific to the specie observed. +. +. +.Sh IMPLEMENTATION +. +There are two implementations of it in two branches: +. +.Bl -bullet -width indent +. +.It +One in python, as a single-file program +. +.It +One in javascript, as a widget, composed of a css and a js +file. An example of implementation of both into an html page +can be found +.Lk https://rawgit.com/josuah/cgr/master/cgr.html online . +.El diff --git a/man/electrophoresis.7 b/man/electrophoresis.7 @@ -0,0 +1,45 @@ +.Dd $Mdocdate: November 21 2017$ +.Dt ELECTROPHORESIS 7 +.Os +. +. +.Sh NAME +. +.Nm electrophoresis +.Nd DNA gel electrophoresis +. +. +.Sh DESCRIPTION +. +.Bd -literal -offset indent + ,---,---,---,---,---,---,---,---,-------- DNA samples + / / / / / / / / / ,---- Size marker + / / / / / / / / / / + #1 #2 #3 #4 #5 #6 #7 #8 #9 mrk ,-- (-) Anode + __V___V___V___V___V___V___V___V___V___V__ / +| === === === === === === === === === === | +| --- --- --- --- --- --- | < 95 kpb +| --- --- --- --- | < 67 kpb +| --- --- | +| --- --- --- --- | < 43 kpb +| --- | +| --- --- --- --- | < 26 kpb +| | +| --- --- --- | +| --- --- --- --- --- --- --- --- | < 11 kpb +|_________________________________________| + \\ \\ + \\ `-- (+) Cathode + \\ + `---------------------------- Polyacrylamide gel +.Ed +. +.Pp +DNA sample are all put in the top of a gel, in a dedicated well ===, and an +electric current make the samples migrate toward the anode (+). The bigger +they are, the faster they move, and the less distance they travel on the gel +when the current is stopped after a couple of hours. +. +.Pp +The result is a gel with gloomy stripes while passed under UV lamp. Each +stripe correspond to one DNA fragment. diff --git a/man/evolutiond.8 b/man/evolutiond.8 @@ -0,0 +1,165 @@ +.Dd $Mdocdate: November 21 2017$ +.Dt EVOLUTIOND 8 +.Os +. +. +.Sh NAME +. +.Nm evolutiond +.Nd living beings transformation daemon +. +. +.Sh SYNOPSIS +. +.Nm +.Ar special +. +. +.Sh DESCRIPTION +. +.Nm +performs the successive steps in the process of evolution onto the +.Ar special +device as long as the life pool is non null on that device. +If the life pool comes close to 0, +.Nm +sends an email to the root user and reduce the evolution factors to preserve +life on the device. +. +. +.Sh EXTENDED DESCRIPTION +. +Across the generations, the organism's genome evolve, by combination of the +parents genome or spontaneous mutation. If this change helps the individual to +fit its environment, he will live better and have more chances to transmit its +new genome to its own childs. This way, the best genes are favorised in the +environment, improving the fitness of its holder, getting itself selected or +abandonned on the long run. +. +.Pp +Because of competition, there are sometimes more to earn by being different, +each differentiated specie is more efficient in their domain if they specialize +in it. In this way, whole groups of specimen can diverge from the rest by +adopting new characters until becoming a fully different specie. +. +.Pp +The origin of the actual species can be drawn as a tree, and we can guess what +differentiated the first new individual of a specie from its ancestors. All +different species would have been created like that, forming a new branch +branches each time they differentiate with mutations and combinations, formng a +genealogic tree of the species. +. +.Pp +Firstly, there were only one kind of plant, that differentiated into the moss, +grass, ferns, and trees that itself differenciated into multiple species. +. +.Pp +This tree of life: http://tolweb.org/tree is suggested to be common to all of +the living organisms, with at its root the Last Universal Common Ancester: +http://tolweb.org/Life_on_Earth (LUCA) from which all of the diversity comes +from. How the original(s) individual(s) came to birth is the subject of +exobiology: studying the boundaries between life and chemistry +. +.Pp +Phylogeny is based on this theory, and aim to trace the family tree of living +organisms. +. +.Pp +Sometimes the changes are very noticable, it's easy to say what is a tree an +what is not, but sometimes, the changes only operates at the scale of the +proteins, and only the genome permits to trace the origin of proteins. Which +is already a lot: the evolution of every single protein of organisms can be +observed this way. +. +.Pp +Phylogenetic trees are the way to represent the kinship ties of species. With +the name of each ancestor and each level. +. +. +.Sh EXAMPMLES +. +The muiltiple steps of +.Nm +on human would have lead to the following +successive steps: +. +.Pp +. +.Bl -tag -compact -width 14n +. +.It Em LUCA +Last Universal Common Ancestor, parent of us all. +. +.It Em Eukaryota +Unlike bacterias we have a nucleus in our cells. +. +.It Em Opisthokonta +Unlike plants we have some flagellated cells. +. +.It Em Animalia +Collagen permits us to move without breaking. +. +.It Em Bilateria +We are organized with a left and right side. +. +.It Em Deuterostomia +Our anus is developped before the mouth. +. +.It Em Chordata +We have a vertical flexible axis for us to swim. +. +.It Em Craniata +A skull packs and protects our brain. +. +.It Em Vertebrata +Our vertical axis is segmented into vertebrae. +. +.It Em Gnathostomata +We have a jaw that enables us to eat. +. +.It Em Sarcopterygii +Our cartilage develops. +. +.It Em Stegocephalian +We have 4 FINS: we ARE fishes at this point. +. +.It Em Amniota +Our EGGS have a protective pouch. +. +.It Em Synapsida +We have an opening in our skull for our eyes. +. +.It Em Mammalia +Oh! We do not make eggs anymore! +. +.It Em Therapsida +Only NOW, we stop crawling and stand on our 4 PAWS. +. +.It Em Eutheria +Our paws gets fancier, we have 4 fingers. +. +.It Em Primatomorpha +We are primates... +. +.It Em Primata +But unlike Dermoptera, we cannot fly. +. +.It Em Simian +We use our costly brain a bit more. +. +.It Em Hominidae +We stand on our two posterior legs. +. +.It Em Homo +We use our brain to get food. +. +.It Em sapiens +We use our brain to make war to other humans. +.El +. +.Pp +As a conclusion, we are not bacterias nor plants, but fishes and rodent that +stand on our posterior legs to make war with our brain in various ways. +. +.Pp +Just like this: http://businessinsider.com/image/4d0ba8c5ccd1d5e158040000 diff --git a/man/ff2braille.1 b/man/ff2braille.1 @@ -0,0 +1,29 @@ +.Dt FF2BRAILLE 1 +.Dd $Mdocdate: January 22 2018$ +.Os +. +. +.Sh NAME +. +.Nm ff2braille +.Nd farbfeld to text braille pattern image conversion +. +. +.Sh SYNOPSIS +. +.Nm +. +. +.Sh DESCRIPTION +. +.Nm +reads a +.Xr farbfeld 5 +image from stdin and write a text representation of the image using braille +characters to stdout. +. +. +.Sh EXIT STATUS +. +.Ex -std +. diff --git a/man/iomenu.1 b/man/iomenu.1 @@ -0,0 +1,120 @@ +.Dd aug 21, 2017 +.Dt IOMENU 1 +.Os +. +. +.Sh NAME +. +.Nm iomenu +.Nd interactive selection menu +. +. +.Sh SYNOPSIS +. +.Nm +.Op Fl # +. +. +.Sh DESCRIPTION +. +.Nm +is an interactive filtering and selection tool for the terminal. +. +.Pp +It reads lines from standard input, and prompt for a selection. +The selected line is printed to standard output. +. +.Bl -tag -width 6n +. +.It Fl # +If a line starts with +.Li # , +.Nm +will interprete it as a header, which always matches, and can not be +printed. +. +. +.Sh KEY BINDINGS +. +An active selection is highlighted, and can be controlled with keybindings. +As printable keys are entered, the lines are filtered to match each +word from the input. +. +.Bl -tag -width XXXXXXXXXXXXXXX +. +.It Ic Up Ns , Ic Down Ns , Ic Ctrl + p Ns , Ic Ctrl + n +Move selection to the previous/next item. +. +.It Ic PageUp Ns , Ic PageDown Ns , Ic Alt + v Ns , Ic Ctrl + v +Move one page up or down. +. +.It Ic Ctrl + m Ns , Ic Ctrl + j Ns , Ic Enter +Print the selection to the standard output, and exit 0. +. +.It Ic Ctrl + h Ns , Ic Bakcspace +Remove last character from current input. +. +.It Ic Ctrl + w +Remove last word from current input. +. +.It Ic Ctrl + u +Remove the whole input string. +. +.It Ic Ctrl + i Ns , Ic Tab +Fill the input with current selection. +. +.El +. +. +.Sh EXIT STATUS +. +.Ex -std +. +. +.Sh EXAMPLES +. +Go to a subdirectory: +. +.Bd -literal -offset XX +cd "$(find . -type d | iomenu)" +.Ed +. +.Pp +Edit a file located in +.Ev HOME : +. +.Bd -literal -offset XX +$EDITOR "$(find "$HOME" -type f | iomenu)" +.Ed +. +.Pp +Play an audio file: +. +.Bd -literal -offset XX +mplayer "$(find ~/Music | iomenu)" +.Ed +. +.Pp +Select a background job to attach to: +. +.Bd -literal -offset XX +fg "%$(jobs | iomenu | cut -c 2)" +.Ed +. +.Pp +Filter "ps" output and print a process ID +.Bd -literal -offset XX +{ printf '#'; ps ax; } | iomenu -# | sed -r 's/ *([0-9]*).*/\1/' +.Ed +. +. +.Sh SEE ALSO +. +.Xr dmenu 1 , +.Xr slmenu 1 , +.Xr vis-menu 1 +. +. +.Sh AUTORS +. +.An Josuah Demangeon Aq Mt mail@josuah.net diff --git a/man/object_storage.7 b/man/object_storage.7 @@ -0,0 +1,160 @@ +.Dd $Mdocdate: November 19 2017$ +.Dt OBJECT_STORAGE 7 +.Os +. +. +.Sh NAME +. +.Nm object storage +.Nd a take on clustering hard drives beyond a single node +. +. +.Sh SYNOPSIS +. +The goal is to provide a storage server to one or multiple clients in an as +stateless way as possible, while still implementing caching. +. +. +.Sh DESCRIPTION +. +On the diagram below, the outter boxes represents different computers, and the +inner boxes represents physical storage devices +.Pq HDDs or SSDs . +. +.Pp +The lines in-between and at the outside represents transfer of full files or +chunks of file +. +. +.Pq still not decided yet +through the +.Xr 9p 2 +protocol. +. +.Pp +There are two kind of nodes in this network: +. +.Bl -tag -width Ds +. +.It Sy store nodes +They are represented at the bottom, and are meant to have HDD actually holding +the data. +They know nothing about what they store, every file they hold is named by its +hash (SHA1, blake2...). Each one of them is running a normal 9p file server, +an userspace program, so there is no need to use FUSE at all on the server part. +There is then no need to implement anything at all for the store nodes. +. +.It Sy cache nodes +They are represented at the top, and are meant to have SSD caching the +transfers. +They acts as intermediate between the client and the store nodes. +They run the +.Em core algorithm +that handles everything but storing the data. +.El +. +.Bd -literal + client + ^^ + || + 9p + .-----------------------------||-------------------------------. + | n1 server | + | vv | + | .----------------------------------------------------------. | + | | Write-through cache || SSD | | + | | .----------------. | | other + | | .===========| core algorithm |=============.==========> cache + | | // '----------------' \\\\ | | nodes + | | // // \\\\ \\\\ | | + | '----------------------------------------------------------' | + | ^^ ^^ ^^ ^^ | + | client client client client | + | || || || || | cache + | || .-------||------------||----------------||------' nodes +-|------9p------|-------9p------------9p----------------9p-------------- + | || | .-----||------------||-------. .------||------. store + | || | | n2 || || node2| | n3 || node3| nodes + | server | | server server | | server | + | vv | | vv vv | | vv | + | .----------. | | .----------. .----------. | | .----------. | + | | HDD | | | | HDD | | HDD | | | | HDD | | + | | | | | | | | | | | | | | + | | | | | | | | | | | | | | + | | Object | | | | Object | | Object | | | | Object | | + | | store | | | | store | | store | | | | store | | + | | | | | | | | | | | | | | + | | | | | | | | | | | | | | + | '----------' | | '----------' '----------' | | '----------' | + '--------------' '----------------------------' '--------------' +.Ed +. +.Pp +As shown here, the store node can run multiple 9p servers +. +.Pq one per filesystem +and can also be part of a cache node. +. +.Pp +The 'core algorithm' would be responsible of choosing the appropriate client to +read to and write from: +. +.Bl -bullet -width Ds +. +.It +.Em Hashing and naming : +rename the files on the nodes by their hash before to send them to the store +nodes. +. +.It +.Em Balancing between the different object store +by making all filesystems having about the same amount of data. +. +.It +.Em Data replication +("ZFS repulsion"-like feature) to have every file at least duplicates on 1, 2, +3... other node(s). +. +.It +.Em Balancing the transfer load +across the store nodes to write in priority to the nodes with less traffic. +. +.It +.Em Consistency check , +to make sure data known by the cache node is indeed present on the store node, +re-calculating the hash of the files to check if it match with the name. +If not, copy the file back from another store node that have a sane version of +this file. +. +.It +.Em Cache writes +until the end, so that once a write is fully done, the hashing occurs: we can +not calculate a complete hash of a partial file. +We have to wait the end of the write before to have the hash, and therefore to +store it somewhere. +A solution would be splitting files in chunk of pre-defined bytes, but this +would still require to cache the complete write of a full block before to send +it to the store nodes. +. +.It +.Em Synchronise the list of known filenames +across the multiple cache nodes: if a file is not found on the local object +store, ask it to the other cache node before to send a file not found message, +and eventually to every store node as well. +.El +. +.Pp +As the object store nodes are independent, multiple independent cache nodes +might as well connect to the store node. +This might require authentification, a to-this-day unsolved problem. +. +.Pp +The big question is: does any system uses this model already? +Particularly on the liberty between the store nodes and cache nodes, each one +independent of each other. +. +. +.Sh SEE ALSO +. +.Xr fossil 4 , +.Xr venti 4 diff --git a/man/terminals.7 b/man/terminals.7 @@ -0,0 +1,298 @@ +.Dd $Mdocdate: November 21 2017$ +.Dt TERMINALS 7 +.Os +. +. +.Sh NAME +. +.Nm terminals +.Nd workflow with one or multiple shells +. +. +.Sh DESCRIPTION +. +It is possible to interact with a computer entirely through a system console, +using terminal-based applications. +Well this eventually means to have a lot of terminal open. +. +.Bl -bullet -width 1n -compact +. +.It +Let the window manager take care of everything; +. +.It +Using the terminal emulator features. +. +.It +Use a terminal multiplexer: screen, tmux, dvtm... +. +.It +Handle everything in one terminal; +.El +. +. +.Sh WINDOW MANAGER +. +Most instinctive approach is to open multiple terminals by clicking multiple +time on the terminal icon to launch multiple terminal windows, each on with a +terminal in. +. +.Pp +This can actually work pretty well, as it can be extended with a great +window manager to manage these multiple windows, like a tiling window +manager. +. +.Pp +This also has the advantage of not changing your habits when you are used to +graphical environments, and be accessible on most machine (but not through +remote connection like ssh or telnet). +. +.Bl -item +. +.It +.Lk http://reddit.com/r/unixporn "the home of *NIX customization" +. +.It +.Lk http://wiki.archlinux.org/index.php/Window_manager "ArchWiki" +.El +. +. +.Sh TERMINAL EMULATOR +. +Another popular way to deal with the problem: using the features provided by +the terminal emulator application. This is the application that manages to +draw a terminal on your screen. +. +.Pp +Some are very minimal like +.Xr st 1 +and others provide extended ways to manage terminals, like splitting screen, +multiple tabs... +. +.Bl -item +. +.It +.Lk http://st.suckless.org "suckless.org st - simple terminal" +.El +. +. +.Sh TERMINAL MULTIPLEXER +. +It works like a window manager, but everything happen inside of the terminal: +It is a terminal-based program that goes between you and the other terminal +programs. +. +.Pp +This has the advantage of being available everywhere a terminal is available, +and being less complex software. +. +.Pp +You can run these by typing their command name in the terminal, then controll +multiple terminal with keybindings. All of them start with a /prefix/ key, +specific to each multiplexer, that you can change in a configuration file. +. +.Bl -tag -width Ds +. +.It Ic Prefix c +Create a new terminal, the previous one is put to the background. +. +.It Ic Prefix p / Prefix n +Switch to the previous or next terminal. +. +.It Ic Prefix \? +Get summary of keybindings to type and help. +You can run multiple sessions: group of terminals held by the multiplexer, +detach these, i.e: closing the terminal, then coming back to them later, nothing +will be lost. +.El +. +. +.Ss Xr screen 1 +. +Default prefix is +.Ic Ctrl + a . +. +.Bd -literal -offset indent +$ screen # start a new session +$ screen -S 'name' # start session "name" +$ screen -list # list existing sessions +$ screen -r 'name' # attach to session "name" +$ screen -R 'name' # same but create the session if not existing +.Ed +. +.Pp +Among the first present and evolved to get a lot of features: GNU screen. +It will handle everything you throw at it, as most programs are made to be +screen-compatible. +. +.Pp +There is a lot of customization to do with gnu screen. These are done through +a ~/.screenrc configuration file. You can look at +.Xr byobu 1 +to see an extended version of GNU screen through customization. +. +.Bl -item +. +.It +.Lk https://www.gnu.org/software/screen "Screen - GNU Project" +. +.It +.Lk http://byobu.co "byoby configuration for screen" +.El +. +. +.Ss Xr tmux 1 +. +Default prefix is +.Ic Ctrl + b . +. +.Bd -literal -offset indent +$ tmux # start a new session +$ tmux new-session -s 'name' # start session "name" +$ tmux list-sessions # list existing sessions +$ tmux attach 'name' || tmux new-session 'name' +.Ed +. +.Pp +It came after screen. +It has a different set of features, and strives to have much cleaner code than +.Xr screen 1 . +Tmux provides a real scripting language through its commands, which develloped +a community around tmux customization: You will find a lot of articles, blog +posts and videos about it. +. +.Pp +.Lk https://github.com/tmux/tmux "tmux source repository" +. +. +.Ss Xr dvtm 1 and Xr abduco 1 +. +Default prefix is +.Ic Ctrl + g . +. +.Pp +It does not manages sessions on its own: the abduco command does it instead. +This is another project from the same author. +. +.Bd -literal -offset indent +$ abduco # list existing sessions +$ abduco -c 'name' # create session "name" +$ abduco -a 'name' # attach to session "name" +$ abduco -A 'name' # same but create the session if not existing +.Ed +. +The Dynamic Virtual Terminal Manager. +It is the less complex one, with only 4000 lines of code +.Po +50000 for +.Xr tmux 1 +and +.Xr screen 1. +.Pc +. +.Pp +It has a tag-based terminal management: you can open multiple windows they will +be associated with a tag , like a topic or a kind of program. +You can then choose which tag you want to display at once: The mail and the +programming topics, the chatting and the music topics. +. +.Pp +The windows for these topics will then be displayed next to each other, with +different layouts available (Prefix + Space to switch). +. +.Bl -tag -width Ds +. +.It Ic Prefix t Ar num +Assign current terminal to the tag number +.Ar num . +. +.It Ic Prefix v Ar num +View the terminal with the tag number +.Ar num . +. +.It Ic Prefix T Ar num +Add the tag number +.Ar number to the tags of the +terminal, hence displaying it on multiple tags at once. +. +.It Ic Prefix v Ar num +Show the terminals of tag number +.Ar num +in addition to the already visible tags. +.El +. +You can then view multiple tag at once, and attach terminal to multiple tags at +once. +. +.Pp +The configuration file is a C header file +.Pa config.h +This means you compiles +.Xr dvmt +yourself. +. +.Bd -literal -offset indent +$ git clone http://github.com/martanne/dvtm +$ cd dvtm +$ make +.Ed +. +.Bl -item +. +.It +.Lk http://github.com/martanne/dvtm "dvtm source repository" +. +.It +.Lk http://github.com/martanne/abduco "abduco source repository" +.El +. +. +.Sh THE SHELL +. +This is the old-school way: switching between multiple fulscreen applications +with only one termnial controlling them: +. +.Bd -literal -offset indent +$ vi # whatever editor you use... +.Ed +. +.Pp +The editor starts, then you press +.Ic Ctrl + Z , +which takes you back +there in the shell. +. +.Bd -literal -offset indent +$ htop +.Ed +. +.Pp +It starts, then you press +.Ic Ctrl + Z , +which takes you back there. +. +.Bd -literal -offset indent +$ jobs +[2] + Stopped htop < These are the programs you did open. +[1] - Stopped vim They are background jobs now. +.Ed +. +.Bd -literal -offset indent +$ fg %1 +.Ed +. +.Pp +Now vim is at the foreground (fg), and you can continue editing, +until you press `Ctrl + Z` again +. +.Bd -literal -offset indent +$ fg %2 +.Ed +. +.Pp +Now htop is at the foreground. +. +.Pp +With this, you can do everything without even installing a package. This is +working very well, consume quite no memory at all, a I like to come back to +this sometimes. diff --git a/pack/collectd/build b/pack/collectd/build @@ -4,6 +4,8 @@ ./configure \ --prefix="${OPT}" \ + --sbindir="${OPT}/bin" \ + --localstatedir="${VAR}" \ --sysconfdir="${ETC}" \ --disable-perl \ --disable-python \ @@ -11,10 +13,3 @@ --enable-csv make CFLAGS='-Wno-error' install - -mv "${OPT}/sbin"/* "${OPT}/bin/" -rmdir "${OPT}/sbin" - -mkdir -p "${OPT}/var" "${VAR}/collectd" -rm -rf "${OPT}/var/lib" -ln -sf "${VAR}" "${OPT}/var/lib"