hscc

Soure code of <https://hugo.soucy.cc>.
git clone git://soucy.cc/hscc.git
Log | Files | Refs

commit 3c0429b149165a662a24b367b86555f2f3569f66
parent 037f4b4dd5b0aff300b83739cd19d00d08d85d89
Author: Hugo Soucy <hugo@soucy.cc>
Date:   Tue,  8 Feb 2022 19:52:12 -0500

Add new drafts

Diffstat:
Adrafts/fascisme.md | 62++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adrafts/pivoter-de-la-presse.md | 17+++++++++++++++++
Adrafts/renoncer.md | 9+++++++++
Adrafts/unix-web-ide.html | 280+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adrafts/unix-web-ide.org | 25+++++++++++++++++++++++++
Adrafts/unix-web/a11y.md | 1+
Adrafts/unix-web/css-unix.md | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adrafts/unix-web/html.md | 5+++++
Adrafts/unix-web/http.md | 4++++
Adrafts/unix-web/images.md | 6++++++
Adrafts/unix-web/intro.md | 1+
Adrafts/unix-web/javascript.md | 5+++++
Adrafts/unix-web/make.md | 7+++++++
Adrafts/unix-web/markdown.md | 2++
Adrafts/unix-web/navigateur.md | 4++++
15 files changed, 493 insertions(+), 0 deletions(-)

diff --git a/drafts/fascisme.md b/drafts/fascisme.md @@ -0,0 +1,61 @@ +# Le fascime et la mort de l'Univers + +Le fascisme est une forme aïgue de la peur de la mort (qui cherche à +domestiquer la mort) + +La peur que notre langue, notre culture et nos privilèges +disparaissent. Peur que s'évapore notre réalité. C'est la peur du +changement. C'est l'angoisse de perdre notre identité, nos repères, +notre moi. + +(C'est peut-être pour cela qu'il est mené par des gens charismatique +et égomaniaque ... ces gens se voient probablement comme les porteurs +de cette réalité, comme des prophètes ou des messies de cette +réalité.) + +Pourtant nous n'avons pas toujours existé et nous n'existerons pas +pour toujours. Idem pour notre culture, notre langue, notre pays; idem +pour notre planète, notre soleil ou l'univers. + +Cette peur est canalisé et transformé en une arme que l'on retourne +contre nous-même. + +Le fascisme ne veut pas seulement conquérir la mort ... Il semer la +mort pour nourir se préserver. Vampiriser. Rejeter tout ce qui +challenge sa vision de la réalité. + +Donc le fascisme c'est aussi la peur de la vie, de l'imagination de la +création, la peur du métissage qui les démultiplie, la peur de ce qui +n'est pas aceptisé et qui grouille de vie ... La fascisme cherche à +assécher les marais et les eaux boueuses. Pourtant notre origine se +trouve dans cette boue dans ces joncs dans cette soupe où explose la +vie et toutes les possibilités. + +Le fascisme c'est les institutions qui n'acceptent pas leurs propres +mort, qui n'acceptent pas que la vie n'a pas besoin d'elles. + +Le fascime est un immense égo collectif, qui se croient maître de la +mort. Un égo collectif soufrant et cette énergie est canalisée par des +psycopathes qui s'en nourrissent et la cultivent par sadisme. + +Cela n'a rien à voir avec la culture, parce que la culture n'a pas de +frontière, la culture bouillonne constamment dans tout ce que nous +accomplissons, elle n'est pas figée, pas cloisonnée dans un format ou +dans un ministère ou une institution; elle est portée par la vie; elle +est effervésante elle est le reflet de nos relations avec les autres +et notres environnement immédiat ou avec ce qui est plus grand que +nous, elle est partagée distribués par l'amour, la quête de plaisir et +de beauté; par les départs obligés, la tristesse et les naissances et +les succèssion des saisons, de notre harmonie avec la nature et de ces +ondes de chocs qu'elle nous procure. + +L'Univers tel qu'il est n'a pas toujours existé et n'existera pas pour +toujours ... Nous le constatons tous les jours, nous le voyons chaque +matin devant notre miroir. + +(Nous n'avons à souffrir pour ceux et celles qui ne l'acceptent pas.) + +--- + +"Katie Mack: The death of the universe -- and what it means for life" +<https://yewtu.be/watch?v=BGNN7hK1rfA> +\ No newline at end of file diff --git a/drafts/pivoter-de-la-presse.md b/drafts/pivoter-de-la-presse.md @@ -0,0 +1,16 @@ +Pendant deux ans, j'ai $outenu le journal La Presse. + +Non parce que c'est un journal que je trouve extraordinaire, mais +parce que je voulais donner mon appuie à ses travailleurs, dans un +moment d’insécurité pour ce média écrit. + +Au Québec, nous n'avons pas beaucoup de journaux, et je ne pense pas +que nous ayons le luxe d'en perdre un, même si celui-ci a une +politique éditoriale très libérale et élitiste. + +Cette année par contre, je vais plutôt aiguiller cet argent vers Pivot +(https://pivot.quebec/), un journal en ligne qui ne se cache pas +dernière une soi-disante objectivité dans une époque où le capitalisme +n'a jamais généré autant de troubles et de misères dans le monde. + +Je reste cependant un abonné du Soleil et du Devoir. +\ No newline at end of file diff --git a/drafts/renoncer.md b/drafts/renoncer.md @@ -0,0 +1,9 @@ +Renoncer. +Renoncer c'est agir, et c'est aussi, renoncer à agir. +Renoncer au dualisme. +Renoncer à l'antagonisme. +Renoncer au pouvoir. +Renoncer à l'apathie. +Renoncer à n'être que spectateur. +Renoncer d'incarner l'agresseur. +Renoncer d'incarner l'aggressé. diff --git a/drafts/unix-web-ide.html b/drafts/unix-web-ide.html @@ -0,0 +1,280 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> + <head> + <!-- 2021-12-01 Wed 12:04 --> + <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <title>Conception Web avec Unix</title> + <meta name="generator" content="Org mode" /> + <meta name="author" content="Hugo Soucy" /> + <meta name="description" content="Les systèmes basés sur Unix sont de vrais coffrent à outils souvent sous-utilisés, surtout chez les concepteurs de sites web." + /> + <style type="text/css"> + <!--/*--><![CDATA[/*><!--*/ + .title { text-align: center; + margin-bottom: .2em; } + .subtitle { text-align: center; + font-size: medium; + font-weight: bold; + margin-top:0; } + .todo { font-family: monospace; color: red; } + .done { font-family: monospace; color: green; } + .priority { font-family: monospace; color: orange; } + .tag { background-color: #eee; font-family: monospace; + padding: 2px; font-size: 80%; font-weight: normal; } + .timestamp { color: #bebebe; } + .timestamp-kwd { color: #5f9ea0; } + .org-right { margin-left: auto; margin-right: 0px; text-align: right; } + .org-left { margin-left: 0px; margin-right: auto; text-align: left; } + .org-center { margin-left: auto; margin-right: auto; text-align: center; } + .underline { text-decoration: underline; } + #postamble p, #preamble p { font-size: 90%; margin: .2em; } + p.verse { margin-left: 3%; } + pre { + border: 1px solid #ccc; + box-shadow: 3px 3px 3px #eee; + padding: 8pt; + font-family: monospace; + overflow: auto; + margin: 1.2em; + } + pre.src { + position: relative; + overflow: auto; + padding-top: 1.2em; + } + pre.src:before { + display: none; + position: absolute; + background-color: white; + top: -10px; + right: 10px; + padding: 3px; + border: 1px solid black; + } + pre.src:hover:before { display: inline; margin-top: 14px;} + /* Languages per Org manual */ + pre.src-asymptote:before { content: 'Asymptote'; } + pre.src-awk:before { content: 'Awk'; } + pre.src-C:before { content: 'C'; } + /* pre.src-C++ doesn't work in CSS */ + pre.src-clojure:before { content: 'Clojure'; } + pre.src-css:before { content: 'CSS'; } + pre.src-D:before { content: 'D'; } + pre.src-ditaa:before { content: 'ditaa'; } + pre.src-dot:before { content: 'Graphviz'; } + pre.src-calc:before { content: 'Emacs Calc'; } + pre.src-emacs-lisp:before { content: 'Emacs Lisp'; } + pre.src-fortran:before { content: 'Fortran'; } + pre.src-gnuplot:before { content: 'gnuplot'; } + pre.src-haskell:before { content: 'Haskell'; } + pre.src-hledger:before { content: 'hledger'; } + pre.src-java:before { content: 'Java'; } + pre.src-js:before { content: 'Javascript'; } + pre.src-latex:before { content: 'LaTeX'; } + pre.src-ledger:before { content: 'Ledger'; } + pre.src-lisp:before { content: 'Lisp'; } + pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } + pre.src-matlab:before { content: 'MATLAB'; } + pre.src-mscgen:before { content: 'Mscgen'; } + pre.src-ocaml:before { content: 'Objective Caml'; } + pre.src-octave:before { content: 'Octave'; } + pre.src-org:before { content: 'Org mode'; } + pre.src-oz:before { content: 'OZ'; } + pre.src-plantuml:before { content: 'Plantuml'; } + pre.src-processing:before { content: 'Processing.js'; } + pre.src-python:before { content: 'Python'; } + pre.src-R:before { content: 'R'; } + pre.src-ruby:before { content: 'Ruby'; } + pre.src-sass:before { content: 'Sass'; } + pre.src-scheme:before { content: 'Scheme'; } + pre.src-screen:before { content: 'Gnu Screen'; } + pre.src-sed:before { content: 'Sed'; } + pre.src-sh:before { content: 'shell'; } + pre.src-sql:before { content: 'SQL'; } + pre.src-sqlite:before { content: 'SQLite'; } + /* additional languages in org.el's org-babel-load-languages alist */ + pre.src-forth:before { content: 'Forth'; } + pre.src-io:before { content: 'IO'; } + pre.src-J:before { content: 'J'; } + pre.src-makefile:before { content: 'Makefile'; } + pre.src-maxima:before { content: 'Maxima'; } + pre.src-perl:before { content: 'Perl'; } + pre.src-picolisp:before { content: 'Pico Lisp'; } + pre.src-scala:before { content: 'Scala'; } + pre.src-shell:before { content: 'Shell Script'; } + pre.src-ebnf2ps:before { content: 'ebfn2ps'; } + /* additional language identifiers per "defun org-babel-execute" + in ob-*.el */ + pre.src-cpp:before { content: 'C++'; } + pre.src-abc:before { content: 'ABC'; } + pre.src-coq:before { content: 'Coq'; } + pre.src-groovy:before { content: 'Groovy'; } + /* additional language identifiers from org-babel-shell-names in + ob-shell.el: ob-shell is the only babel language using a lambda to put + the execution function name together. */ + pre.src-bash:before { content: 'bash'; } + pre.src-csh:before { content: 'csh'; } + pre.src-ash:before { content: 'ash'; } + pre.src-dash:before { content: 'dash'; } + pre.src-ksh:before { content: 'ksh'; } + pre.src-mksh:before { content: 'mksh'; } + pre.src-posh:before { content: 'posh'; } + /* Additional Emacs modes also supported by the LaTeX listings package */ + pre.src-ada:before { content: 'Ada'; } + pre.src-asm:before { content: 'Assembler'; } + pre.src-caml:before { content: 'Caml'; } + pre.src-delphi:before { content: 'Delphi'; } + pre.src-html:before { content: 'HTML'; } + pre.src-idl:before { content: 'IDL'; } + pre.src-mercury:before { content: 'Mercury'; } + pre.src-metapost:before { content: 'MetaPost'; } + pre.src-modula-2:before { content: 'Modula-2'; } + pre.src-pascal:before { content: 'Pascal'; } + pre.src-ps:before { content: 'PostScript'; } + pre.src-prolog:before { content: 'Prolog'; } + pre.src-simula:before { content: 'Simula'; } + pre.src-tcl:before { content: 'tcl'; } + pre.src-tex:before { content: 'TeX'; } + pre.src-plain-tex:before { content: 'Plain TeX'; } + pre.src-verilog:before { content: 'Verilog'; } + pre.src-vhdl:before { content: 'VHDL'; } + pre.src-xml:before { content: 'XML'; } + pre.src-nxml:before { content: 'XML'; } + /* add a generic configuration mode; LaTeX export needs an additional + (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */ + pre.src-conf:before { content: 'Configuration File'; } + + table { border-collapse:collapse; } + caption.t-above { caption-side: top; } + caption.t-bottom { caption-side: bottom; } + td, th { vertical-align:top; } + th.org-right { text-align: center; } + th.org-left { text-align: center; } + th.org-center { text-align: center; } + td.org-right { text-align: right; } + td.org-left { text-align: left; } + td.org-center { text-align: center; } + dt { font-weight: bold; } + .footpara { display: inline; } + .footdef { margin-bottom: 1em; } + .figure { padding: 1em; } + .figure p { text-align: center; } + .equation-container { + display: table; + text-align: center; + width: 100%; + } + .equation { + vertical-align: middle; + } + .equation-label { + display: table-cell; + text-align: right; + vertical-align: middle; + } + .inlinetask { + padding: 10px; + border: 2px solid gray; + margin: 10px; + background: #ffffcc; + } + #org-div-home-and-up + { text-align: right; font-size: 70%; white-space: nowrap; } + textarea { overflow-x: auto; } + .linenr { font-size: smaller } + .code-highlighted { background-color: #ffff00; } + .org-info-js_info-navigation { border-style: none; } + #org-info-js_console-label + { font-size: 10px; font-weight: bold; white-space: nowrap; } + .org-info-js_search-highlight + { background-color: #ffff00; color: #000000; font-weight: bold; } + .org-svg { width: 90%; } + /*]]>*/--> + </style> + <script type="text/javascript"> + // @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain + <!--/*--><![CDATA[/*><!--*/ + function CodeHighlightOn(elem, id) + { + var target = document.getElementById(id); + if(null != target) { + elem.classList.add("code-highlighted"); + target.classList.add("code-highlighted"); + } + } + function CodeHighlightOff(elem, id) + { + var target = document.getElementById(id); + if(null != target) { + elem.classList.remove("code-highlighted"); + target.classList.remove("code-highlighted"); + } + } + /*]]>*///--> + // @license-end + </script> + </head> + <body> + <div id="content"> + <h1 class="title">Conception Web avec Unix</h1> + <div id="table-of-contents"> + <h2>Table of Contents</h2> + <div id="text-table-of-contents"> + <ul> + <li><a href="#orgeaa4b88">1. Intro : Concepts de base</a> + <ul> + <li><a href="#orgbce46b8">1.1. Pipe</a></li> + </ul> + </li> + <li><a href="#orgda5b237">2. Références</a></li> + </ul> + </div> + </div> + <ul class="org-ul"> + <li>Beaucoup de développeur utilisent un système d'exploitation basé sur + Unix, que ce soit GNU/Linux, Mac OS, ou BSD. Mais peu d'entre eux + l'utilise de façon optimale, le plus souvent par méconnaissance.</li> + <li>Ils vont se tourner vers des solutions tiers, même quand ils ont + tout ce qu'il faut dans leur coffre à outils Unix.</li> + </ul> + + <div id="outline-container-orgeaa4b88" class="outline-2"> + <h2 id="orgeaa4b88"><span class="section-number-2">1</span> Intro : Concepts de base</h2> + <div class="outline-text-2" id="text-1"> + </div> + <div id="outline-container-orgbce46b8" class="outline-3"> + <h3 id="orgbce46b8"><span class="section-number-3">1.1</span> Pipe</h3> + <div class="outline-text-3" id="text-1-1"> + <p> + Pipe (|) prend la sortie de la commande qui le précède et la + transforme en entrée pour la commande qui lui succède. + </p> + + <div class="org-src-container"> + <pre class="src src-shell">top | grep Xorg + </pre> + </div> + </div> + </div> + </div> + + <div id="outline-container-orgda5b237" class="outline-2"> + <h2 id="orgda5b237"><span class="section-number-2">2</span> Références</h2> + <div class="outline-text-2" id="text-2"> + <ul class="org-ul"> + <li><a href="https://blog.jessfraz.com/post/for-the-love-of-pipes/">https://blog.jessfraz.com/post/for-the-love-of-pipes/</a></li> + </ul> + </div> + </div> + </div> + <div id="postamble" class="status"> + <p class="author">Author: Hugo Soucy</p> + <p class="date">Created: 2021-12-01 Wed 12:04</p> + <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p> + </div> + </body> +</html> diff --git a/drafts/unix-web-ide.org b/drafts/unix-web-ide.org @@ -0,0 +1,25 @@ +#+TITLE: Conception Web avec Unix +#+AUTHOR: Hugo Soucy +#+EMAIL: hugo@soucy.cc +#+DESCRIPTION: Les systèmes basés sur Unix sont de vrais coffrent à outils souvent sous-utilisés, surtout chez les concepteurs de sites web. + +- Beaucoup de développeur utilisent un système d'exploitation basé sur + Unix, que ce soit GNU/Linux, Mac OS, ou BSD. Mais peu d'entre eux + l'utilise de façon optimale, le plus souvent par méconnaissance. +- Ils vont se tourner vers des solutions tiers, même quand ils ont + tout ce qu'il faut dans leur coffre à outils Unix. + +* Intro : Concepts de base + + +** Pipe + +Pipe (|) prend la sortie de la commande qui le précède et la +transforme en entrée pour la commande qui lui succède. + +#+BEGIN_SRC shell + top | grep Xorg +#+END_SRC + +* Références + - https://blog.jessfraz.com/post/for-the-love-of-pipes/ diff --git a/drafts/unix-web/a11y.md b/drafts/unix-web/a11y.md @@ -0,0 +1 @@ +<!-- L'accessibilité web avec UNIX --> diff --git a/drafts/unix-web/css-unix.md b/drafts/unix-web/css-unix.md @@ -0,0 +1,65 @@ +<!-- CSS et UNIX --> + +<!-- cssmin --> +<!-- valider avec : http://jigsaw.w3.org/css-validator/validator?uri=https://hugo.soucy.cc/css/index.min.css&profile=css3svg&usermedium=all&warning=1&vextwarning=&lang=fr --> + +* Concaténer des feuilles de styles (cat). +* Trouver et remplacer en lot (grep, sed). + + +## Regrouper plusieurs feuilles de styles ensemble sous Unix + +À des fins de performance, cela peut-être une bonne idée de regrouper +nos feuilles de styles pour réduire le nombre de requêtes HTTP. + +Si avec HTTP 1 c'était bien vue de ne servir qu'un seul fichier +CSS. Avec HTTP 2, il est conseiller de découper ses feuilles en +plusieurs ballots hiérarchisés. + +À ce sujet, voir le banc d'essai de Harry Roberts: [CSS and Network +Performance](https://csswizardry.com/2018/11/css-and-network-performance/). + +La règle CSS `@import`, n'est pas conseillé en production pour +justement une question de performance. + +### `cat` + +Donc pour concaténer des fichiers ensemble sous Unix il faut utiliser +le programme `cat`. + + cat - concatenate and print files + +Si vous n'avez pas beaucoup de fichiers CSS vous pourriez tout +simplement faire: + + cat a.css b.css c.css d.css e.css f.css > styles.css + +Idéalement on pourrait faire: + + cat *.css > styles.css + +Mais en CSS l'ordre des déclarations est important. Nous ne voudrions +pas neutraliser ou déclasser certains styles. + +Dans les programmes du shell il y a un flux entrant (standard input ou +stdin) et un flux sortant (standard output ou stdout). La lecture se +fait par le stdin et l'écriture par le stdout. + +Mais il est possible détourner ces flux. Comme par exemple avec `<` ou +`>` en appliquant des redirections vers un fichiers. + + while read -r line; do + [ ! -z "$line" ] && cat "./$line" + done <<-EOF | tr -d '\n\r' > "$global.css" + + global/typography.css + global/colors.css + global/grid.css + + EOF + +--- + +Sources: + +* <https://csswizardry.com/2018/11/css-and-network-performance/> diff --git a/drafts/unix-web/html.md b/drafts/unix-web/html.md @@ -0,0 +1,5 @@ +<!-- Le HTML avec UNIX --> +<!-- HTML Tidy --> +HTML Tidy avec cURL pour tester l'accessibilité ou la qualité du HTML. + +`curl http://example.com/about.html | tidy` diff --git a/drafts/unix-web/http.md b/drafts/unix-web/http.md @@ -0,0 +1,4 @@ +<!-- Le HTTP dans UNIX --> +<!-- HTTP avec python --> +<!-- HTTP avec PHP --> +<!-- Autre serveurs web minimalistes --> diff --git a/drafts/unix-web/images.md b/drafts/unix-web/images.md @@ -0,0 +1,6 @@ +<!-- Les images avec UNIX --> +<!-- imagemagick --> +<!-- inkscape, scour --> +<!-- pngquant,pngcrush, jpegtran, etc. --> + +find, stat diff --git a/drafts/unix-web/intro.md b/drafts/unix-web/intro.md @@ -0,0 +1 @@ + diff --git a/drafts/unix-web/javascript.md b/drafts/unix-web/javascript.md @@ -0,0 +1,5 @@ +<!-- Le JavaScript avec UNIX --> +<!-- Le JSON avec jq --> +* https://mediashare.fr/post/traitement-json-dans-le-terminal-avec-jq +<!-- JSMin --> +<!-- JSLint --> diff --git a/drafts/unix-web/make.md b/drafts/unix-web/make.md @@ -0,0 +1,7 @@ +<!-- Make --> + +Sources: + +* <https://blog.sanctum.geek.nz/unix-as-ide-building/> +* <https://learnxinyminutes.com/docs/fr-fr/make-fr/> +* <http://swcarpentry.github.io/make-novice/> diff --git a/drafts/unix-web/markdown.md b/drafts/unix-web/markdown.md @@ -0,0 +1,2 @@ +<!-- Le Markdown avec UNIX --> +<!-- lowdown --> diff --git a/drafts/unix-web/navigateur.md b/drafts/unix-web/navigateur.md @@ -0,0 +1,4 @@ +<!-- Le navigateur web avec UNIX --> +<!-- xdotool --> +<!-- lynx, w3m --> +<!-- xdg-* -->