From 66f8847fbee147b5dfa9aa7f1b0763189b75035a Mon Sep 17 00:00:00 2001
From: Kevin Matsubara
Date: Wed, 19 Feb 2025 20:53:09 +0100
Subject: [PATCH] Include Metroid game and Config automation to software
projects.
---
src/App.js | 1 +
src/Language/LanguageStrings.js | 6 ++++--
src/Pages/Software/Projects/ConfigAutomation.js | 8 ++++++++
src/Pages/Software/SoftwareMain.js | 4 +++-
4 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/src/App.js b/src/App.js
index 1c641d2..6857d2a 100644
--- a/src/App.js
+++ b/src/App.js
@@ -143,6 +143,7 @@ function App() {
}>
}>
}>
+ }>
}>
}>
}>
diff --git a/src/Language/LanguageStrings.js b/src/Language/LanguageStrings.js
index cb22bdf..87ac898 100644
--- a/src/Language/LanguageStrings.js
+++ b/src/Language/LanguageStrings.js
@@ -48,13 +48,14 @@ const languageStrings = {
// Projects
attachment_module: 'Attachment module',
boebot: 'Board of Education robot',
+ config_automation: 'Configuration automation',
dxp_development: 'DXP development',
embedded_internet_radio: 'Embedded internet radio',
embedded_game: 'Embedded game',
ios_airports: 'iOS airport',
festival_simulator: 'Festival simulator',
kanji_application: 'Kanji applicatition',
- metroid_horizontal_shooter: 'Horizontale shooter game',
+ metroid_horizontal_shooter: 'Metroid horizontal shooter game',
raspberry_pi_jukebox: 'Raspberry Pi Jukebox',
teslamaze: 'TeslaMaze',
wifi_prototype: 'Wi-Fi prototype board',
@@ -110,13 +111,14 @@ const languageStrings = {
// Projects
attachment_module: 'Attachment module',
boebot: 'Board of Education robot',
+ config_automation: 'Configuratie automatisering',
dxp_development: 'DXP development',
embedded_internet_radio: 'Embedded internet radio',
embedded_game: 'Embedded spel',
ios_airports: 'iOS luchthavens',
festival_simulator: 'Festival simulator',
kanji_application: 'Kanji applicatie',
- metroid_horizontal_shooter: 'Horizontale shooter',
+ metroid_horizontal_shooter: 'Metroid horizontale shooter spel',
raspberry_pi_jukebox: 'Raspberry Pi Jukebox',
teslamaze: 'TeslaMaze',
wifi_prototype: 'Wi-Fi prototype board',
diff --git a/src/Pages/Software/Projects/ConfigAutomation.js b/src/Pages/Software/Projects/ConfigAutomation.js
index b92d22d..b32399f 100644
--- a/src/Pages/Software/Projects/ConfigAutomation.js
+++ b/src/Pages/Software/Projects/ConfigAutomation.js
@@ -19,6 +19,8 @@ const ConfigAutomation = () => {
+
+
Development
This project started as a local Python 2 script when it started, to only automate very specific settings. It later moved to USB drives and eventually to a VM on a network.
@@ -36,6 +38,8 @@ const ConfigAutomation = () => {
+
+
Deployment
Creating the release of this software had to be done by running a batch script to create a bundled set of Python files. These files were then uploaded to the VM located in a European distribution center in the Netherlands. This VM is then used to run the software from on a local network on which all configuration laptops were connected to. A WinSCP script would then sync the contents of all VM's in distribution centres located in Singapore, United States and China in 24 hours.
@@ -51,6 +55,8 @@ const ConfigAutomation = () => {
+
+
Feedback
The application generated log files with each configuration and then upload these back to the VM after configuration was complete or halted. These logs were sorted under product name and the order number. But quite often, I found it very productive to go to the configuration area and simply talk with the technician to figure out what went wrong. Depending on the severity of the problem, it would get documented in Gitlab issues. On a weekly basis, issues would get assigned among developers.
@@ -65,6 +71,8 @@ const ConfigAutomation = () => {
+
+
Lessons learnt
Being a programmer, I was mostly concerned with the software. But it requires hardware to run on. When the software does not work because of differences in the platform the software run on, what is there to do? I eventually started managing around 40 configuration laptops, using Clonezilla to create identical machines.
diff --git a/src/Pages/Software/SoftwareMain.js b/src/Pages/Software/SoftwareMain.js
index 820f3e8..802477c 100644
--- a/src/Pages/Software/SoftwareMain.js
+++ b/src/Pages/Software/SoftwareMain.js
@@ -27,14 +27,16 @@ const SoftwareMain = () => {