Back to index

Januari 2025 - Nyhetsbrev

Hej! Året är 2025, och inom detta år bör jag kunna göra större framsteg med Matkalkyl. Jag börjar få tillräckligt med erfarenhet av Linux för att kunna få en känsla för vart jag står i relation till mitt mål. Jag fokuserar på Linux därför att servern för Matkalkyl kommer att använda sig av det (samt att jag använder det på min personliga dator). I och med att jag tar mig an Linux öppnar sig många teknologier och tankegångar som är nya för mig, vilket medför att "mattan dras undan från under mina fötter". Det har varit en återkommande upplevelse för mig, men nu börjar jag få en stadigare grund och kan därför få en känsla för framtiden.

Sammanfattningsvis har jag fokuserat på backup-systemet och kringliggande komponenter och kommer att fortsätta med det den närmaste tiden tills det är klart. Mer om det nedan. Tidigare fokuserade jag på saker som databasstrukturen, och jag kommer att återkomma till det när dessa ännu mer grundläggande komponenter är på plats.

Jag fokuserar på att bygga all infrastruktur själv (exempelvis genom att inte använda Firebase, vilket tycks vara trendigt nu för tiden, se nedan). Det finns många fördelar med mitt tillvägagångssätt, såsom ökad kontroll, men den främsta anledningen är att jag tycker att det är mer roligt och givande. Det finns ingen utmaning i att ta den enklaste och snabbaste vägen. Kunskapen och erfarenheten kommer också att gynna projektet på sikt.

Poängen med att bygga det mesta själv är att göra systemet oberoende och modulärt, för att det ska överleva typiska motgångsfaktorer i framtiden. Bygger jag det istället genom att förlita mig på en extern tjänst som exempelvis Firebase, då är det en sårbarhet om Google bestämmer sig för att avsluta eller ändra den tjänsten. En sådan sårbarhet kan vara tillräcklig för att göra det överväldigande att underhålla, givet att livet i övrigt mycket väl kan utmana på många andra fronter samtidigt. Detta kan förklara varför många äldre internetsajter har försvunnit – de var byggda med beroenden som blev deras fall när livet går vidare. Jag använder visserligen Backblaze för backup (se nedan), men den är såpass modulär att den lätt kan bytas ut mot något annat.

Backup-lösningen med BlackBlaze

Den senaste månaden har jag programmerat systemets backup-lösning. Jag använder BlackBlaze, en tjänst där man kan lagra data ”på målet”. Den ska hantera sajtens regelbundna säkerhetskopior. BlackBlaze erbjuder ett API, vilket innebär att jag kan använda deras funktioner direkt i min egen programmering.

Det som tar tid just nu är inte främst att skriva programkod, utan att utarbeta konceptet för varje delsystem. Exempelvis hur autentiseringsuppgifter ska lagras och hur själva backupsystemet ska fungera. Det kräver eftertanke och många beslut.

Trender

”Firebase” är en tjänst från Google. Jag kände inte till den tidigare, men förstår nu att den är en trend där webbutvecklare slipper hantera servern (baksidan) själva. Google sköter infrastrukturen och man kan fokusera på framsidan (appen eller webbsidan).

Varför är jag ointresserad av Firebase?

Jag är alltså mer försiktig med nya teknologier. Många består inte över tid, och då är det bättre att lägga mer tid på att lära sig sådant som gör det.

Hastighet kontra hållbarhet

Många moderna teknologier finns för att snabba på utvecklingen av produkter. Men hastighet är inget jag prioriterar för Matkalkyl. Jag var otålig i början, men har slutligen accepterat att det tar tid – särskilt eftersom:

  1. Jag har höga krav för hur systemet ska vara. Det handlar inte bara om att det ska se bra ut på utsidan, men det ska vara bra rakt igenom. Detta för att garantera framtida underhåll och utveckling av systemet.
  2. Jag har behövt lära mig mer än vad jag förutsåg.
  3. Jag har återkommande upptäckt fördelar i Linux-miljön som helt ändrar på mina planer.
  4. Jag har behövt utforska olika lösningar och koncept.

Just nu syns det kanske inte så mycket utåt, men under ytan kommer de mest basala komponenterna på plats. Det gäller både faktiska komponenter (som backup-systemet) och även min egen erfarenhet kring hur systemmiljön (Linux) fungerar.

Exempelvis var konceptet ”ObjectStorage” nytt för mig, vilket gjorde att jag la tid på att utforska olika lösningar och sedan besluta mig för BlackBlaze. Därefter har jag utarbetat ett koncept och programkod för att integrera det med min vision och mina system.

Avslutande reflektion

Jag har redan lärt mig oerhört mycket och är glad för det. Svårigheten är inte nödvändigtvis att lära sig, utan snarare att hitta de situationer där kunskapsinnehållet blir relevant i praktiska moment, för att därigenom, via ihärdighet och frustration, omvandlas till erfarenhet. Linux har erbjudit en uppsjö av relevanta praktiska moment för mitt lärande. Min avsikt var att ta projektet till en ny nivå, och jag kan se att jag gör det nu genom den erfarenhet jag redan lyckats få. Linux i sig själv är för mig en helt ny nivå på allt – från system till tankesätt och disciplin – men det krävde en omställning som jag varken avsåg eller förutsåg. En informativ notis: Linux körs på alla världens snabbaste superdatorer.


Mvh Fredrik