Compare commits
No commits in common. "b1ebd390b417252b266e1c82693252668b737d61" and "c09df69af37334f0c48ab3826933fb9c466ed01c" have entirely different histories.
b1ebd390b4
...
c09df69af3
@ -6,7 +6,6 @@
|
|||||||
% ====================================================================
|
% ====================================================================
|
||||||
|
|
||||||
% https://www.theregister.com/2023/03/28/nostalgic_for_basic/
|
% https://www.theregister.com/2023/03/28/nostalgic_for_basic/
|
||||||
% https://retrofun.pl/2023/12/18/was-basic-that-horrible-or-better/
|
|
||||||
|
|
||||||
% ====================================================================
|
% ====================================================================
|
||||||
% \section{BASIC} \index{BASIC}
|
% \section{BASIC} \index{BASIC}
|
||||||
@ -14,20 +13,18 @@
|
|||||||
C'est probablement un des premiers langages interactifs utilisable par le
|
C'est probablement un des premiers langages interactifs utilisable par le
|
||||||
peuple et les gens. Déja, à ce titre, dénonce que ce langage
|
peuple et les gens. Déja, à ce titre, dénonce que ce langage
|
||||||
demande un peu de curiosité, il a traversé soixante ans
|
demande un peu de curiosité, il a traversé soixante ans
|
||||||
d'informatique, et il existe encore.
|
d'informatique, et il existe enore.
|
||||||
Mais pour moi, le véritable intérèt
|
Mais pour moi, le véritable intérèt
|
||||||
est dans la multitude et la diversité des implémentations.
|
est dans la multitude et la diversité des implémentations.
|
||||||
Des minis catatoniques des années 60 aux micros-ordinateurs 8 bits,
|
Des minis catatoniques des années 60 aux micros-ordinateurs 8 bits,
|
||||||
des dizaines de versions souvent incompatibles ont vues le jour.
|
des dizaines de versions souvent incompatibles ont vues le jour.
|
||||||
Un nom pour citer un exemple ? « Locomotive », ça ira ?
|
Un nom ? « Locomotive », ça ira ?
|
||||||
|
|
||||||
Dans un premier temps, je vais les lister sommairement, et
|
Dans un premier temps, je vais les lister sommairement, et
|
||||||
ensuite j'aurais une idée sur lesquels seront les plus funs
|
ensuite j'aurais une idée sur lesquels seront les plus funs
|
||||||
à explorer, voire sauront trouver leur place dans un
|
à explorer.
|
||||||
environnement dédié à la techno-futilité, concept très
|
|
||||||
tendance dans certains milieux.
|
|
||||||
|
|
||||||
Pour en savoir plus : \textsc{Dartmouth Time Sharing System}
|
Dartmouth Time Sharing System
|
||||||
|
|
||||||
% ====================================================================
|
% ====================================================================
|
||||||
\section{Bywater} \index{bywater}
|
\section{Bywater} \index{bywater}
|
||||||
@ -40,14 +37,14 @@ Full BASIC (X3.113-1987) in C.
|
|||||||
\end{quote}
|
\end{quote}
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
Bywater BASIC Interpreter/Shell, version 2.10
|
Bywater BASIC Interpreter/Shell, version 2.10
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Copyright (c) 1993, Ted A. Campbell
|
Copyright (c) 1993, Ted A. Campbell
|
||||||
for bwBASIC version 2.10, 11 October 1993
|
for bwBASIC version 2.10, 11 October 1993
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
Le mode interactif me semble un peu rustre, mais utilisable à l'ancienne.
|
Le mode interactif me semble un peu rustre, mais utilisable à l'ancienne.
|
||||||
Les messages d'erreur sont du genre \textsc{bdos error on a, select}.
|
Les messages d'erreur sont du genre \textsc{bdos error on a}.
|
||||||
Je n'ai pas réussi à faire une sauvegarde du programme\footnote{J'ai
|
Je n'ai pas réussi à faire une sauvegarde du programme\footnote{J'ai
|
||||||
renoncé au bout de 30 secondes}, ce qui limite son \textsl{utilisability}.
|
renoncé au bout de 30 secondes}, ce qui limite son \textsl{utilisability}.
|
||||||
|
|
||||||
@ -84,6 +81,8 @@ http://www.sdlbasic.altervista.org/main/
|
|||||||
|
|
||||||
\index{BBC} \index{Acorn}
|
\index{BBC} \index{Acorn}
|
||||||
|
|
||||||
|
https://www.bbcbasic.co.uk/index.html
|
||||||
|
|
||||||
\begin{quote}
|
\begin{quote}
|
||||||
Brandy is an interpreter for BBC BASIC V, the dialect of BASIC that
|
Brandy is an interpreter for BBC BASIC V, the dialect of BASIC that
|
||||||
Acorn Computers supplied with their ranges of desktop computers that
|
Acorn Computers supplied with their ranges of desktop computers that
|
||||||
@ -91,12 +90,12 @@ use the ARM processor such as the Archimedes and Risc PC, and is still
|
|||||||
in use on these and compatibles.
|
in use on these and compatibles.
|
||||||
\end{quote}
|
\end{quote}
|
||||||
|
|
||||||
https://www.bbcbasic.co.uk/index.html
|
|
||||||
|
|
||||||
% ====================================================================
|
% ====================================================================
|
||||||
|
|
||||||
\section{FreeBASIC} \index{FreeBASIC}
|
\section{FreeBASIC} \index{FreeBASIC}
|
||||||
|
|
||||||
|
https://www.freebasic.net/
|
||||||
|
|
||||||
\begin{quote}
|
\begin{quote}
|
||||||
When used in its "QB" language mode, FreeBASIC provides a high level
|
When used in its "QB" language mode, FreeBASIC provides a high level
|
||||||
of support for programs written for QuickBASIC\index{QuickBASIC}.
|
of support for programs written for QuickBASIC\index{QuickBASIC}.
|
||||||
@ -104,12 +103,12 @@ Many programs written for QuickBASIC will compile and run in this mode
|
|||||||
with no changes needed.
|
with no changes needed.
|
||||||
\end{quote}
|
\end{quote}
|
||||||
|
|
||||||
https://www.freebasic.net/
|
|
||||||
|
|
||||||
% ====================================================================
|
% ====================================================================
|
||||||
|
|
||||||
\section{BASIC-256} \index{BASIC-256}
|
\section{BASIC-256} \index{BASIC-256}
|
||||||
|
|
||||||
|
https://basic256.org/
|
||||||
|
|
||||||
\begin{quote}
|
\begin{quote}
|
||||||
BASIC-256 is an easy to use version of BASIC designed to teach anybody
|
BASIC-256 is an easy to use version of BASIC designed to teach anybody
|
||||||
(especially middle and high-school students) the basics of computer
|
(especially middle and high-school students) the basics of computer
|
||||||
@ -121,16 +120,9 @@ on screen in minutes, and a set of detailed, easy-to-follow tutorials
|
|||||||
that introduce programming concepts through fun exercises.
|
that introduce programming concepts through fun exercises.
|
||||||
\end{quote}
|
\end{quote}
|
||||||
|
|
||||||
https://basic256.org/
|
|
||||||
|
|
||||||
% ====================================================================
|
% ====================================================================
|
||||||
|
|
||||||
\section{Benchmark}
|
|
||||||
|
|
||||||
Nous avons une liste de Basics, il faut maintenant les comparer.
|
|
||||||
Il y a le très classique (et très ancien) crible d'Eratostène, mais
|
|
||||||
nous pouvons trouver mieux en fouillant dans les archives.
|
|
||||||
|
|
||||||
% ====================================================================
|
% ====================================================================
|
||||||
|
|
||||||
\section{Et ailleurs ?}
|
\section{Et ailleurs ?}
|
||||||
@ -139,4 +131,5 @@ L'interpréteur \texttt{Qbasic} de Microsoft fonctionne très bien
|
|||||||
dans Dosbox~: à lire en page \pageref{Qbasic}. Son prédécesseur,
|
dans Dosbox~: à lire en page \pageref{Qbasic}. Son prédécesseur,
|
||||||
\texttt{GWBASIC} marche très bien aussi.
|
\texttt{GWBASIC} marche très bien aussi.
|
||||||
|
|
||||||
|
% -------------------------------------------
|
||||||
% ====================================================================
|
% ====================================================================
|
||||||
|
@ -104,7 +104,9 @@ Code & Signification \\
|
|||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
|
||||||
Pour avoir la liste des couleurs disponibles : \texttt{convert -list color}
|
Pour avoir la liste des couleurs disponibles : \texttt{convert -list color}
|
||||||
et celles des polices de caractère : \texttt{convert -list font}.
|
et celles des fontes : \texttt{convert -list font}.
|
||||||
|
|
||||||
|
\subsubsection{Questions...}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item{Comment mettre une couleur de fond à ce texte ?}
|
\item{Comment mettre une couleur de fond à ce texte ?}
|
||||||
@ -212,10 +214,6 @@ Et ces données peuvent être utilisé pour rajouter une simili
|
|||||||
|
|
||||||
% ------------------------------------------
|
% ------------------------------------------
|
||||||
|
|
||||||
%
|
|
||||||
% http://al.howardknight.net/?ID=170228531600
|
|
||||||
%
|
|
||||||
|
|
||||||
\subsection{Configuration}
|
\subsection{Configuration}
|
||||||
|
|
||||||
La configuration est dans le répertoire \texttt{/etc/ImageMagick-6/}, et
|
La configuration est dans le répertoire \texttt{/etc/ImageMagick-6/}, et
|
||||||
@ -239,8 +237,8 @@ Resource limits:
|
|||||||
Time: unlimited
|
Time: unlimited
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
Vous pouvez aussi tenter de comprendre le contenu du fichier
|
Vous pouvez aussi essayer de comprendre le contenu du fichier
|
||||||
\texttt{thresholds.xml} puis revenir me l'expliquer juste après
|
\texttt{thresholds.xml} et venir me l'expliquer juste après
|
||||||
ma sieste, je pense que ça permet de jouer sur différentes méthodes
|
ma sieste, je pense que ça permet de jouer sur différentes méthodes
|
||||||
de \textsl{dithering}, par exemple pour faire du Bayer.
|
de \textsl{dithering}, par exemple pour faire du Bayer.
|
||||||
|
|
||||||
@ -250,21 +248,19 @@ de \textsl{dithering}, par exemple pour faire du Bayer.
|
|||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item{convert -average frame*.png output.png}
|
\item{convert -average frame*.png output.png}
|
||||||
\item{convert -brightness-contrast 20\% foo.png bar.png}
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Il y en plein d'autres, des tricks \textsl{àlc} à découvrir.
|
Il y en plein d'autres, des tricks \textsl{àlc} à découvrir.
|
||||||
Ce sera, pour vous amis lecteurs, une dure mission à assumer.
|
Ce sera, pour vous amis lecteurs, une dure mission à assumer.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% ------------------------------------------
|
% ------------------------------------------
|
||||||
|
|
||||||
\subsection{Ressources}
|
\subsection{Ressources}
|
||||||
|
|
||||||
Le futur livre de Brunus.
|
Le futur livre de Brunus.
|
||||||
|
|
||||||
Réclamez les premiers drafts dans
|
Réclamez les prmiers drafts dans
|
||||||
l'IRC\index{IRC} \texttt{libera.chat\#paulla} \textit{:)}
|
l'IRC\index{IRC} \texttt{libera.chat\#paulla} \textit{:)}
|
||||||
|
|
||||||
\texttt{http://www.fmwconcepts.com/imagemagick/index.php}
|
\texttt{http://www.fmwconcepts.com/imagemagick/index.php}
|
||||||
|
@ -53,16 +53,9 @@ avec d'ignobles logiciels~:
|
|||||||
|
|
||||||
\texttt{ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-\%03d.jpeg}
|
\texttt{ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-\%03d.jpeg}
|
||||||
|
|
||||||
J'avoue ne pas avoir tout saisi : l'option\texttt{-r N} qui fixe le
|
|
||||||
\textsl{frame rate} sert à quoi ???
|
|
||||||
|
|
||||||
|
|
||||||
Il existe bien une alternative, mais je n'ai pas encore essayé~:
|
|
||||||
\texttt{mplayer -vo png -ss 3:46 -frames 20 stairs.mp4}
|
\texttt{mplayer -vo png -ss 3:46 -frames 20 stairs.mp4}
|
||||||
\# Write out 20 png format frames from a video starting at 3 minutes, 46 seconds.
|
\# Write out 20 png format frames from a video starting at 3 minutes, 46 seconds.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Tu peux générer les images de transition avec
|
Tu peux générer les images de transition avec
|
||||||
ImageMagick\index{ImageMagick} :
|
ImageMagick\index{ImageMagick} :
|
||||||
\texttt{convert a.png b.png -alpha set -channel A
|
\texttt{convert a.png b.png -alpha set -channel A
|
||||||
|
@ -1,35 +1,14 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int c, sec, nano;
|
int c;
|
||||||
struct timespec ts;
|
struct timespec ts;
|
||||||
int slowdown = 300; /* set a default value */
|
|
||||||
float delay;
|
|
||||||
/*
|
|
||||||
* get the desired slowdown from command-line
|
|
||||||
*/
|
|
||||||
if (2 == argc) {
|
|
||||||
if (1 != sscanf(argv[1], "%d", &slowdown)) {
|
|
||||||
fprintf(stderr, "%s: bad arg, sorry\n", argv[0]);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
if (slowdown < 1) {
|
|
||||||
fprintf(stderr, "%d is invalid\n", slowdown);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* convert the slowdown value to delay */
|
ts.tv_sec = 0;
|
||||||
delay = 1.0 / (float)slowdown;
|
ts.tv_nsec = 115 * 1000 * 1000;
|
||||||
sec = (int)delay;
|
|
||||||
nano = (int)(1000*1000*1000*(delay - (int)delay));
|
|
||||||
|
|
||||||
ts.tv_sec = sec;
|
|
||||||
ts.tv_nsec = nano;
|
|
||||||
while ( EOF != (c=getchar()) )
|
while ( EOF != (c=getchar()) )
|
||||||
{
|
{
|
||||||
putchar(c);
|
putchar(c);
|
||||||
|
Loading…
Reference in New Issue
Block a user