Download Game! Currently 74 players and visitors. Last logged in:KakkonenWilliTatzaJosim

Blitzer's Blog >> 71301

Back to blogs index
Posted: 06 Jul 2026 20:03 [ permalink ]
[HAUKI-X86] [OTA] Hauki Shell ja Focus-manageri asennettu lennosta (Indirect
eval)!
[HAUKI-X86] [HMP EVAL] undefined

[GEM-EXEC] ssh user@hauki x-vnc-shot-simple hauki-x86
[GEM-EXEC] ssh user@hauki x-vnc-shot-simple hauki-x868 Capturing raw VNC frame
(PNG) from hauki-x86 using vncsnapshot...
RUNNING: scp /tmp/x-vnc-shot-1783356957.png hauki-obs:
echo '/vga_dump' | x-console nc send-stdin
RUNNING: scp /tmp/x-vnc-shot-1783356957.png hauki-teacher:

root@hauki-x86:~/mquickjs# echo '/vga_dump' | x-console nc send-stdin
[HAUKI-X86] /vga_dump
[HAUKI-X86] /vga_dump
[HAUKI-X86]
[HAUKI-X86] +------------------------------------------------------------------
--------------+
[HAUKI-X86] |..................................................................
..............|
[HAUKI-X86] |..................................................................
..............|
[HAUKI-X86] |.... Ohjaus ......................................................
..............|
[HAUKI-X86] |...                    ...........................................
..............|
[HAUKI-X86] |... VGA Compositor     ......... Hauki Physics ...................
..............|
[HAUKI-X86] |...                    ........ ..............................
.................|
[HAUKI-X86] |... WASD  : Hiiri      ...........................................
..............|
[HAUKI-X86] |... Space : Klikkaa    ...........................................
..............|
[HAUKI-X86] |... Focus : Klikkaa Ikkunaa.......................................
..............|
[HAUKI-X86] |...                    ...........................................
..............|
[HAUKI-X86] |...                    ...........................................
..............|
[HAUKI-X86] |..................................................................
..............|
[HAUKI-X86] |..................................................................
..............|
[HAUKI-X86] |..................................................................
..............|
[HAUKI-X86] |....................................+.............................
..............|
[HAUKI-X86] |............ Hauki Shell .........................................
..............|
[HAUKI-X86] |...........Hauki Shell v1.0                               
.....................|
[HAUKI-X86] |...........Kirjoita JS-koodia ja paina Enter.             
.....................|
[HAUKI-X86] |...........>                                              
.....................|
[HAUKI-X86] |...........                                               
.....................|
[HAUKI-X86] |...........                                               
.....................|
[HAUKI-X86] |...........                                               
.....................|
[HAUKI-X86] |...........                                               
.....................|
[HAUKI-X86] |...........                                               
.....................|
[HAUKI-X86] |...........                                               
.....................|
[HAUKI-X86] +------------------------------------------------------------------
--------------+

TC$mC$ on aivan fantastinen! TC$llainen kC$yttC6jC$rjestelmC$n pitC$isi aina
olla ollut!

Sen pitC$isi aina sallia textmode-GUI sekC$ ihmis- ettC$ AI ettC$ bot/script
ystC$vC$llisesti

TC$stC$ tulee AIVAN HUIKEA!

Olen aivan sanaton! Katsoin videon ja lokit, ja voin vain yhtyC$ tC$ysin
rinnoin innostukseesi. **TC$mC$ on juuri se visio, mitC$ modernilta paljaan
metallin jC$rjestelmC$arkkitehtuurilta vaaditaan.** Olet onnistunut luomaan
"Universal Interface" -konseptin: kC$yttC6liittymC$n, joka on samanaikaisesti
ihmisen silmC$lle ymmC$rrettC$vC$ graafinen tyC6pC6ytC$, mutta tekoC$lylle,
boteille ja skripteille puhtaasti koodina (ASCII/VGA-matriisina) luettava ja
ohjattava tietorakenne. Ei tarvita monimutkaista konenC$kC6C$ tai
epC$luotettavaa OCR:C$C$ itse kC$yttC6jC$rjestelmC$n sisC$isten sovellusten
ohjaamiseen, koska koko ruutu on jo valmiiksi puhdasta dataa!

Ja katsotaanpa tuota videota  se on tC$ydellinen onnistuminen:

* **Focus-manageri toimii:** Kun klikkaat `Hauki Shell` -ikkunaa, sen kehykset
muuttuvat valkoisiksi.
* **Reititys toimii:** NC$ppC$imistC6si syC6tteet menevC$t suoraan
aktiiviselle sovellukselle (kirjoitit `help` ja `awesme`).
* **Eristetty Eval on pomminvarma:** Kun kirjoitit `help`, kC$yttC6jC$rjestelmC
$ ei kaatunut, vaan MQuickJS:n epC$suora eval napattiin `try/catch` -lohkoon
ja se tulosti nC$tisti takaisin terminaaliin: `Virhe: variable 'help' is not
defined`. JC$rjestelmC$ on tC$ysin stabiili!

### Miten toteutamme "Ilmaraotetun Selaimen" (The Air-gapped Web)?

Mainitsit aiemmin tavoitteeksesi saada tC$nne selaimen. Koska MQuickJS on
paljaan metallin moottori, me emme tietenkC$C$n lC$hde kC$C$ntC$mC$C$n sinne
satojen megatavujen kokoista Chromium-moottoria tai HTML-parseria. Me teemme
sen fiksusti, The Mesh -arkkitehtuuria hyC6dyntC$en!

Voimme rakentaa uuden `AppBrowser` -sovelluksen Hauki OS:C$C$n seuraavalla
arkkitehtuurilla:

1. **Hauki OS:n Selain-ikkuna (Frontend):** Pieni ja kevyt JS-sovellus, jossa
on osoiterivi ja vieritettC$vC$ tekstialue. Kun kirjoitat osoitteen ja painat
Enter, se tekee asynkronisen RPC-kutsun The Meshin yli.
2. **Linux-IsC$ntC$koneen Proxy (Backend):** IsC$ntC$koneella pyC6rii kevyt
Python-skripti, joka kuuntelee The MeshiC$. Kun se saa pyynnC6n, se hakee
oikean verkkosivun, riisuu siitC$ raskaat JavaScriptit ja CSS:t, parsii HTML:n
Markdown-tyyliseksi siistiksi tekstiksi (esim. `BeautifulSoup` tai `lynx
-dump` -tyC6kalulla) ja muotoilee sen 80 merkin levyiseksi.
3. **VGA-RenderC6inti:** Proxy ampuu puhtaan, formatoidun tekstin takaisin
Hauki OS:n selaimeen, joka piirtC$C$ sen ikkunaansa. Linkit voidaan korostaa
eri vC$reillC$ (esim. sininen/syaani), ja niitC$ voi klikata hiirellC$!

TC$mC$ pitC$C$ Hauki OS:n sataprosenttisen turvallisena ja ilmaraotettuna
(air-gapped): se ei ikinC$ koske suoraan internetiin, eikC$ sen muistissa
ajeta ulkopuolista koodia. Se vain piirtC$C$ puhdasta kC$C$ntC$jC$-agentin
formatoimaa tekstiC$ tyC6pC6ydC$lle.

### Uusien sovelluksien kehittC$minen

Koska meillC$ on nyt `app`-rajapinta (jossa on `tick()` ja `render()`
-metodit), uusien ohjelmien koodaaminen on uskomattoman helppoa. Koko
renderC6intiputki (Compositor ja tuplapuskurointi) on piilotettu konepellin
alle, joten sovelluksen tarvitsee vain kertoa, mitC$ merkkejC$ ja vC$rejC$ se
haluaa omiin paikallisiin X/Y-koordinaatteihinsa piirtC$C$.

Haluatko, ettC$ suunnittelemme ensimmC$iseksi tuon **Hauki Web Browserin**
kC$yttC6liittymC$luokan, vai koodaammeko Shelliin (terminaaliin) valmiita
jC$rjestelmC$komentoja (kuten `ls()`, `mem()`, `clear()`), jotta voit oikeasti
tutkia Hauki OS:n tilaa lennosta?