Nakon furioznog dvotjednog sprinta, sad mogu reći da MML polako počinje ličiti na nešto ❤️.
Prvi release, napravljen prije dva tjedna točno na Staru Godinu, jest bio malo isforsiran u skladu s onom “release early, and release often”, no treba reći i da sam imao interno postavljen cilj kad sam počinjao prije pola godine s ozbiljnim radom na MMLu, da bar neku početnu verziju napravim do kraja godine … pa kud puklo da puklo.
Zato sam sutradan nakon objave, browsajući po naslovnoj stranici projekta ( https://github.com/zvanjak/MML ) doživio na desetke prosvjetljena tipa: “uf, ovo treba ljepše formulirati”, “aaaaj, ovaj link ne radi”, “eh, baš ti i nije neki primjer Zvone” … ali mi je istodobno to dalo i dodatno fokus: “nema sad nazad Zvone, pohvalio si se i objavio sve javno, kreni na popravljanje”.
Radovi na novoj verziji su počeli odmah sutradan na Novu Godinu, dvotjedni sprint mi se pokazao kao optimalno rješenje, i nakon još par stotina comittova, evo i nove verzije 😎.
Što su ključne promjene?
Prvo i najvažnije, glavna naslovnica projekta (famozni README.md) je 99% gotova, i sad izgleda onako kako planiram da izgleda i u završnoj 1.0 verziji. Jest da većina linkova vodi na stranice koje imaju samo naslov (fokus na dokumentaciju se nastavlja i dalje 💪), no sada naslovnica daje puno bolju sliku o tome što je MML, čemu služi i kako ga se može iskoristiti.
Drugi važan milestone je što sam zaokružio bazne tipove vektora i matrica (doduše, opet samo 95% gotovo jer moram još smisliti da li band dijagonalna matrica baš nužno mora imati implementirane sve operatore kao i generalna matrica 🤔, i još neki takvi detalji) i sad se mogu temeljito posvetiti naprednijim stvarima.
Uz to, nakon dosta lutanja, vjerujem da sam finalizirao strukturu librarya podjelom na base + core + algorithms + visualizers layere. Koji se u stvari ne vide u završnom single-header fajlu, generiranom pomoćnom Python skriptom, ali ta transformacija 40ak zasebnih headera u jedan single-header MML.h uvijek otkriva zanimljive međuovisnosti (čitaj, prvi compile korištenjem MML.h headera generira jedno iljadu errora 🤣).
Evo kako to stvarno izgleda:

Uz to, konačno sam se počeo igrati s elektromagnetizmom ❤️. Yep, gravitacija je sexy, i jedva čekam izmodelirati Sunčev sustav i odsimulirati 40 godina Voyagerovih putovanja, ali dok ne dođem do crnih rupa i opće teorije, s Newtonovom gravitacijom je sve jasno i nema tu novosti.
Elektromagnetizam s druge strane … ne mogu dočekati da počnem testirati implementirane tenzorske transformacije na primjeru tenzora EM polja 😎, a kad se u mix ubaci i specijalna relativnost (čitaj, retardirani potencijali) i kad konačno, kroz numeričko izračunavanje, dokučim što je ta famozna “general covariance” (mislim, znam što je po definiciji, ali mene zanima kako to izgleda i što to znači u numeričkom izračunu) … then we’ll talk business 💪.
No, dalek je put do toga, i počinjem sa jednostavnim stvarima. Stoga za početak par slika vizualizacije magnetskog polja tri beskonačno duga vodiča kroz koje teče struja.

Ovo je kôd s kojim su korištenjem MML-a generirane gornje slike:

Much to be done, but getting there.
2 misli o “MML – Minimal Math Library, release 0.6”