Лична приказна · SmileyOS 1.0
SmileyOS 1.0 – offline едукативен оперативен систем за учење програмирање и „враќање во живот“ на старите компјутери
Како од љубопитност за AI алатките, за еден месец и околу 50.000 линии Rust код, настана SmileyOS 1.0 — offline оперативен систем за учење програмирање и првата верзија што проработи на вистински лаптоп.
Автор: Nikola Gjorgiev · · 6 мин. читање · 1 прегледување


Овој текст првпат го објавив на LinkedIn на 2 декември 2025. SmileyOS 1.0 е првата верзија што проработи на вистински хардвер — на еден стар Dell Inspiron 910.
Последните месец дена, паралелно со работата и останатите обврски, тивко во заднина започнав да работам на еден проект што беше зачнат од чиста љубопитност и едно прашање:
„Дали AI алатките за програмирање се толку моќни што можат да помогнат да се направи еден цел bare-metal оперативен систем за една недела?“
Одговорот, еден месец подоцна и околу 50.000 линии Rust код, се вика SmileyOS v1.0. 😊

Што е SmileyOS?
SmileyOS 1.0 е 🖥️ offline едукативен оперативен систем, дизајниран за деца, почетници и љубопитни тинејџери, наменет да работи на стари лаптопи и десктопи кои обично собираат прашина некаде во домот.
Наместо тој стар компјутер да заврши во отпад, идејата е да стане 👉 безбедна, фокусирана околина за учење програмирање — без интернет, без реклами и без нотификации.
Како настана идејата?
Одамна сакав да видам:
- до каде може да се „истера“ еден проект ако главен copilot ти е AI,
- и колку далеку може да се оди со vibe coding пристап: идеја → опис → AI → код → итерации.
Почнав со мали чекори: bootloader, текстуален терминал, Snake игра… и постепено проектот прерасна во цел bare-metal OS во Rust, со сопствен графички систем, сопствен фајл систем и цел мини екосистем околу него.
Првично, воопшто не го замислив како оперативен систем за деца. Почнав како чист технички експеримент – „да видиме до каде може да се стигне со Rust + AI алатки и bare-metal OS“.
Додека стигнав до верзија 0.8, веќе имав kernel, графика, неколку игри и системски алатки – и токму тогаш ми „кликна“ дека од ова може да излезе офлајн едукативен оперативен систем за деца и тинејџери, наместо само уште еден side-project за девелопери. Од тој момент целиот фокус ми се смени: да биде разбирлив, безбеден, детски пријатен и реално да може да се користи за учење програмирање на стар хардвер кој инаку би собирал прашина.
Што има во SmileyOS 1.0?
Во верзија 1.0 SmileyOS веќе не е само „инженерски експеримент“, туку нешто што реално може да се користи за учење. Неколку работи однатре:
🧠 Smilium – јазик за програмирање за деца
Направив сопствен едноставен јазик, Smilium, дизајниран да изгледа разбирливо за почетник, а истовремено да воведува реални концепти: променливи, услови, циклуси, функции, па дури и едноставни игри.
@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 има два режима:
- Shell Mode – текстуални програмчиња (квизови, калкулатори, игри со погодување број…)
- Game Mode – едноставен 2D свет со 160×120 пиксели, 16 бои, спрајтови и контроли.
@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 со лекции
SmileyOS доаѓа со вграден Smilium IDE, каде децата можат:
- да пишуваат код со syntax highlighting,
- да ја гледаат програмата во живо,
- и да следат структурирани лекции – чекор по чекор, од „Hello World“ до целосна мини-игра.
🎮 Игри и креативни алатки
За да не биде само „суво“ програмирање, внатре има и:
- класични игри (Snake, Breakout, Type Attack за тастатура и сл.),
- едноставна Paint апликација,
- Text editor и мал file manager,
- и, нормално, вистински терминал со основни команди.
Сето ова работи целосно офлајн.
Зошто офлајн и зошто стар хардвер?
Искрено верувам дека:
- децата имаат потреба од фокусирано дигитално опкружување – без алгоритми што влечат внимание,
- стариот хардвер може да стане најдобар училник за програмирање, наместо да заврши на депонија.
SmileyOS е обид стар лаптоп да се претвори во „coding playground“ за деца и да се создаде простор каде компјутерот е алатка, а не само машина за бесконечно скролање.
Технички детали за љубопитните
За оние што ги интересира „под хауба“:
- SmileyOS е bare-metal OS, не е Linux дистро, нема underlying Windows/Ubuntu.
- Напишан е целосно во Rust, со сопствен kernel, графички слој и фајл систем.
- Поддржува multitasking (повеќе апликации во исто време).
- Моментално таргетира x86_64, а во план ми е и Raspberry Pi / RISC-V поддршка.
Ова е мој мал обид да покажам што може да се направи кога ќе споиш љубопитност, ентузијазам, AI алатки и еден стар лаптоп што никој не го користи. 🙂
Едно искрено прашање
Ако ја продолжам оваа приказна, дали би ви вредело да вложите 2–3000 денари во иднината на вашите деца – а за возврат да добиете комплет физички едукативен пакет кој би вклучувал:
- 🟡 SmileyOS на USB, подготвен за стар лаптоп или десктоп
- 📚 вистински печатени книги, не PDF – прирачници за Terminal/Shell
- 🧩 печатена книга за вовед во програмирање, чекор по чекор
- 🎮 и уште една книга за напредно програмирање на игри во истото тоа опкружување
Искрено ме интересира – дали ваков пакет би го купиле за вашите деца, внуци или ученици?