Notes
- Reverse
- Logiciels
- Shell
- Communication
- Git
- Editeurs
- Noyaux
- DevKitPro
- Langages
- Virtualisation
- GameHacking
- Fuzzing
- Langues
1. Exportation
Voici le code que j'exécute chaque fois que je souhaite générer une version HTML de mes notes.
;; YAKA ajouter un fichier ignore en paramètre ;; YAKA copier le dossier img ;; MaJ des liens de org-roam (org-roam-update-org-id-locations) ;; https://systemcrafters.net/publishing-websites-with-org-mode/building-the-site/ (require 'ox-publish) ;; Define the publishing project (setq org-publish-project-alist (list (list "notes" :recursive t :base-directory "." :publishing-directory "./public" :exclude "./presentations/.*" :author "rick" :email "rick@gnous.eu" :with-email t :language 'fr :html-link-home "/org/notes.html" :publishing-function 'org-html-publish-to-html) (list "pres" :recursive nil :base-directory "./presentations" :publishing-directory "./public/presentations" :publishing-function 'org-re-reveal-publish-to-reveal) (list "site" :components (list "notes" "pres") ) )) ;(org-id-update-id-locations) ;; Generate the site output (org-publish "site" t) (message "Site publié !") ; à voir avec dired ? ; http://xahlee.info/emacs/emacs/elisp_call_shell_command.html (shell-command "tar cvf org.tar.gz public")
2. Évènements
4. Koans
Les petits conseils des maîtres chinois.
- Vi
- Vim
- Sh
- Unix (+ d'autres liens, lien mort sur Editor Wars)
5. Sites basés
6. Articles intéressants
7. Projets
Idée de workflow, 3 projets en parallèle (en plus de l'écriture de cours) :
- projet bas niveau : eudyptula, noyau…
- projet haut niveau : calendrier, aoc…
- RE
Je me fixe un projet pour chaque catégorie / semaine et je ne le change pas avant la fin de la semaine.
Exemple :
- Eudyptula / noyau / sysadvent / écriture de firmware / arduino
- aoc / projet perso web
7.1. Top moumoute
De ceux que je veux absolument faire.
[-]
Noyau C[ ]
Noyau Rust[ ]
Jeu MSX[ ]
Jeu NES[ ]
Jeu SNES[ ]
Jeu (3)DS[ ]
RTS 100% libre (des assets au code)[ ]
MC like[ ]
Raytracer[ ]
Raytracer sur un truc à la con (DS, SNES…)[ ]
Botnet[ ]
Virus[ ]
Logiciel de triche
7.2. Challenges
7.2.1. CodingChallenges
https://codingchallenges.substack.com/ - https://codingchallenges.fyi/
Avoir 1 dépôt / projet ? des dépôts qui se regroupent parfois (ex. avec les clones d'outils cli ?)
Faire une liste de catégories pour faire les défis. La faire avant de commencer et ne pas la modifier plus que ça. Piocher dans ces technos pour faire les défis. On essaie d'être le plus bare metal possible.
- I want it on my PDP-11
- ANSI C, Ada, Fortran, Turbo Pascal
- Madman
- ASM (ARM, RISCV, X86…)
- Retro
- ANSI/ISO C, PHP, Perl
- '10
- Rust, JS (avec framework comme NodeJS), Go, Java
- Functional enjoyer
- Haskell, Ocaml
Liste
[ ]
wc[ ]
JSON parser[ ]
Compression tool[ ]
cut[ ]
Load Balancer[ ]
Sort tool[ ]
Calculator[ ]
Redis Server[ ]
grep[ ]
uniq[ ]
Web Server[ ]
URL shortener[ ]
diff[ ]
Shell[ ]
cat[ ]
IRC client[ ]
Memcached Server[ ]
Spotify Client[ ]
Bot Discord[ ]
Linkedin Carousel Generator[ ]
sed[ ]
DNS Resolver[ ]
Traceroute[ ]
Realtime Chat Client & Server[ ]
NATS Message Broker[ ]
Git[ ]
Rate limiter[ ]
NTP Client[ ]
Scheduling Automation App[ ]
Lisp interpreter[ ]
QR code generator[ ]
Crontab tool[ ]
head[ ]
jq[ ]
Google Keep[ ]
Pong[ ]
Redis CLI Tool[ ]
Network Modelling Tool[ ]
Social Media Tool[ ]
curl[ ]
HTTPS load tester[ ]
tr[ ]
Tetris[ ]
DNS Forwader[ ]
Port Scanner[ ]
yq[ ]
Chrome Extension
7.2.2. AoC
[ ]
2015- 1 langage différent / jour
[ ]
2016[ ]
2017[ ]
2018[ ]
2019[ ]
2020- en C
[ ]
2021[ ]
2022[ ]
2023[ ]
2024
7.2.3. Eudyptula [50%]
https://git.gnous.eu/Rick/eudyptula/src/branch/master/TASKS.txt
[X]
Tache 1- premier module basique, un helloworld
[X]
Tache 2- compilation du noyau (fait sur Gentoo, pas en rapport avec l'eudyptula)
[X]
Tache 3- découverte des patchs par mail
[X]
Tache 4- coding style
[X]
Tache 5- device driver
[X]
Tache 6- Misc characters device
[ ]
Tache 7- compilation de
linux-next
(pas fait, mais procédure similaire au noyau classique) [X]
Tache 8debugfs
et verrous (sémaphore / mutex…)[X]
Tache 9sysfs
et verrous[ ]
Tache 10- premier patch de style à soumettre à la liste de mails du noyau
[ ]
Tache 11- modification d'un driver noyau pour voir comment
marche la partie
sysfs
pour les devices [X]
Tache 12- type liste chaînée propre au noyau
[X]
Tache 13- cache
[ ]
Tache 14- tâches du noyau
[ ]
Tache 15- création d'un syscall (noyau)
[ ]
Tache 16- outil et fix de drivers (noyau)
[ ]
Tache 17- thread
[ ]
Tache 18- thread
[ ]
Tache 19- réseau
[ ]
Tache 20- système de fichiers (noyau)
7.2.4. sysadvent [12%]
Page du challenge - Lien historique
Utilisation des syscalls Linux pour faire des tâches.
[X]
cat (open
,read
,close
,write
)[X]
fork (clone
,getppid
,getpid
,gettid
,getuid
)[X]
mapping de fichiers avec la mémoire (ftruncate, mmap)[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
7.2.5. NaN
https://github.com/NotANameServer/challenges
[X]
Algorithme de tri : à améliorer[ ]
Génération de labyrinthe[ ]
Résolution de labyrinthe[ ]
Implémentation d'un serveur HTTP[ ]
Automates cellulaires[ ]
Client IRC[ ]
Calculatrice[ ]
Puissance 4[ ]
Puissance 4 - Protocole[ ]
Jeu de boules[ ]
Le juste prix
7.3. En cours
- definitely-not-NVGs
- firmware pour capturer des images avec un ESP32, écran GA9C01A et caméra OV2640
- calendrier
pour stocker des events et s'organiser pour y aller
Les tests sont en cours d'écriture, il faut commencer aussi à faire le back en parallèle. Le front sera en Laravel / Livewire (équivalent VueJS en php / blade).
- scripts
- fusion de plusieurs dépots (autoRequirements, rotateX61T et swapiswap). Il contiendra les futurs scripts trop petits pour avoir un dépôt à part.
- test-msx
- apprendre l'ASM pour le MSX
- test-3ds
- apprendre à dev sur la 3DS
- test-snes
- apprendre le dev sur SNES
- triachievements
site permettant de trier les jeux par temps de complétion
À reprendre (peut-être pas depuis 0). Il faut rajouter des sources pour les heures et si possible réduire le temps de calcul ou mettre en cache après.
- secretsantagenerator
petit site pour faire un secretsanta
Meilleure interface + compte pour créer un secretsanta, le partager par mail, pas besoin de compte pour voir à qui on doit offrir quelque chose (cf. tickets).
- spotifytobandcamp
cherche des artistes se trouvant dans une playlist spotify sur bandcamp
Faire une meilleure interface et le continuer.
- plane
plugin csgo pour gérer des LANs
À reprendre pour CS2 et voir pour une interface web pour les admins ?
- macros
permet de refaire une séquence de touches enregistrées
À améliorer avec notamment la compilation pas que sur Gentoo et l'ajout des touches du clavier.
- red
ed en rust
Apprendre davantage ed pour faire une meilleure implémentation.
- blog-utils
- docker et script pour le blog
- overlay
- overlay gentoo
- deploiement
- ansible pour déployer mon infra
- nuir
- thème du blog
- gemini-server
un serveur gemini en guile
Revoir la doc. de Guile sur SSL pour le continuer.
- (no term)
- chip8
- emulator
- le continuer et le débogguer bordel de dieux
- compilator
- le commencer lol
- vim-testalgo
- plugin vim pour testalgo
- rishtik
un shell basique
L'archiver et le reprendre de 0 ?
- groupementliens
- une sorte de shaarly, à checker et l'archiver si inutile
7.4. À archiver
- motusbash
le motus mais dans un script bash
À archiver ?
- extractdiscordresearch
extraire la recherche discord
Check si toujours utilisable.
- morse-light
un système pour faire des signaux morses avec un arduino
À archiver ?
7.5. A commencer
- 421
- jeu du 421 dev en Java avec interface graphique
- aukus
- shazam mais libre (application + à voir pour la reconnaissance de son)
- cdille
- moteur de blog en C en parsant des fichiers textes vers HTML
- testalisp
- testalgo en lisp
- (no term)
- blockchain
- (no term)
- un langage
- (no term)
- firmware montre connectée
- (no term)
- jeu walking sim dans espace liminal
- (no term)
- RAT
- (no term)
- moteur 3D
- (no term)
- jeu doom like
- (no term)
- shader (https://www.shadertoy.com)
- (no term)
- demo
7.6. Finis
7.6.1. Terminés
Ces projets sont finis mais peuvent recevoir des mises à jours de sécurité ou pour rajouter des fonctionnalités dans le futur. Ils ne sont plus en développement actifs.
- juniper-config-to-set
- permet de convertir des configurations pour juniper
7.6.2. Archivés
Je ne toucherai plus à ces projets, plus de mise à jour (sauf cas exceptionnel). Ils sont abandonnés / dans une forme finale qui me convient.
- mastodon-icone
- ajouter une icone de profile mastodon sur un autre site
- partage-notes
partager facilement des notes org
À regarder s'il y a des trucs à garder, sinon on archive / supprime ? On peut le supprimer, il n'y a rien à garder. Est archivé pour l'instant.