Compare commits

...

2 Commits

Author SHA1 Message Date
tTh
3794eb2608 small additions 2022-06-24 03:19:32 +02:00
tTh
d1d3b7c94e patch a bug after file renaming 2022-06-10 10:42:15 +02:00
5 changed files with 118 additions and 17 deletions

14
.gitignore vendored
View File

@ -5,13 +5,13 @@ log.*
MANIFEST
tarball
main.aux
main.idx
main.ilg
main.ind
main.log
main.pdf
main.toc
tetatricks.aux
tetatricks.idx
tetatricks.ilg
tetatricks.ind
tetatricks.log
tetatricks.pdf
tetatricks.toc
code/a.out
code/*.o

View File

@ -135,18 +135,53 @@ La dernière ligne va vous étonner.
La bibliothèque \textbf{Plplot} semble être un bon choix pour commencer,
mais il existe bien d'autres options.
Par exemple \textbf{g2} (page \pageref{g2}) semble être utilisable
avec le F77, et possiblement avec un Fortran moderne.
avec les vieux F77, et possiblement avec un Fortran moderne, il faut juste
un peu de \textsc{rtfm}.
Nous allons donc commencer par Plplot.
% --------------------------------------------------------
\subsection{Plplot} \index{plplot} \label{ploplt}
Commençons directement par un EMC\footnote{Exemple Minimal Compilable}
qui ne va pas faire grand chose, à part initialiser la machinerie
interne de Plplot qui est assez avancée.
Il y a beaucoup de paramètres réglables, mais aussi des fonctions
qui gèrent pour vous les valeurs « par défaut ».
Voyez cette exemple comme un \textsl{boilerplate} simple
ou un \textsc{HelloWorld}~:
\begin{verbatim}
program dessine
use plplot
implicit none
call plinit ()
call plenv(-2.1, 2.1, -2.1, 2.1, 0, 0)
call plend
end program
\end{verbatim}
Il ne se passe pas grand chose, sauf la proposition de choisir
le type de sortie.
Dans la version que j'ai (XXX\index{XXX}), on a le choix entre
X-Window, PostScript mono ou couleur, Xfig, Null, UserMemory et SVG.
C'est intriguant de ne pas avoir au moins \textbf{un} format
pixmap\index{pixmap}.
Laissons cette question en suspens, et commençons à dessiner.
D'accord, mais dessiner quoi ?
% --------------------------------------------------------
\section{Questions}
XXX\index{XXX}
\index{XXX}
Comment déclarer une variable statique dans une procédure ?
\begin{itemize}
\item Comment déclarer une variable statique dans une procédure ?
\item Pourquoi ne pas parler de DISLIN ?
\item Est-il possible de causer à \texttt{libsndfile} ?
\end{itemize}
% ========================================

View File

@ -116,13 +116,15 @@ Les champs d'altitude... Toute une histoire...
#declare Champ_Altitude = object
{
height_field {
png "WS/hf5.png" gamma 1.8
}
png "WS/hf5.png" gamma 1.8
}
pigment { color Cyan }
scale 2
}
\end{verbatim}
Le paramètre \texttt{gamma} est injustement méconnu.
% ------------------------------------------------
\subsection{Random} \index{ramdom}
@ -141,9 +143,25 @@ que l'on vient d'obtenir~:
\texttt{\#local foo = rand(RND);}
Par contre, on va obtenir un résultat bien classique~:
\textsl{The numbers are uniformly distributed, and have values between
0.0 and 1.0,}
Mais... \index{XXX}
Pourquoi nous faut-il plusieurs générateurs ? La réponse est dans
la documentation\footnote{\texttt{https://wiki.povray.org/}}~:
\textsl{Multiple random generators are very useful in situations where you use
rand() to place a group of objects, and then decide to use rand()
in another location earlier in the file to set some colors or place
another group of objects.
Without separate rand() streams, all of your objects would move
when you added more calls to rand().
This is very annoying.}
Ce qui nous conduit vers une autre question. Les PRNG sont des machines
déterministes. C'est à dire qu'à conditions identiques au départ,
nous aurons toujours la même séquence en sortie.
... \index{XXX}
% ------------------------------------------------

View File

@ -6,6 +6,14 @@ voir quelques grands classiques de la catégorie pas du tout
interactif. Le genre de machin que l'on peut ranger au fond
d'un script shell pour le réutiliser la semaine prochaine.
\begin{itemize}
\item{ImageMagick}
\item{Gmic}
\item{NetPBM}
\item{Portable Network Graphic}
\item{TIFF}
\end{itemize}
% -------------------------------------------------------------------
\section{ImageMagick}\index{ImageMagick}
@ -21,6 +29,11 @@ la plupart des traitements,
\texttt{display} et \texttt{animate} pour visualiser des images,
\texttt{identify} pour en lire les méta-données.
Ils partagent un certain nombre d'options communes.
Certains d'entre eux peuvent avoir un effet destructif%
\footnote{En plus d'avoir un nom de série $Z$.},
vous êtes prévenus.
\subsection{L'option \texttt{-geometry}}
C'est une notion importante, car elle est utilisée comme paramètre
@ -200,6 +213,34 @@ use it heavily.
sion schemes.
\end{verbatim}
% -------------------------------------------------------------------
\section{Cimg} \index{Cimg}
\texttt{Cimg} est l'énorme bibliothèque de fonctions
(écrites en \texttt{C++}\footnote{\textsc{wtf?}}) sur lesquelles
et basé Gmic. C'est long à compiler, ça produit des binaires
énormes, mais il semble bien que ça puisse faire des trucs géniaux.
\begin{lstlisting}
#define cimg_use_png
#include "CImg.h"
using namespace cimg_library;
#define BLUR 0.35
int main(int argc,char **argv)
{
if (3 != argc) {
fprintf(stderr, \
"Usage: %s infile.png outfile.png\n", argv[0]);
exit(1);
}
CImg<unsigned char> imgIn (argv[1]);
CImg<unsigned char> imgOut = \
imgIn.get_norm().blur(BLUR).normalize(0, 255);
imgOut.save(argv[2]);
return 0;
}
\end{lstlisting}
% -------------------------------------------------------------------

View File

@ -1,12 +1,17 @@
%
%
% Chapitre un peu en vrac :)
%
\chapter{Web servers}
% ==============================================================
\section{Apache} \index{Apache}
\section{Apache, Nginx} \index{Apache} ìndex{nginx}
Le grand classique. Que nous ne verrons pas pour le moment.
Apache (\textsl{A patchy server} et Nginx sont de grands classiques,
voire même, dans le cas d'Apache, un grand ancien.
Que nous ne verrons pas pour le moment. Je vais plutôt me concentrer
sur un autre serveur : \texttt{lighthttp}, pour passer ensuite à quelque
chose d'encore plus bas-niveau.
% ==============================================================
@ -23,16 +28,18 @@ root@ramen:~#
\end{verbatim}
\textbf{Q:} Sur une installation fraiche, la racine du site est
en 403\index{403} ?\linebreak
en erreur 403\index{403} ?\linebreak
\textbf{R:} Par défaut le listing des répertoires vides
(sans \texttt{index.html}) est interdit. Pour changer ça, il faut
\texttt{\# lighttpd-enable-mod dir-listing} et
\texttt{\# service lighttpd force-reload}, voilà.
% ==============================================================
\section{Custom made}
\begin{verbatim}
tth@ramen:~/Houba/Fractales90$ apt show libmicrohttpd12
Package: libmicrohttpd12