Accueil

QuickJs

Traduction partielle de QuickJs Javascript Engine avec des notes de bas de page personnelles.

Entiers de Gauss

Prétexte pour revisiter C++ que je ne pratique plus depuis quelques années et réviser un peu d'algèbre que je suis en train d'oublier. Un entier de Gauss est un nombre complexe dont la partie réelle et la partie imaginaire sont des entiers relatifs.

Repères cartésiens

Outil pour illustrer des articles de mathématique ou de physique en 2 ou 3 dimensions : axes, bases, points, segments, vecteurs, angles, etc.

SQLite

Quelques expérimentations avec SQLite et sqlite3 notamment une extension avec une fonction de chaines de caractères écrite en C.

Les mots pour ne rien dire

Recette pour réussir un article journalistique à l'heur des réseaux sociaux

Temps de préparation : 15 min.

Temps de lecture : 3 min.

Niveau : très facile

Archlinux sur une clé USB

Installation d'Arch Linux sur une clé USB. Le résultat est une installation persistante identique à une installation normale d'un «disque dur» avec quelques optimisations de performances destinées à faire tourner linux sur des supports flash amovibles. Elle utilise un démarrage UEFI avec EFISTUB.

Javascript

Des bouts de code de javascript qui m'ont été parfois utiles

Antibiotiques

Simulation de l'action des antibiotiques et de la formation de résistance

Résolution de Sudoku en C

Résolution d'une grille de sudoku par la méthode de backtraking (retour sur trace) en langage C.

Queue

Implémentation en C d'une queue dynamique.

Fonctions enqueue, dequeue, ...

Générateur de documentation pour le C

Générer et afficher sur un terminal des commentaires encadrés par /** . . . */ à partir d'un fichier *.h, *.c, *.cc. Optionnellement produire un fichier html.

Clavier azerty pour les développeurs

Disposition de clavier très proche de l'AZERTY mais plus commode pour les développeurs avec un accès plus facile au caractères | { } [ ] ` ~ \ æ œ et à l'alphabet grec. Accessoirement un semblant de pavé numérique.

Extension de «X keyboard»

Traduction de X keyboard extension du Wiki de archlinux. J'ai utilisé l'excellent DeepL comme outil d'aide à la traduction.

Plan complexe en JavaScript

Pour illustrer mon article précédent, Nombres complexes, j'ai dû me faire un outil en JavaScript. Il permet de représenter un repère du plan complexe et d'y tracer des figures. L'avantage de JS est qu'il fait des dessins très propres.

Nombres complexes

Cet article n'est pas un cours sur les nombres complexes. Il en existe tant qui sont bien faits. Lisez le plutôt comme une divagation mathématique autour des nombres jusqu'aux complexes. J'espère qu'il remettra les yeux en face des trous, pour quelqu'un qui a appris, mais beaucoup oublié.

Giac, Xcas, icas

La suite Giac, Xcas, icas est un ensemble de librairie C++, interface graphique, et interface console de calcul symbolique, de calcul en général et bien plus. Ici j'aborderai l'interface console en linux.

Loupe : Application du principe de Maupertuis

Loupe est un outil d'accessibilté qui une fois lancé (avec un raccourci, par exemple) permet de délimiter une zone de l'écran puis de l'afficher avec une taille double.

OpenScad : modélisation 3D

OpenScad est un logiciel de modélisation 3D paramétrique sans interface graphique mais utilisant un langage fonctionnel. Je m'en sers, quand je fais de la menuiserie pour voir en volume. Dans cet article je vais explorer certaines de ces fonctionnalités sous l'angle de la menuiserie.

Des polynômes de Lagrange aux coefficients du binôme de Pascal

Une curiosité des polynômes d'interpolation de Lagrange appliqués aux suites, fait apparaître les coefficients du binôme de Pascal.

Eviter les boucles imbriquées

Nous utilisons fréquemment des boucles for imbriquées. Il arrive que la profondeur de ces imbrications soit trop grande (ou qu'elle soit variable) pour pouvoir les écrire en dur. Ici je donne ma solution en C et en python.

Histoires

Quelques anecdotes de l'histoire des mathématiques

DeepL est-il en train de détrôner Google Traduction

Le service de traduction automatique en ligne DeepL lancé il y a moins de quatre ans est en train de tailler des croupières au mastodonte Google Traduction. Exemple : pour «covid: first jab» Google donne «covid : premier jab» alors que DeepL traduit bien «covid : première piqûre»

Le temps en C

Pense-bête des fonctions de date et de temps en C :

 • time_t time(time_t *tloc);

 • time_t mktime(struct tm *tm)

 • struct tm *localtime(const time_t *timep);

 • double difftime(time_t time1, time_t time0)

 • char *strptime(const char *s, const char *format, struct tm *tm)

Expressions régulières en C

J'ai déjà commis un article sur les expressions régulières en C++.

En C c'est un peu moins maniable.

Trump

Si Trump est mort ...

Vim

Comme beaucoup je me suis mis un jour à Vim. Les débuts ont été déroutants, mais maintenant je ne jure que par VIM.

Ce court article recense certaines de mes maniaqueries de petit programmeur du dimanche.

Not FAQ linux

- Script bash acceptant un nombre variable d’arguments

- Créer une clé USB bootable

- CDPATH

- PWD et OLDPWD

- Renommer en masse

- La variable $PS1

- Vim et le X clipboard

- Script ftp

- Activer et désactiver les Beep

- fichiers modifiés récemment

Firefox

Notes concernant les profils de Firefox et userChrome.css.

Utilisation de Stylus pour corriger le "nouveau" style de Wikipedia.

Astronomie : libnova

Il y a quelques années j'avais écrit quelques programmes de calcul de l'heure de lever et de coucher du soleil. J'ai découvert ces jours-ci une librairie de calculs d'astronomie qui fait tout ce qu'on peut imaginer.

Machine de Turing

Implémentation en C d'une machine de Turing

Ensemble des diviseurs d'un entier naturel

Prétexte pour construire à la volée une pile LIFO en C.

Communiqués de presse du site solidarites-sante.gouv.fr

Même pas capables de publier des communiqués de presse fiables.

Langage C et codage des caractères

Nos caractères UTF8 qui deviennent la norme sous linux, sont codés sur 1 à 6 octets. Ceci pose des problèmes entre autres en C avec les fonctions de <string.h> mais aussi avec les URL. Dans cet article j'expose ce que j'en comprends et comment je le résous.

Librairie graphique GD

GD est une librairie graphique écrite en C qui permet de créer ou ouvrir des images (jpg, png, gif, etc.) et de tracer dedans des formes géométriques (ligne, rectangle, cercle, etc.). Elle permet aussi quelques manipulations élémentaires. Le langage est C.

Mélodie au point de croix

Une image dessinée au point de croix peut-elle être interprétée comme une mélodie ? Une solution serait celle exposée dans cet article.

Album photo

Conception d'un album photo web utilisant un simple script bash pour produire les pages html.

Photos

Pense-bête pour l'utilisation de exiv2, Image magick et d'autres manipulations de photos

Html table, css float et grid

Comparaison de la balise table de html et des modèles float et grid du css appliqués à un exemple simple de planches de cartes de visite

Radio internet avec un raspberry pi

Marre de Radio France, marre des postes radios internet du commerce. Do It Youself ou en français on n'est jamais mieux servi que par soi-même.

ici.radio-canada : l'art de se tirer une balle dans le pied

Aussi incroyable que cela puisse paraitre ici.radio-canada a supprimé son flux public qui était utilisé par les radios internet. Allez y comprendre quelque chose.

Hamburger, slideshow, js css et compagnie

Je déteste javascript autant que je honnis css. Mais il faut en passer par eux parfois.

Surf, un navigateur génial

Surf de suckless est un excellent navigateur web pour celui qui veut lire une page web sans les nuisances des navigateurs ordinaires (firefox, etc.). Nous allons voir ici comment l'adapter à ses goûts, le compiler et l'utiliser.

Calculs en multiple précision

Pense-bête pour les calculs en multiple précision en python (module mpmath) et en C (GNU MPFR).

Les traducteurs

Les traducteurs du logiciel libre fournissent un travail colossal et indispensable. Qu'ils soient remerciés. Quelques fois leur traduction est si verbeuse, qu'elle rend l'usage de nos logiciels pénible. Voici une solution pour y remédier.

Spline quadratique d'une suite finie

On trouve de nombreuses pages sur le web qui traitent des splines cubiques mais presque pas d'interpolations quadratiques. Le but de cet article est de combler cette lacune.

Algèbre linéaire avec Sympy

Rudiments d'algèbre linéaire avec Sympy. Cet article s'adresse à des gens qui ont peu fait d'algèbre linéaire ou beacoup oublié.

Tohtml

Vim dispose d'une commande TOhtml pour convertir le fichier courant en html. Cette fonction produit une page html complète avec son head et son body. Les styles qui y sont définis altèrent le style de la page dans laquelle on l'inclut. Ici on va hacker TOhtml pour produire un bout de code html isolé.

Sympy

sympy est un module python de calcul formel (calcul symbolique). Il n'a pas à rougir de ses concurrents sauf peut-être pour la rapidité d'exécution. Nous aborderons ici quelques calculs d'analyse du niveau de terminale.

LateXMathML

Here is an easy way for mathematicians who are familiar with LaTeX to get mathematics into HTML web pages.

Dr Douglas R. Woodall

Yield

Dans python, ma fonction préférée est yield. Comme moi, c'est une feignasse. Elle attend qu'on l'invoque, brandit son résultat et retourne dans son terrier.

Python format : % ou .format()

Pour formater l'affichage la vieille méthode utilisant % est remplacée par la méthode .format(). Le but de cet article est de faciliter le passage de l'ancienne méthode à la nouvelle.

Vivaldi

Les visiteurs assidus ont peut-être remarqué que mon site mettait des habits différents à chaque saison. C'est que j'utilise un script python qui permet en une ligne de commande de modifier les couleurs de la feuille de style.

La vache qui regarde passer les limousines

- Fréquences de la gamme tempérée

- Effet Doppler

Systemd

Adieu System V, on va tous y passer, à systemd

1. Systemd gère tout seul le réseau. On peut donc oublier wicd ou NetworkManager. La configuration est extrèmement simple

2. Verrouillage d'écran avec slock

Couleurs HTML de la langue française

En html ou en css la couleur peut être désignée en hexadécimal. Par exemple #000000 donne le noir, #ffffff le blanc et #efface un vert pâle. Mais combien de mots de la langue française peuvent se prêter à ce jeu de couleurs ?

Fer pour FreeCAD

Cet article fait partie d'un projet d'atelier menuiserie pour FreeCAD.

Dans cet article on modélise des pièces dont la section comporte des segments de droite et des arcs de cercle.

Sagemcom

Sagemcom RM50 est une radio internet rudimentaire. Dans sa version de décembre 2014, son logiciel interne est vérolé. Sagemcom en propose une version corrigée, mais hélas le support de Sagem Cons est lamentable.

Linux shell history

Un jour, par mégarde, j'ai tapé dans un terminal Ctrl-r. Ce jour est béni des Dieux. Dans cet article quelques ficelles de bash_history :

- Ctr-r ou (reverse-i-history)

- Historique du bash, exécuter par numéro

- Zut ! j'ai encore oublié sudo

- Premier, dernier argument de la dernière commande

Terminal

Le terminal de XFCE n'est pas génial, mais il a l'avantage de s'afficher sans barre ni bordure de fenêtre. On croirait qu'il est incrusté dans le bureau. Mais il a quelques petits problèmes.

GNU-libmatheval

Libmatheval est une librairie C qui analyse et évalue une expression mathématique sous forme de chaîne. Elle reconnait les fonctions et opérateurs mathématiques et les variables. En prime, elle peut déterminer la fonction dérivée.

Grafx

J'ai souvent besoin de programmer une fenêtre Xwindow sans bouton, ni trompette, pour y dessiner quelque chose et éventuellement y écrire un texte simple. Les librairies usines à gaz (Gtk, Qt, Fltk, ...) nécessitent un investissement très long, et une mise en place pénible.

GrafX (prononce graf ix, comme X11) est une classe qui manipule X11 directement. Son utilisation est immédiate : open pour ouvrir une fenêtre, line pour tracer un trait, etc.

Stack : liste chaînée

Le C++ offfre en standard (STL) plusieurs conteneurs aussi chiants à manier, les uns que les autres. Pour implémenter une simple pile LIFO on peut recourir à verctor, list ou même l'usine à gaz stack. Ce n'est pourtant pas sorcier d'implémenter une pile.

Correction (24/09/2015) Il semblerait que forward_list fournit une pile LIFO. Je n'ai pas encore essayé.

Regex en C++

Paradoxalement c'est en C++ que les expressions régulières sont les plus simples à employer. Il suffit de connaître la syntaxe ECMAScript et les trois méthodes regex_match, regex_search et regex_replace. Accessoirement nous utiliserons une nouveauté de C++11 : for x: conteneur

Not FAQ python

Not frequently asked questions for Python ou la foire aux questions qui ne sont pas (souvent) posées.

Ce sont des solutions ou des astuces que j’ai glanées ci et là.

Slim : Simple login manager

Les login manager sont légion, mais sont généralement pourris. Slim est raisonnablement simple et néanmoins assez configurable. Cet article donne un exemple de configuration que chacun peut adapter à ses besoins.

Le dossier est : /usr/share/slim/themes/

Les fichiers sont : background.jpg, panel.png et slim.theme.

Le fichier de configuration est facile à comprendre.