Uxn इकोसिस्टम
(100r.co)- Uxn/Varvara एक छोटी virtual machine के इर्द-गिर्द बना personal computing stack है, जो एक ही application को कई systems पर चलाने देता है
- इसकी शुरुआत graphical applications host करने की एक ठोस जरूरत से हुई थी, लेकिन इसे release target के रूप में कोई भी अपना सके, इसके लिए public किया गया है
- Programs इसकी अपनी भाषा Uxntal में लिखे जाते हैं, और distribution का तरीका classic console emulators के game ROM share करने जैसा है
- चलाने के लिए operating system के हिसाब से emulator चाहिए, और VM व I/O specs के आधार पर अपना emulator भी implement किया जा सकता है
- संरचना ऐसी है कि वही ROM desktop, छोटे electronic devices, handhelds और browser में चल सके; इसलिए छोटे software को लंबे समय तक maintain करना और अलग-अलग environments में ले जाना आसान होता है
Uxn/Varvara जिस computing stack को लक्ष्य बनाता है
- Uxn/Varvara ecosystem छोटी virtual machine पर केंद्रित एक personal computing stack है
- इसका मुख्य लक्ष्य एक ही application को कई systems पर चलाने योग्य बनाना है
- Design implementation-first सोच पर आधारित है, और graphical applications host करने की ठोस जरूरत के अनुरूप बनाया गया है
- Uxn में programming इसकी अपनी भाषा Uxntal से की जाती है
- Uxn programs का distribution classic console emulators के लिए game ROM share करने के तरीके जैसा है
- Design की अधिक विस्तृत पृष्ठभूमि uxn design notes में देखी जा सकती है
Emulators और ROM चलाना
- Uxn program चलाने के लिए system के अनुरूप emulator चाहिए
- Linux/BSD
- Mac/Plan9
- Windows
- और अधिक environments awesome-uxn emulators list में संकलित हैं
- VM और I/O specs देखकर अपना emulator भी implement किया जा सकता है
- Desktop के लिए cross-platform emulator को SDL2 चाहिए
- Arch:
sudo pacman -S sdl2 - Ubuntu:
sudo apt install libsdl2-dev - Void Linux:
sudo xbps-install SDL2-devel - OSX:
brew install sdl2 - openBSD:
doas pkg_add sdl2
- Arch:
- ROM चलाने के कई तरीके हैं
- launcher program का उपयोग
.romfile को emulator window में drag करना- terminal में
bin/uxnemu path/to/example.romचलाना
- Basic emulator controls function keys और button mappings से होते हैं
F1: zoom toggleF2: debugger toggleF3: screenshotF4:launcher.romloadL-Ctrl: A,L-Alt: B,L-Shift: Select,Home: Start
चल सकने वाले environments और example programs
- वही Uxn ROM desktop computers, छोटे electronic devices, modern handhelds और browser में इस्तेमाल किया जा सकता है
- GBA, Nintendo DS, Playdate, DOS, PlayStation Vita, Raspberry Pi Pico, Teletype, ESP32, Amiga, iOS, STM32, IBM PC आदि पर भी ports हैं, और कुछ अभी complete नहीं हैं
- Example के तौर पर दिए गए Uxn programs में toys, games और tools शामिल हैं
सीखने की सामग्री और community
- शुरुआत के लिए सामग्री इन links पर उपलब्ध है
- मदद चाहिए तो
irc.libera.chatके #uxn या Catlang Discord पर पूछ सकते हैं
1 टिप्पणियां
Hacker News की राय
इस समूह का हर पहलू दिलचस्प है। ये नाव पर रहने वाले digital nomad हैं, और हर लेख ऐसी ज़िंदगी की झलक देता है जिसके संभव होने के बारे में मैंने कभी सोचा भी नहीं था
उनकी साइट पर हर बार जाने पर मानो rabbit hole में उतर जाता हूँ। किसी और जीवन में शायद मैं भी यह आज़माना चाहता
https://100r.co/site/dry_toilet_installation.html
https://100r.co/site/solar_evacuated_tube_cooking.html
cross compile करना भी आसान है, और Ballesteros की Plan 9 शुरुआती किताब पढ़ते-पढ़ते कंप्यूटर साइंस की समझ भी स्वाभाविक रूप से विकसित होती है
इसमें बहुत शानदार सामग्री है
और यह भी हैरान करने वाला है कि यह कई तरह के असली hardware पर चलता है। मैंने बहुत से virtual machine प्रोजेक्ट देखे हैं, लेकिन ज़्यादातर ऐसे लगते थे जैसे वे किसी दूसरे कंप्यूटर के अंदर अलग-थलग हों। लगता है कि चरम सीमाएँ डिज़ाइन को पूरी तरह अलग दिशा में धकेल देती हैं
बेशक YouTube algorithm तो YouTube algorithm है और capitalism तो capitalism, इसलिए sailing videos का अच्छा-खासा हिस्सा bikini content भी होता है। लेकिन साथ ही छोटी yachts की मरम्मत, modification और upgrade वाली ज़िंदगी भी उसका बड़ा हिस्सा है। fiberglass work से लेकर solar power और desalination तक, यह सचमुच एक बेहद दिलचस्प जीवन की झलक देता है
मैं इस टीम का सचमुच सम्मान करता हूँ। और भी देखने लायक एक बेहतरीन लेख है जो अधिक सरल computing model की खोज पर है: https://100r.co/site/weathering_software_winter.html
100r मुझे उस चीज़ की याद दिलाता है जिसे हम आजकल सबसे ज़्यादा खो चुके हैं, यानी साहस
हम अवसरों को पकड़ने, ideas को explore करने, थोड़ा कठिन रास्ता चुनने और चुनौतीपूर्ण कामों में कूद पड़ने से डरते हैं। हम जोखिम से बचने वाले हो गए हैं और कुछ नया आज़माना नहीं चाहते
उनकी यात्राओं, नाव पर किए जाने वाले हर काम, code के प्रति उनके रवैये, और खासकर सिर्फ एक व्यक्ति के लिए software बनाने की अवधारणा के बारे में पढ़कर मुझे अपने भीतर कायरता महसूस होती है। मैं code, जीवन और अपने आसपास के माहौल के प्रति अपने रवैये में और साहसी बनना चाहता हूँ
Rek और Devine के हर काम के लिए आभारी हूँ। उन्हें व्यस्त होकर कुछ भी न करते देखना खुशी देता है
Mastodon पर लेखक का अकाउंट(https://merveilles.town/@neauoire) Devine के कंप्यूटर से निकले छोटे-छोटे प्रोजेक्ट्स और screenshots का खज़ाना है, मानो एक parallel computing universe हो
Future of Coding के साथ किया गया podcast episode भी ज़ोरदार सिफारिश के लायक है: https://futureofcoding.org/episodes/044.html और इसका follow-up भी है जो अद्भुत live music environment Orca पर है: https://futureofcoding.org/episodes/045.html
इस व्यक्ति और इस फ़ोरम के पुराने Lisp users की वजह से मैं लंबे समय से alternative computing और niche programming languages के बारे में सोचता रहा हूँ। Uxn मेरी to-do list में है, और इन दिनों Forth और Uxn में उतरने से पहले Smalltalk परिवार की चीज़ों में व्यस्त हूँ :)
जब भी ये front page पर आते हैं, अच्छा लगता है। इनका लिखा software तो दिलचस्प है ही, लेकिन नाव को जितना संभव हो सके उतना self-sufficient बनाने के लिए जो काम ये करते हैं, वह सचमुच कमाल का है
कोई Blame! का प्रशंसक है? https://wiki.xxiivv.com/site/devine_lu_linvega.html https://blame.fandom.com/wiki/Davine_Lu_Linvega
https://100r.co/site/pino.html
इनकी साइट्स में जिसे मैं सचमुच बार-बार देखता हूँ, वह recipe site है: https://grimgrains.com/site/home.html
यहाँ खाना पकाने के शौकीनों के लिए काफ़ी मज़ेदार चीज़ें हैं
Basic Block Versioning JIT पर काम करने वाली और हाल के yjit के लिए जानी जाने वाली Maxine Chevalier-Boisvert भी हाल में मिलते-जुलते विचारों पर बात कर रही हैं
https://pointersgonewild.com/2023/02/24/building-a-minimalistic-virtual-machine/
यह छोटा और सुंदर virtual machine design है, इसलिए यहाँ बहुत से लोगों को यह दिलचस्प लग सकता है
यह सिर्फ किसी की webpage पर पड़ा हुआ design नहीं है, बल्कि इससे tools, games और art बनाए जा रहे हैं
मैंने खुद करके देखा है, और यह इनके instruction set से थोड़ा अधिक जटिल ज़रूर है, लेकिन बहुत ज़्यादा नहीं। इसे असली compilers target कर सकते हैं, इसलिए व्यवहारिक रूप से लगभग कोई भी software चलाया जा सकता है। हालाँकि input/output वगैरह के लिए बाकी virtual machine environment फिर भी देना पड़ता है
Forth-आधारित retro-style games, कम specs, और लगभग हर जगह port की गई virtual machine होने के लिहाज़ से यह Z-Machine जैसा है, लेकिन pixels के लिए ज़्यादा उपयुक्त लगता है
यह GB-style games के लिए अच्छा लगता है, जहाँ Z80 जैसे instruction set से जूझना न पड़े और sprite display के दौरान अजीब cycle timing bugs से असली LCD जल जाने की चिंता भी न करनी पड़े