Exempel på användning av nuvarande ytterst tidiga version av Matkalkyl. Videon visar sajten på en stationär dator, men fungerar givetvis på mobil också, och byggs med hänsyn till mobil.
[Jag ska dela upp innehållet i denna artikel om underrubriker]
I dagens läge är sajten inte användbar för sitt ändamål, men den visar åtminstone något som går att använda. Det är nu som utvecklingstakten vad gäller synligt resultat börjar öka, vilket jag också förutspått. Tidigare, som du vet, har jag kämpat med allehanda utmaningar, inte minst att lära mig Linux (för server och personlig dator) - och då terminalbaserat då jag inser att det är mer effektivt för mig - samt allehanda andra utmaningar i livet som av någon anledning dök upp men som jag nu senare fått styrning på. Ja, arvsmässigt sett har jag antagligen predisposition för sådant som kan döda människor - det betyder att mitt liv avslutas om ungefär 15 år om jag inte gör något annorlunda jämfört tidigare individer i min släkt - samt att vi i västerländsk kultur redan har 50% risk att utveckla metabola syndrom, och därtill att jag upplevde de klassiska symptomen av trötthet som vars förekomst i vår kultur är normaliseras för individer runt 40 års ålder, men som jag inte alls är villig att acceptera. Det första plus det andra, med det tredje, stavar tidig död. Jag la om min livsstil därför, till strikt keto med jägare-samlare-samhälle-stil - nu dag 280; det har varit krävande. Jag har således varit i fettförbränning i 282 dagar. Jag har fått bra fokus och drivkraft, och jag lyckas nu fokusera bättre.
Tillbaka till uppdateringen: Vad som syns i videon, bland annat, är en hel del data som vittnar om det underliggande systemet. Jag har fokuserat på att göra insidan av systemet synligt, mest för att det underlättar programmering via behjälplig information för felsöknings, men också för att det ser intressant ut med flöde av data. Vad som visas är både statisk information och dynamisk sådan som uppdateras i realtid. Att göra systemets data tillgänglig har också varit en utmaning som stimulerat framställandet av bättre grundstruktur. Det är inte lätt bygga en struktur som kan fånga diagnostik-data i alla aspekter - nätverk, laddning av moduler, etc - från systemstart till körande system.

Trekyl fungerar utmärkt som namn för platformen som jag bygger Matkalkyl på. Bra, nu fick jag användning för det domän-namnet och slipper ångra att jag registrerade det!
Sajtens alla versioner är tillgänglig på https://trekyl.com
3 versioner kommer tillhandahållas: Stabil, Tidig tillgång, Laboratorium. Den modulära struktur jag byggt ger avkastning i enkel tillämpning av en sådan publiceringsmodell. Laboratorium kommer av naturliga skäl köras i egen sandlåda-databas, men kommer vara tillgängligt för alla, mest för skoj skull - kom ihåg att jag föredrar den mentalitet där restauranger har öppna kök så att köket blir en del av restaurangupplevelsen (vanligare i exempelvis Japansk matkultur). Jag kommer också bygga systemet så att man får en känsla av att man ser insidan av systemet, och att vara nära systemets äkta processer som ärligt visar sin sanna natur, och inga kosmetiska laddnings-skärmar som döljer vad som sker i systemet. Detta såklart utan att det stör användning - tvärt om, jag tror det kommer hjälpa användningen. Jag har utvecklar gränssnittet parallellt och i samband med att jag utvecklar min grundfilosofi för livet i övrigt, och ser fram emot att snart börja mer med gränssnittet när grunderna är på plats.
Ja... de färgglada listorna med text och liknande grafiska ting på sajten; de har ChatGPT fixat programkoden för. Det där tar en evighet att programmera förhand och innebär en mycket felbenägen process; det är numera och är något jag - och alla andra - har glädje av att generera på 1 minuter med ChatGPT.
OBS! Grafik och layout som visas just nu är inte vad systemet nödvändigtvis kommer se ut som längre fram, och olika teman, och antagligen egna teman, kommer möjliggöras. Saker förbättras kontinuerligt och vissa ting bevaras.
Det är viktigt för mig att sajten är så snabb och effektiv som den kan vara i sitt gränssnitt. Fokus har lagt på att minska laddningstider och att skapa en system-struktur som inte skapar onödiga dröjsmål. Det är lätt i ett program som enbart gör en sak - då kan man exempelvis dumpa all systemkonfiguration rakt ner i systemet (index.php). Det är svårt att lösa i ett system som ska vara generellt och kunna hantera ett flertal vitt skilda krav specifikationer (plötsligt måste du hantera konfig-filer (manifest) för flera appar, och ökar du abstraktionsnivån ytterligare en nivå så att du kan ha flera system som kan ha flera appar, då ökar kraven ytterligare på systemarkitekturen för att samtidigt möta de andra behoven som exempelvis effektiv laddning.
Att programmera i ren JavaScript är mycket utmanande, trots att jag har ChatGPT som mycket snabbare kan hjälpa mig hitta fel i min kod och hjälpa mig förstå. Jag spenderade en halv dag med att förstå asynkron programmering på djupet (nej, JavaScript är inte multi-thread, vilket jag trodde, även om omgivande browser-miljö kan vara det).
Utvecklingen av Matkalkyl går bra, Jag har naturligtvis fokuserat på den mer övergripande plattformen som jag utvecklar Matkalkyl i, eftersom den ej är helt klar. Den tillhandahåller de vanligaste funktioner som diverse appar behöver. Den övergripande plattformen kallar jag för Trekyl.
Hur som helst, ovanstående video vittnar om att jag i huvudsak har uppnått mitt mål om en grundstruktur för effektivt gränssnitt. Sajten laddar på runt 500 ms i icke-cachad, och så lågt som 119 ms i cachad version. Ramverket jag har byggt visar sig också smidigt i att växla appar/system. Tidigare laddningstid var på 900 ms, varav jag började undersöka boot-sekvensen för att optimera den, och därmed avancerade jag systemet markant för att uppnå målet om ökad effektivitet.
Videon ovan visar
- växling mellan appar inom Trekyl,
- Matkalkyl som det ser ut just nu (den sektion med alla listor med text och siffror).
Exempelvis syns att systemet laddar på runt 150 ms, vilket är bra. Jag har optimerat systemet för att ladda snabbt. Det brukar sägas att optimering inte ska ske innan systemet är färdigt i en användbar version, eftersom optimering ökar komplexiteten och kan vara förgäves om den visar sig inte behövas, men optimeringen här är standard och tvärt om kan det bli svårt och tidskrävande att optimera senare om grundstrukturen inte tillåter det. Optimeringen jag har gjort griper genom hela systemet, varav systemet måste designas på ett modulärt sätt för att kunna stödja sådan genomgående optimering. Mitt krav på sajtens effektivitet har givit mig utmaningar som tvingat mig att finna en långt mer intelligent systemdesign än vad jag hade gjort om jag nöjt mig tidigare.
Det underliggande systemet - Trekyl - är stundom utmanande att bygga, och ibland känns det som att jag inte kommer någon vart. Jag fortsätter dock att vägra snabba lösningar och fokuserar på att finna rätt konceptuell lösning. Förra uppdateringen trode jag att jag hade nått högsta nivån av vad en god lösning är, men jag lyckades ta det mycket längre än så. Jag analyserade boot-sekvensen och insåg att jag inte nyttjade systemets kapacitet varav jag insåg hur jag kunde förbättra strukturen det ytterligare - min reflektion är att ökade krav stimulerar intelligens.
Jag har dock lyckats avancera mina kunskaper, mycket tack vare ChatGPT. Jag låter den inte skriva viktig kod (tvärt om har jag fått städa upp efter den), men jag låter den hjälpa mig att resonera kring utvalda delar av systemet varav jag lär mig snabbare och bättre än tidigare. Mitt system är byggt på så vis att jag kan låta ChatGPT generera program kod som körs isolerat och därmed inte skadar övriga systemet om det är dålig kvalitet. Det är just den grundstrukturen som tar tid att bygga då många aspekter göra anspråk på systemet.
Ovanstående video visar ett system som delvis bygger på programkod som ChatGPT har genererat. Det är mycket befriande att inte längre behöva lägga tid på exempelvis grafiska detaljer och ger mer tid till att fatta de avgörande besluten. Att använda Ai-genererad kod fungerar bra för mig därför att jag har hård styrning på det övriga systemet. Jag har designat det övergripande systemet nogrannt efter många krävande timmar där jag resonerat kring bästa val, och där jag kritiskt granskat diverse val med hjälp av ChatGPT.
Via projektet fokuserar jag också på att arbeta bort dåliga vanor inom programmering, och att lära mig metoder, vanor och tankesätt som är på en högre nivå.
Vidare reflektion
Eliminera den koncentrerade kraften innan den hårdnar.
Men det låter bättre på engelska:
Elliminate concentrated power before it hardens.
Det är en reflektion som kan vara gynnsam inom programmering där enstaka moduler ej ska ha för mycket inflytande och definitivt inte bli orubbliga i systemet, därför att de kommer utöva inflytande på bekostnad av andra och motarbeta verklighetens krav och ignorera förekommande förutsättningar. Sådana moduler utvecklar inte sällan en förstorad självbild och känsla av sin egen viktighet. Koncentrerad kraft - så som i grupper av människor - som förhårdnat i strukturer - så som i människans många organisationer - står i motstånd till omgivande verklighet, medan de själva tros sig vara de enda som lyckas hantera den och därmed är berättigade sitt inflytande. Samma reflektion kan alltså appliceras på annat i livet också, misstänker jag.
Koncentrerad kraft och stela strukturer definieras som något som förlorat kontakten med omvärlden och saknar förmåga att samspela med den. Det är alltså inte en fråga om att vissa inslag av detta är av godo, utan alla är negativa. Bristande förmåga till insikt i omgivning och samspel med den, går emot naturens lagar om orsak och verkan, som reagerar på vad som görs, och inte vad som tros. Diverse sjukdomar utvecklas också då kroppens celler tappar kontakt med övriga systemet.