Pour y comprendre quelque chose j'ai décidé de coder un réseau de neurones en C. C'est aussi pour me dispenser de python, tensorflow et keras.
Traduction partielle de QuickJs Javascript Engine avec des notes de bas de page personnelles.
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.
Outil pour illustrer des articles de mathématique ou de physique en 2 ou 3 dimensions : axes, bases, points, segments, vecteurs, angles, etc.
Quelques expérimentations avec SQLite et sqlite3
notamment une extension avec une fonction de chaines de caractères écrite en C.
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
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.
Des bouts de code de javascript qui m'ont été parfois utiles
Simulation de l'action des antibiotiques et de la formation de résistance
Résolution d'une grille de sudoku par la méthode de backtraking (retour sur trace) en langage C.
Implémentation en C d'une queue dynamique.
Fonctions enqueue, dequeue, ...
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.
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.
Traduction de X keyboard extension du Wiki de archlinux. J'ai utilisé l'excellent DeepL comme outil d'aide à la traduction.
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.
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é.
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 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 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.
Une curiosité des polynômes d'interpolation de Lagrange appliqués aux suites, fait apparaître les coefficients du binôme de Pascal.
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.
Quelques anecdotes de l'histoire des mathématiques
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»
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)
J'ai déjà commis un article sur les expressions régulières en C++.
En C c'est un peu moins maniable.
Si Trump est mort ...
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.
- 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
Notes concernant les profils de Firefox et userChrome.css.
Utilisation de Stylus pour corriger le "nouveau" style de Wikipedia.
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.
Implémentation en C d'une machine de Turing
Prétexte pour construire à la volée une pile LIFO en C.
Même pas capables de publier des communiqués de presse fiables.
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
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.
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.
Conception d'un album photo web utilisant un simple script bash pour produire les pages html.
Pense-bête pour l'utilisation de exiv2, Image magick et d'autres manipulations de photos
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
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.
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.
Je déteste javascript autant que je honnis css. Mais il faut en passer par eux parfois.
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.
Pense-bête pour les calculs en multiple précision en python (module mpmath) et en C (GNU MPFR).
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.
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.
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é.
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 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.
Here is an easy way for mathematicians who are familiar with LaTeX to get mathematics into HTML web pages.
Dr Douglas R. Woodall
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.
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.
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.
- Fréquences de la gamme tempérée
- Effet Doppler
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
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 ?
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 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.
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
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.
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.
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.
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é.
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 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à.
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.