Now imagine such an application. 256 × 192 pixel art. Top 32 pixels taken for UI. Environment like an old RPG game. There are objects there of various sort. Anything, really: you draw your own room. There are little robots walking around.

The source of the room is a raster graphic file with two layers: one is the pixel art that is shown, the other has zones of different colours. Say, I have a room with a chair, a chest and a decorative potted plant (a cactus, maybe). On the second layer, I colour them in #a00, #0a0 and #00a, leaving other pixels empty.

And somewhere there's a script that says:

#a00 is resting-place for robot(1).
#0a0 is obstacle; on click move robot(1) to #0a0; on click shell { rsync -avz ~/data.txt me@server:~/data.txt }.
#00a is obstacle.

Most of the time, the robot just hangs around the chair. When I click the chest, though, it hurries there and the script is run.

It's like that little game engine we had a jam about. That did happen, right? Was it called Flick? Not sure. So, it's basically that + HyperCard + little robots walking around.

Actually, why reserve space for UI? Draw your own UI. Full 256 × 192 pixel rooms. Every room is a window, arrange them as needed.

Many funny ideas can be thought of. Files shown as books on a bookshelf. Cron integration (a clock). Self-modifying pictures. Computing made fun again!

Đại học Y Hà Nội tuyển sinh bổ sung đợt 1 với khoảng 80 chỉ tiêu cho các tổ hợp A00, B00, B08. Đây là lần đầu tiên trường tuyển sinh bổ sung sau nhiều năm.
#DaiHocYHaNoi #TuyểnSinh #A00 #B00 #B08 #Tuyensinhbosung #HanoiMedicalUniversity #Admissions

https://vietnamnet.vn/truong-dai-hoc-y-ha-noi-tuyen-sinh-bo-sung-sau-hang-chuc-nam-2437695.html

Trường Đại học Y Hà Nội tuyển sinh bổ sung sau hàng chục năm

Trường Đại học Y Hà Nội thông báo tuyển sinh bổ sung đợt 1 khoảng 80 chỉ tiêu theo tổ hợp A00, B00, B08. Đây là lần đầu trường tuyển sinh bổ sung trong hàng chục năm qua.

Vietnamnet.vn

.status a:not([href^="https://friends.nico/"]) .display-name:before {
content: '【連合】';
}
.status a[href*=".m.to/"] .display-name:before {
color: #AA0;
content: '【m.to】';
}

.status a[href^="https://knzk.me/"] .display-name:before {
color: #F00;
content: '【神崎】';
}

.status a[href^="https://mstdn.jp/"] .display-name:before {
color: #A00;
content: '【JP】';
}
.status a[href^="https://pawoo.net/"] .display-name:before {
color: #0AF;
content: '【Pawoo】';
}

.status a:not([href^="https://friends.nico/"]) .display-name:before {
content: '【連合】';
}

.status a[href*=".m.to/"] .display-name:before {
color: #AA0;
content: '【m.to】';
}

.status a[href^="https://knzk.me/"] .display-name:before {
color: #F00;
content: '【神崎】';
}

.status a[href^="https://mstdn.jp/"] .display-name:before {
color: #A00;
content: '【JP】';
}

.status a[href^="https://pawoo.net/"] .display-name:before {
color: #0AF;
content: '【Pawoo】';
}

.status a:not([href^="https://friends.nico/"]) .display-name:before {
content: '【連合】';
}
/*↑URLには自分のインスタンスを指定してください*/
/*↓自分のインスタンスは除外したほうが見やすいです*/
.status a[href^="https://mstdn.jp/"] .display-name:before {
color: #A00;
content: '【JP】';
}

.status a[href^="https://pawoo.net/"] .display-name:before {
color: #0AF;
content: '【Pawoo】';
}

.status a[href^="https://friends.nico/"] .display-name:before {
color: #0A0;
content: '【ニコ】';
}

.status a:not([href^="https://friends.nico/"]) .display-name:before {
content: '【連合】';
}

.status a[href^="https://mstdn.jp/"] .display-name:before {
color:#A00;
content: '【JP】';
}

.status a[href^="https://friends.nico/"] .display-name:before {
color:#0A0;
content: '【ニコ】';
} https://friends.nico/media/1Zcnb9WT4EE35B85bnI