Të gjitha postimet

Histori personale · SmileyOS 1.0

SmileyOS 1.0: një sistem operativ edukativ offline për të mësuar programim dhe për t’i rikthyer në jetë kompjuterët e vjetër

Si kurioziteti për mjetet AI të programimit, brenda një muaji dhe rreth 50.000 rreshtave kod Rust, u bë SmileyOS 1.0 — një sistem operativ offline për të mësuar programim dhe versioni i parë që punoi në një laptop të vërtetë.

Nga Nikola Gjorgiev · · 6 min lexim · 1 shikim

SmileyOS 1.0 në një Dell Inspiron 910
SmileyOS 1.0 në një Dell Inspiron 910, pajisja e parë e vërtetë · Nga videoja në YouTube
Nikola Gjorgiev, autori i SmileyOS
Nikola Gjorgiev · autori i SmileyOS

Këtë tekst e publikova për herë të parë në LinkedIn (në maqedonisht) më 2 dhjetor 2025. SmileyOS 1.0 ishte versioni i parë që punoi në harduer të vërtetë — në një Dell Inspiron 910 të vjetër.

Gjatë muajit të fundit, krahas punës dhe detyrimeve të tjera, në heshtje fillova të punoj në një projekt që lindi nga kurioziteti i pastër dhe një pyetje:

„A janë mjetet AI të programimit aq të fuqishme sa të ndihmojnë për të bërë një sistem operativ të tërë bare-metal për një javë?“

Përgjigjja, një muaj më vonë dhe rreth 50.000 rreshta kod Rust, quhet SmileyOS v1.0. 😊

SmileyOS 1.0 — testi i parë në një pajisje të vërtetë, Dell Inspiron 910
SmileyOS 1.0 — testi i parë në një pajisje të vërtetë, Dell Inspiron 910 · Shiko në YouTube ↗

Çfarë është SmileyOS?

SmileyOS 1.0 është një 🖥️ sistem operativ edukativ offline, i krijuar për fëmijë, fillestarë dhe adoleshentë kureshtarë, dhe i menduar të punojë në laptopët dhe kompjuterët e vjetër që zakonisht mbledhin pluhur diku në shtëpi.

Në vend që ai kompjuter i vjetër të përfundojë si mbeturinë, ideja është që të bëhet 👉 një vend i sigurt dhe i fokusuar për të mësuar programim — pa internet, pa reklama dhe pa njoftime.

Si lindi ideja?

Prej kohësh doja të shihja:

  • deri ku mund të shtyhet një projekt kur kopiloti yt kryesor është AI,
  • dhe sa larg mund të shkohet me qasjen vibe coding: ide → përshkrim → AI → kod → përsëritje.

Fillova me hapa të vegjël: një bootloader, një terminal tekstual, lojën Snake… dhe gradualisht projekti u rrit në një OS të tërë bare-metal në Rust, me sistemin e vet grafik, sistemin e vet të skedarëve dhe një ekosistem të vogël rreth tij.

Në fillim nuk e mendoja fare si sistem operativ për fëmijë. Nisi si një eksperiment thjesht teknik: „të shohim deri ku mund të arrihet me Rust + mjete AI dhe një OS bare-metal“.

Kur arrita te versioni 0.8, tashmë kisha kernel, grafikë, disa lojëra dhe mjete sistemi — dhe pikërisht atëherë më „klikoi“ se nga kjo mund të dalë një sistem operativ edukativ offline për fëmijë dhe adoleshentë, në vend të një projekti tjetër anësor për zhvillues. Që nga ai moment i gjithë fokusi im ndryshoi: të jetë i kuptueshëm, i sigurt, miqësor për fëmijët dhe vërtet i përdorshëm për të mësuar programim në harduer të vjetër që përndryshe do të mblidhte pluhur.

Çfarë ka brenda SmileyOS 1.0?

Në versionin 1.0 SmileyOS nuk është më vetëm një „eksperiment inxhinierik“, por diçka që vërtet mund të përdoret për të mësuar. Disa gjëra nga brenda:

🧠 Smilium – gjuhë programimi për fëmijë

Krijova gjuhën time të thjeshtë, Smilium, të menduar të duket e kuptueshme për një fillestar, dhe njëkohësisht të prezantojë koncepte reale: variabla, kushte, cikle, funksione, madje edhe lojëra të thjeshta.

@core
@shell
@system

number target;
number guess;
number attempts;
boolean won;

outLine("=====================");
outLine(" NUMBER GUESS GAME  ");
outLine("=====================");

rand(target, 1, 50);
attempts = 0;
won = false;

outLine("Guess 1-50");
outLine("You have 7 tries!");
outLine("");

while(won == false){
    if(attempts >= 7){
        outLine("Game Over!");
        out("Number was: ");
        outLine(target);
        won = true;
    }
    else{
        outLine("Your guess:");
        in(guess);
        attempts = attempts + 1;

        if(guess == target){
            outLine("");
            outLine("CORRECT!");
            won = true;
        }
        else if(guess < target){
            outLine("Higher!");
        }
        else{
            outLine("Lower!");
        }
    }
}

Smilium ka dy mënyra:

  • Shell Mode – programe tekstuale (kuize, kalkulatorë, lojëra me gjetjen e numrit…)
  • Game Mode – një botë e thjeshtë 2D me 160×120 piksel, 16 ngjyra, sprite dhe kontrolle.
@core
@game
@system

number px = 65;
number py = 100;
number pw = 30;

number bx = 80;
number by = 20;
number bsize = 8;
number bdy = 2;
number score = 0;
number lives = 3;
boolean gameOver = false;

func update() {
    if (gameOver) {
        clearScreen(2);
        drawText("GAME OVER!", 40, 40, 1, 1);
        drawText("Score:", 48, 58, 1, 1);
        drawText(toStr(score, 0), 98, 58, 5, 1);
        return;
    }

    clearScreen(4);

    if (keyDown("left")) {
        px = px - 6;
    }
    if (keyDown("right")) {
        px = px + 6;
    }

    if (px < 0) {
        px = 0;
    }
    if (px > screenWidth - pw) {
        px = screenWidth - pw;
    }

    by = by + bdy;

    if (by > screenHeight) {
        lives = lives - 1;
        by = 20;
        rand(bx, 10, 142);
        if (lives <= 0) {
            gameOver = true;
        }
    }

    if (by > py - bsize) {
        if (bx > px - bsize) {
            if (bx < px + pw) {
                score = score + 1;
                by = 20;
                rand(bx, 10, 142);
            }
        }
    }

    fillRect(0, 0, screenWidth, 14, 14);
    drawText("Score:", 5, 3, 1, 1);
    drawText(toStr(score, 0), 53, 3, 5, 1);
    drawText("Lives:", 85, 3, 1, 1);
    drawText(toStr(lives, 0), 135, 3, 2, 1);

    fillRect(px, py, pw, 6, 2);
    fillRect(bx, by, bsize, bsize, 5);
}

✏️ IDE e integruar me mësime

SmileyOS vjen me Smilium IDE të integruar, ku fëmijët mund:

  • të shkruajnë kod me syntax highlighting,
  • ta shohin programin duke punuar drejtpërdrejt,
  • dhe të ndjekin mësime të strukturuara – hap pas hapi, nga „Hello World“ deri te një mini-lojë e plotë.

🎮 Lojëra dhe mjete krijuese

Që të mos jetë vetëm programim „i thatë“, brenda ka edhe:

  • lojëra klasike (Snake, Breakout, Type Attack për tastierën etj.),
  • një aplikacion të thjeshtë Paint,
  • një redaktues teksti dhe një menaxher të vogël skedarësh,
  • dhe natyrisht një terminal të vërtetë me komanda bazë.

E gjithë kjo punon plotësisht offline.

Pse offline dhe pse harduer i vjetër?

Besoj sinqerisht se:

  • fëmijët kanë nevojë për një mjedis dixhital të fokusuar – pa algoritme që ua tërheqin vëmendjen,
  • hardueri i vjetër mund të bëhet klasa më e mirë për programim, në vend që të përfundojë në deponi.

SmileyOS është një përpjekje për ta kthyer një laptop të vjetër në një „coding playground“ për fëmijë dhe për të krijuar një hapësirë ku kompjuteri është mjet, jo vetëm makinë për scroll pa fund.

Detaje teknike për kureshtarët

Për ata që i intereson çfarë ka „nën kapak“:

  • SmileyOS është OS bare-metal: nuk është distro Linux dhe nuk ka Windows apo Ubuntu poshtë.
  • Është shkruar tërësisht në Rust, me kernelin, shtresën grafike dhe sistemin e vet të skedarëve.
  • Mbështet multitasking (disa aplikacione njëkohësisht).
  • Aktualisht synon x86_64, dhe në plan kam edhe mbështetje për Raspberry Pi / RISC-V.

Kjo është përpjekja ime e vogël për të treguar çfarë mund të bëhet kur bashkon kureshtjen, entuziazmin, mjetet AI dhe një laptop të vjetër që nuk e përdor askush. 🙂

Një pyetje e sinqertë

Nëse e vazhdoj këtë histori, a do t’ia vlente për ju të investoni 2.000–3.000 denarë (rreth 30–50 €) në të ardhmen e fëmijëve tuaj – dhe në këmbim të merrni një paketë të plotë fizike mësimore që do të përfshinte:

  • 🟡 SmileyOS në USB, gati për një laptop ose kompjuter të vjetër
  • 📚 libra të vërtetë të shtypur, jo PDF – udhëzues për Terminal/Shell
  • 🧩 një libër të shtypur hyrës në programim, hap pas hapi
  • 🎮 dhe një libër tjetër për programim të avancuar të lojërave në të njëjtin mjedis

Më intereson sinqerisht – a do ta blinit një paketë të tillë për fëmijët, nipërit ose nxënësit tuaj?