From 4ea8b60cc2194edabafb6ade4e0d4dfc7a30b57a Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Mon, 24 Oct 2022 16:14:36 +0200 Subject: [PATCH] feat: add some IoT and personal projects --- src/model/projects.ts | 131 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) diff --git a/src/model/projects.ts b/src/model/projects.ts index 0d30090..2135b5f 100644 --- a/src/model/projects.ts +++ b/src/model/projects.ts @@ -224,4 +224,135 @@ export const Projects: Project[] = [ doc: null, commits: 0, }, + + { + name: 'Enigmail.py', + client: null, + skills: [s.Python, s.Crypto, s.Bash, s.Linux, s.OpenSource, s.Git], + started_at: new Date(2015, 4, 21), + stopped_at: new Date(2015, 5, 1), + info: { + [Locales.EN]: 'Personal research project. Reinterpretation of the encryption and decryption principles used by ENIGMA. With automated sending and receiving of emails.', + [Locales.FR]: 'Projet personnel de recherche. Réinterprétation des principes de cryptage et décryptage utilisés par ENIGMA. Ajout de l\'envoi et la réception automatisée d\'emails.', + }, + source: [ + { name: 'git.xdrm.io/xdrm-brackets/enigmail.py', link: 'https://git.xdrm.io/xdrm-brackets/enigmail.py', commits: 89 }, + ], + doc: null, + commits: 0, + }, + { + name: 'univ-pau-ics', + client: null, + skills: [s.Php, s.Css, s.Bash, s.Web, s.OpenSource, s.Git], + started_at: new Date(2017, 8, 12), + stopped_at: new Date(2017, 8, 17), + info: { + [Locales.EN]: 'Personal project to extract the university schedule into an format that is compatible with most agenda apps. The schedule was provided as an image. I used an OCR (extracts text from images) and text positions to generate course titles, classrooms, teachers, days, hours. I created a web service that exposes an up-to-date calendar file. That way, agenda applications can update themselves to the latest schedule provided.

Used by university students until the schedule software has been changed.', + [Locales.FR]: 'Projet personnel pour extraire l\'emploi du temps de l\'université dans un format compatible avec les applications d\'agenda. L\'emploi du temps était distribué sous forme d\'image. Utilisation d\'un OCR (extraction de texte depuis une image) et des positionnements pour générer les intitulés des cours, les salles, enseignants et horaires. Création d\'un service web qui expose le fichier calendrier à jour. Ainsi les applications d\'agenda récupèrent les dernières informations.

Service utilisé par les étudiants jusqu\'au changement du logiciel.', + }, + source: [ + { name: 'git.xdrm.io/xdrm-brackets/univ-pau-ics', link: 'https://git.xdrm.io/xdrm-brackets/univ-pau-ics', commits: 83 }, + ], + doc: null, + commits: 0, + }, + { + name: 'neural network (php)', + client: null, + skills: [s.Php, s.NeuralNetwork, s.DeepLearning, s.OpenSource, s.Git], + started_at: new Date(2017, 8, 12), + stopped_at: new Date(2017, 8, 17), + info: { + [Locales.EN]: 'Personal project to try to understand neural networks. A rather naive implementation involving a confusion with genetic algorithms.. This is when I understood that deep learning was not so simple.', + [Locales.FR]: 'Projet personnel pour essayer de comprendre les réseaux de neuronnes. Implémentation un peu naïve avec une confusion avec les algorithmes génétiques.. C\'est là où j\'ai compris que le deep learning n\'était pas si simple.', + }, + source: [ + { name: 'git.xdrm.io/xdrm-brackets/neural-network.php', link: 'https://git.xdrm.io/xdrm-brackets/neural-network.php', commits: 16 }, + ], + doc: null, + commits: 0, + }, + { + name: 'neuralnet (go)', + client: null, + skills: [s.Go, s.NeuralNetwork, s.DeepLearning, s.OpenSource, s.Git], + started_at: new Date(2018, 9, 10), + stopped_at: new Date(2018, 9, 15), + info: { + [Locales.EN]: 'Personal project to try to better understand neural networks in practice. Implementation of propagation and back propagation. Optimization with the use of matrix product. Project finished after a functional implementation and a clean API.', + [Locales.FR]: 'Projet personnel pour essayer de mieux comprendre les réseaux de neuronnes en pratique. Implémentation de la propagation et backpropagation. Optimisation avec l\'utilisation de produit matriciel. Projet terminé après une implémentation fonctionnelle et une API propre.', + }, + source: [ + { name: 'git.xdrm.io/go/neuralnet.php', link: 'https://git.xdrm.io/go/neuralnet.php', commits: 5 }, + ], + doc: { name: "pkg.go.dev/git.xdrm.io/go/neuralnet", link: 'https://pkg.go.dev/git.xdrm.io/go/neuralnet' }, + commits: 0, + }, + { + name: 'air traffic control', + client: null, + skills: [s.C, s.Concurrency, s.Sockets, s.Bash, s.Git], + started_at: new Date(2017, 2, 22), + stopped_at: new Date(2017, 4, 19), + info: { + [Locales.EN]: 'Distributed systems project in the framework of my Master\'s degree. It consists of a multicast server and several multicast clients:
I realized the C part including multi-threading, low-level sockets management, protocols design, multicast management.', + [Locales.FR]: 'Projet de systèmes distribués dans le cadre du Master. Il s\'agit d\'un serveur multicast et de plusieurs clients multicast:
J\'ai réalisé la partie C comportant du multithreading, la gestion de sockets bas-niveau, la conception des protocoles, la gestion multicast.', + }, + source: [ + { name: 'git.xdrm.io/xdrm-brackets/sysdis-project', link: 'https://git.xdrm.io/xdrm-brackets/sysdis-project', commits: 101 }, + ], + doc: null, + commits: 0, + }, + { + name: 'carb-sync', + client: null, + skills: [s.Arduino, s.Cpp, s.C, s.Electronics, s.OpenSource, s.Git], + started_at: new Date(2020, 5, 1), + stopped_at: new Date(2020, 3, 30), + info: { + [Locales.EN]: 'Arduino project allowing the adjustment of motorcycle carburetors. The project uses 2 high-resolution pressure sensors to display a graphical differential on a small OLED screen. 2 knobs allow to adjust the buffer size and the sampling. This small project allows to synchronize its carburetors on battery in a portable way and at low cost.', + [Locales.FR]: 'Projet Arduino permettant le réglage de carburateurs de moto. Le projet emploie 2 capteurs de pression haute résolution pour présenter un différentiel graphique sur un petit écran OLED. 2 potentiomètres permettent de régler la taille du tampon et l\'échantillonnage. Ce petit projet permet de synchroniser ses carburateurs sur batterie de manière portable et à moindre coût.', + }, + source: [ + { name: 'git.xdrm.io/iot/carb-sync', link: 'https://git.xdrm.io/iot/carb-sync', commits: 16 }, + ], + doc: null, + commits: 0, + }, + { + name: 'evw', + client: null, + skills: [s.Arduino, s.Cpp, s.C, s.Electronics, s.OpenSource, s.Git], + started_at: new Date(2019, 6, 17), + stopped_at: new Date(2019, 5, 10), + info: { + [Locales.EN]: 'Arduino project to remotely control solenoid valves. Opening of an agricultural hydraulic valve by WiFi connection. A battery operated low power remote control sends a UDP multicast message on the local network. The solenoid valve receives the message, opens or closes in response. Visual feedback on the remote control of the opening or closing. Possibility to have several independent solenoid valves and controls on the network.', + [Locales.FR]: 'Projet Arduino permettant de commander une électrovanne à distance. Ouverture d\'une vanne hydraulique agricole par connexion WiFi. Une télécommande très basse consommation sur pile envoi un message multicast UDP sur le réseau local. L\'électrovanne reçoit le message, s\'ouvre et se ferme en réponse. Retour visuel sur la télécommande de l\'ouverture ou fermeture. Possibilité d\'avoir plusieurs électrovannes et commandes indépendantes sur le réseau.', + }, + source: [ + { name: 'git.xdrm.io/iot/evw', link: 'https://git.xdrm.io/iot/evw', commits: 13 }, + ], + doc: null, + commits: 0, + }, + { + name: 'clifmt', + client: null, + skills: [s.Go, s.Bash, s.OpenSource, s.Git], + started_at: new Date(2019, 0, 24), + stopped_at: new Date(2019, 10, 18), + info: { + [Locales.EN]: 'Personal project in Go providing layout and colors in the terminal. Implementation of the vt-100 standard used in most Linux terminals. Use of a markdown inspired syntax to automate bold, italic, underline, links, etc. Support for background and text colors with hexadecimal code or color name. Alignment management. Support for channels to have texts that update themselves.', + [Locales.FR]: 'Projet personnel en Go permettant de la mise en page et des couleurs pour le terminal. Mise en pratique du standard vt-100 utilisé dans la plupart des terminaux linux. Utilisation d\'une syntaxe inspirée du markdown pour automatiser le gras, l\'italique, souligné, liens, etc. Support des couleurs de fond et de texte avec code hexa ou nom de couleur. Gestion de l\'alignement. Support des channels pour avoir des textes qui se mettent à jour.', + }, + source: [ + { name: 'git.xdrm.io/go/clifmt', link: 'https://git.xdrm.io/go/clifmt', commits: 27 }, + ], + doc: null, + commits: 0, + }, + + ];