Journal Dhall, une réponse au problème de configuration

15
20
mai
2020

Cher Journal,

Ne te fie pas à l’intitulé, « le problème » n’est qu’un condensé fourre-tout pour ce qui est connu en tant que “Software Configuration Management issues” dans la lingua veicolare de la sphère informatique. Quant à Dhall, il s’agit d’un langage spécialisé dans la gestion de configurations1.

Présentation

Condensé en deux ou trois paragraphes

Dhall est un outil primordialement destiné à programmer les fichiers de configuration. En acronymes de moins de cinq lettres, tu as certainement (...)

Journal Rust et Python associés grâce au C

Posté par . Licence CC by-sa.
15
5
mai
2020

Le mariage de Python et Rust vous intéresse ?

Profiter des modules de Python au sein de Rust, de la sûreté de Rust pour accélérer les traitement de Python, de la possibilité d'intégrer à l'interpréteur des bibliothèques systèmes… ?

Je vous propose dans cette nouvelle note technique, de nombreux exemples et analyses du fonctionnement au travers de ctypes et du C, pour améliorer la performance de Python et étendre Rust.

https://code.nothus.fr/doku.php?id=python:rust_python

(màj possible dans le temps)

Wiki [PHP] Tester la vitesse de hashage des différents algorithmes

0
9
fév.
2020

[PHP] Tester la vitesse de hashage des différents algorithmes

Afin d'optimiser le code, il est toujours primordiale de trouver quelles sont les fonctions les plus rapide correspondant à un problème donné.

Les codes présentés ici vont permettre de tester facilement sur son propre serveur la vitesse de hashage des différents algorithmes et ce en monothread (un seul processus qui exécute tout) ou en multithread (un processus par fonction de hashage).

Monothread

Ce code fonctionne sur tout les systèmes d'exploitation.

    <?
(...)

Apprentissage de la programmation dans les lycées (SNT/NSI) — la création d’exercices

19
23
nov.
2019
Éducation

Depuis cette rentrée 2019, les élèves en classe de seconde ont un cours obligatoire intitulé Sciences numériques et technologie (SNT), alors que les élèves en classe de première, puis lors de leur passage en classe de terminale, peuvent opter pour un enseignement intitulé Numérique et sciences informatiques (NSI).

Dans le cadre de ces cours, les élèves auront naturellement des exercices à faire qui consisteront, entre autres, à écrire des programmes en Python (version 3 ou supérieure), le langage retenu par l’éducation nationale. Néanmoins, notamment à cause de leur interface, ces programmes renvoient une image désuète de l’informatique, en décalage avec celle véhiculée par les smartphones, très populaires auprès des jeunes.

Cette dépêche présente un outil dédié à la création d’exercices modernes de programmation, c’est‑à‑dire des exercices reflétant les nouveaux usages de l’informatique, apparus avec la popularisation des smartphones. Cet outil confère à ces exercices une forme nouvelle propre à stimuler l’intérêt des élèves pour ces cours de SNT/NSI, en faisant le lien entre l’informatique telle qu’abordée dans ces cours, et celle à laquelle ils sont habitués de par l’utilisation de leur smartphone.

Journal Mini-projet (python): un démon système pour gérer des raccourcis clavier

Posté par . Licence CC by-sa.
22
12
août
2019

Voici un petit projet du dimanche qui pourra éventuellement servir à ceux d'entre vous qui ont un petit serveur audio ou une raspberry-pi pour de la domotique.

Le titre n'est peut-être pas très clair, mais l'objectif est relativement simple: il faut exécuter des commandes lorsque certaines combinaisons de touches sont envoyés. Par exemple voici un extrait de ma configuration:

[/dev/input/event0]
KEY_STOP =
    mpc clear
    mpc random off
    mpc add /
KEY_FORWARD     = mpc next
KEY_BACKWARD    = mpc prev
KEY_0 =
(...)

Journal Apprentissage de la programmation : comment moderniser les exercices

15
9
août
2019

Eh oui, en pleines vacances, ce journal va évoquer la rentrée, et plus précisément la prochaine rentrée scolaire. Vu les résultats du pénultième sondage, cela devrait intéresser plus d'une personne ici, non pas tellement en tant qu'élève, mais plutôt en tant que parent ou grand-parent.

Il se trouve, en effet, qu'au cours de l'année solaire à venir, des cours de programmation informatique vont être dispensés dans certains lycées, avant d'être généralisés à l'ensemble des lycées d'enseignement général et technologique (...)

Journal TapTempo en une ligne

Posté par (page perso) . Licence CC by-sa.
43
19
juil.
2019

En lisant une dépêche du moment je découvre en passant le logiciel TapTempo. En lisant la description du comportement, par réflexe je me suis dit "tiens ça doit rentrer dans une ligne un algo de ce genre".

perl -ne 'BEGIN{use Time::HiRes qw/gettimeofday/} push(@t,0+gettimeofday()); shift(@t) if @t>5; printf("%3.0f bpm",60*(@t-1)/($t[-1]-$t[0])) if @t>1'

Bon ça ne marque qu'avec la touche Entrée, pas avec n'importe quelle touche, mais ça affiche bien le BPM en moyennant les 5 dernières valeurs. Et ça (...)

Wiki [PHP] Tester si le serveur cache Memcached fonctionne

0
17
avr.
2019

Voici une méthode en PHP permettant de tester si le serveur cache Memcached est bien joingnable.
Vous pouvez voir un exemple type de son fonctionnement dans ce script de HealthCheck pour nextcloud.

Tester la disponibilité (connexion) d'un unique serveur

<?php
if(memcache_connect("www.my_server_memcached.com", 11211)){
    echo "work";
}else{
    echo "not work";
}
?>

Tester la disponibilité (connexion) de plusieurs serveurs

<?php

$CONFIG['memcached_servers'] => array(
     array('localhost'
(...)

Wiki [PHP] Tester si le serveur cache (redis) fonctionne

0
16
avr.
2019

Voici un exemple de code testant si le serveur cache redis est bien fonctionnel.
Vous pouvez voir un exemple type de son fonctionnement dans ce script de HealthCheck pour nextcloud.

Tester la disponibilité (connexion) d'un unique serveur

<?php
$CONFIG['redis']['host'] = "127.0.0.1";
$CONFIG['redis']['port'] = 6379;

echo checkCacheRedis($CONFIG);

function checkCacheRedis($CONFIG){
                    /* on definit le port par défaut si l'utilisateur ne l'a pas défini
(...)