20 comments

  • K0balt9 hours ago
    I’d love to see something like this but designed to run on esp32 or raspberry pi 2530. Either can handle basic HDMI and USB. Or a little &lt;$100 laptop with a 7” display.<p>Easy to think raspberry pi, but with a full Linux you won’t get that intrinsic understanding that you fully control the hardware, you never control the “bare metal” unless you are a much more advanced user.<p>IMHO the feeling of not being in full control of your computing device is not a good starting point. I’m very fortunate to have started out on my 8kb BASIC machine.
    • alexisread3 hours ago
      There’s a wealth of retro machines out there that cater to this. A sample: <a href="https:&#x2F;&#x2F;www.olimex.com&#x2F;Products&#x2F;Retro-Computers&#x2F;Neo6502&#x2F;open-source-hardware" rel="nofollow">https:&#x2F;&#x2F;www.olimex.com&#x2F;Products&#x2F;Retro-Computers&#x2F;Neo6502&#x2F;open...</a><p><a href="https:&#x2F;&#x2F;www.olimex.com&#x2F;Products&#x2F;Retro-Computers&#x2F;AgonLight2&#x2F;open-source-hardware" rel="nofollow">https:&#x2F;&#x2F;www.olimex.com&#x2F;Products&#x2F;Retro-Computers&#x2F;AgonLight2&#x2F;o...</a><p>Or with keyboards: <a href="https:&#x2F;&#x2F;wildbitscomputing.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;wildbitscomputing.com&#x2F;</a><p><a href="https:&#x2F;&#x2F;www.kickstarter.com&#x2F;projects&#x2F;spectrumnext&#x2F;zx-spectrum-next-issue-3-0" rel="nofollow">https:&#x2F;&#x2F;www.kickstarter.com&#x2F;projects&#x2F;spectrumnext&#x2F;zx-spectru...</a><p>Or you can go mobile: <a href="https:&#x2F;&#x2F;www.clockworkpi.com&#x2F;product-page&#x2F;picocalc" rel="nofollow">https:&#x2F;&#x2F;www.clockworkpi.com&#x2F;product-page&#x2F;picocalc</a><p><a href="https:&#x2F;&#x2F;andywarburton.co.uk&#x2F;post&#x2F;gr3ml1n-a-compact-handheld-cyberdeck-built-for-chaos" rel="nofollow">https:&#x2F;&#x2F;andywarburton.co.uk&#x2F;post&#x2F;gr3ml1n-a-compact-handheld-...</a><p>And if you want a real challenge, the one euro computer:<p><a href="https:&#x2F;&#x2F;www.olimex.com&#x2F;Products&#x2F;Retro-Computers&#x2F;RVPC&#x2F;open-source-hardware" rel="nofollow">https:&#x2F;&#x2F;www.olimex.com&#x2F;Products&#x2F;Retro-Computers&#x2F;RVPC&#x2F;open-so...</a>
    • Lerc8 hours ago
      I have been thinking along those lines myself.<p>I have been playing around with a per scanline generated display on a rp2350 outputting to a tiny LCD. I think there&#x27;s potential for some pretty fancy stuff on HDMI. A 2350 with PSRAM, HDMI connector plus a MicroSD for bulk filesytem, and USB for input could be quite a fun micro PC.<p>I would be tempted to make somthing that had a second RP2350 with its own PSRAM sitting unutilized just as a temptation to users to figure out how to get more out of the gadget and learn about different multiprocessing architectures.<p>One of these <a href="https:&#x2F;&#x2F;www.waveshare.com&#x2F;core2350b.htm" rel="nofollow">https:&#x2F;&#x2F;www.waveshare.com&#x2F;core2350b.htm</a><p>With one of these <a href="https:&#x2F;&#x2F;www.waveshare.com&#x2F;rp2350-matrix.htm" rel="nofollow">https:&#x2F;&#x2F;www.waveshare.com&#x2F;rp2350-matrix.htm</a><p>Mounted on top, and an HDMI connector squeezed in somewhere,<p>I am a bit reminded of what GeoWorks Ensemble managed on a 640k 8086. Theoretically you could make a tiny system like this do even more.
      • mysterydip7 hours ago
        &gt; I am a bit reminded of what GeoWorks Ensemble managed on a 640k 8086.<p>I was looking at similar recently for a project, and came across FrankOS: <a href="https:&#x2F;&#x2F;github.com&#x2F;rh1tech&#x2F;frank-os" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;rh1tech&#x2F;frank-os</a>
      • cdcarter4 hours ago
        Check out the Adafruit Fruit Jam, its got pretty much everything you need.
    • poyu4 hours ago
      There&#x27;s PicoMite: <a href="https:&#x2F;&#x2F;geoffg.net&#x2F;picomite.html" rel="nofollow">https:&#x2F;&#x2F;geoffg.net&#x2F;picomite.html</a><p>It&#x27;s a BASIC interpreter&#x2F;OS for the RP2040
    • pjmlp8 hours ago
      Yes, they are more powerful than classical MS-DOS PCs, so there is plenty of juice in them.
    • Tepix4 hours ago
      There‘s LEDmeplay <a href="https:&#x2F;&#x2F;mithotronic.de&#x2F;ledmeplay.php" rel="nofollow">https:&#x2F;&#x2F;mithotronic.de&#x2F;ledmeplay.php</a>
    • jan_Sate9 hours ago
      Not sure on the performance but it might be possible to port this Mini Micro to those platforms.
      • Narishma6 hours ago
        Doubtful. Isn&#x27;t Mini Micro build on Unity? That has much higher system requirements.
    • prmoustache9 hours ago
      why not just use a vintage computer or game console then?
      • Lerc8 hours ago
        The main thing is video output. Even VGA is fading away now. HDMI is kind of what you need to be relevant to a lot of potenial users.
      • LastTrain2 hours ago
        The machines were simple but the technology constraints of the day also made them very inconvenient. Lots of wires, bulky &amp; slow storage, limited connectivity.
  • Someone8 hours ago
    <a href="https:&#x2F;&#x2F;miniscript.org&#x2F;files&#x2F;MiniScript-QuickRef.pdf" rel="nofollow">https:&#x2F;&#x2F;miniscript.org&#x2F;files&#x2F;MiniScript-QuickRef.pdf</a>:<p>“A class or object is a map with a special __isa entry that points to the parent. This is set automatically when you use the new operator.<p><pre><code> Shape = {&quot;sides&quot;:0} Square = new Shape Square.sides = 4 x = new Square x.sides &#x2F;&#x2F; 4</code></pre> ”<p>So<p>- Shape is a map (it is created using the syntax defined earlier, using a literal string as key)<p>- Square is a class?<p>- x is an object?<p>Or is this language prototype based? If so, why mention the word “class”? If not, isn’t it confusing to use “new someMap” to create a class and “new someClass” to create an object?<p>I also find it curious to see that division is defined on lists and strings. What would that mean?<p>Edit: reading <a href="https:&#x2F;&#x2F;miniscript.org&#x2F;files&#x2F;Strout_iSTEM-Ed2021.pdf" rel="nofollow">https:&#x2F;&#x2F;miniscript.org&#x2F;files&#x2F;Strout_iSTEM-Ed2021.pdf</a>, it is prototype based. That’s interesting for a teaching language.
    • volemo8 hours ago
      Yeah, I guess it’s prototype-based and the authors meant classes are indistinguishable from objects. And they all are just special cases of map.
  • october81409 hours ago
    Also check out Pico8 and Picotron.<p><a href="https:&#x2F;&#x2F;www.lexaloffle.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.lexaloffle.com&#x2F;</a>
    • popcar26 hours ago
      And TIC-80! <a href="https:&#x2F;&#x2F;tic80.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;tic80.com&#x2F;</a>
  • rokicki6 hours ago
    It&#x27;s so odd that the only nontrivial example code in the paper is completely buggy. The find longest common prefix function of a list of strings fails (try [&quot;a&quot;, &quot;bc&quot;, &quot;ade&quot;]).
  • janandonly10 hours ago
    I was a bit confused until I realized that <a href="https:&#x2F;&#x2F;miniscript.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;miniscript.org&#x2F;</a> isn&#x27;t the same programming language as <a href="https:&#x2F;&#x2F;bitcoin.sipa.be&#x2F;miniscript&#x2F;" rel="nofollow">https:&#x2F;&#x2F;bitcoin.sipa.be&#x2F;miniscript&#x2F;</a>.
  • fivetomidnight11 hours ago
    Free but not Open Source? Did I miss that?
    • helsinkiandrew10 hours ago
      &gt; Free but not Open Source? Did I miss that?<p>The miniscript language itself is MIT License:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;JoeStrout&#x2F;miniscript" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;JoeStrout&#x2F;miniscript</a><p>The Minimicro code doesn&#x27;t seem to have any license in the repository or code:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;JoeStrout&#x2F;minimicro-sysdisk" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;JoeStrout&#x2F;minimicro-sysdisk</a>
      • tokai9 hours ago
        So Open Source but not Free (Libre).
        • jrmg7 hours ago
          For <i>miniscript</i>: the Free Software Foundation considers the MIT license (which they call the ‘Expat License’ to distinguish it from the ‘X11 License’) to be ‘free’ (and GPL compatible), but not ‘copyleft’.<p><a href="https:&#x2F;&#x2F;www.gnu.org&#x2F;licenses&#x2F;license-list.html#Expat" rel="nofollow">https:&#x2F;&#x2F;www.gnu.org&#x2F;licenses&#x2F;license-list.html#Expat</a><p>For <i>minimicro-sysdisk</i>: I am suspicious that the author just forgot to include a license. Their other repos are mostly MIT or ‘The Unlicensed (also ‘free’ but not ‘copyleft’), and some have licenses added after creation. Suspicion is not something to be legally relied on of course…
        • debugnik2 hours ago
          That&#x27;s usually called &quot;source available&quot;, since most people, including some governmental orgs around the world, already follow OSI&#x27;s definition for &quot;open source&quot;.
      • mmmlinux2 hours ago
        Am I the only one that hates that programmers now have to also be lawyers?
        • debugnik2 hours ago
          What do you mean now? The peak of debating the merits of varied FOSS licenses must have been 20 years ago.
    • bmenrigh10 hours ago
      Mini Micro seems to be built on Unity. The MiniScript portion of it is open source <a href="https:&#x2F;&#x2F;github.com&#x2F;JoeStrout&#x2F;miniscript" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;JoeStrout&#x2F;miniscript</a> but the version packaged for use by Unity costs some money. I can&#x27;t tell if the people behind MiniScript are the same people behind the Mini Micro.
  • fefal647 hours ago
    Also check out this one. It is a real physical computer: <a href="https:&#x2F;&#x2F;www.francksauer.com&#x2F;index.php&#x2F;micro-8" rel="nofollow">https:&#x2F;&#x2F;www.francksauer.com&#x2F;index.php&#x2F;micro-8</a>
  • layer810 hours ago
    Apparently it’s high-level only, i.e. no underlying machine instruction set or addressable memory.
    • rm4457 hours ago
      So... It&#x27;s an interpreter (together with a virtual filesystem and some utilities) packaged into a program with a graphical display window? Still good for lots of interesting uses, I suppose, but surprising. Since it&#x27;s introduced as a &quot;virtual computer&quot;, I thought underneath the hood it would be emulating a machine. Then people, if they wanted, could tinker a level deeper than the scripting language, write an assembler etc.
    • Rohansi9 hours ago
      That&#x27;s how most of these fantasy machines are. Most people are only going to want to use a high-level language so it makes more sense this way.
      • joshmarinacci7 hours ago
        True , but if it had a real ISA underneath then we could write custom emulators for them.
  • utopiah6 hours ago
    I don&#x27;t get why this kind of projects need :<p>- a manual<p>- an installer<p>when you have Web pages can now<p>- be offline (PWA)<p>- be responsive and run on pretty much any device<p>- run pretty much anything thanks to WASM but anyway already have JS&#x2F;HTML&#x2F;CSS as bare minimum<p>- can have the instructions AND the runtime on the same page, on any device, instantly<p>- can connect with physical hardware, see recent <a href="https:&#x2F;&#x2F;hacks.mozilla.org&#x2F;2026&#x2F;05&#x2F;web-serial-support-in-firefox&#x2F;" rel="nofollow">https:&#x2F;&#x2F;hacks.mozilla.org&#x2F;2026&#x2F;05&#x2F;web-serial-support-in-fire...</a> or even with APIs.
    • d--b6 hours ago
      &gt; Mini Micro is a neo-retro virtual computer. Learn to code, play some games, and join a friendly, enthusiastic community of hobbyists!<p>Apparently not that friendly on HN :-D
      • utopiah2 hours ago
        What&#x27;s unfriendly in questioning the delivery mechanism or design choices?<p>I can think a project is cool or useful without thinking it&#x27;s perfect. In fact ALL projects I encounter, including mine, are like that, imperfect. I think native is a barrier to entry so IMHO it should only be relied on when it&#x27;s truly necessary. I&#x27;m just stating my opinion and others are welcomed to disagree and explain why they think so.
    • bigstrat20032 hours ago
      Web browsers suck as an app platform. Give me native any day, personally.
  • p2detar11 hours ago
    Looks cool. I most enjoyed the zombies game someone uploaded on itch.io. One thing to note is that game speeds feel very fast to me. I barely did anything in the asteroids game and the others also seem to run quite fast. It could be just me.
  • pietje10 hours ago
    I wonder how hard it would be translate this to Dutch. I would like my kids to start experimenting but that’s a bit impractical if they need to learn English first..
    • janandonly10 hours ago
      Ik denk dat Claude dat zo voor je doet in een paar minuten tijd.
  • __natty__11 hours ago
    Why not for 3 eur buy some basic arduino or other tiny hardware to tinker with and for another few eur, tiny i2c&#x2F;oled display, wires and set of basic switches? You start programming with option to expand to the larger project in the future. You have constraints of real device, community is much larger and there are more learning resources.
    • layer89 hours ago
      Because those don’t boot into a fixed interactive programming environment with a BASIC-like language and REPL to easily do simple things on the same screen and using the same keyboard you also use for programming. Your proposed setup has more complexity and is less intuitive for a learner.
    • Tepix11 hours ago
      For starters, there is <i>way</i> more friction both in buying hardware and waiting for it to arrive and developing on real hardware in general.<p>I agree however that it&#x27;s super cool to have real hardware to run this on.
    • jrmg7 hours ago
      Because those require you to get to grips with “a tiny i2c&#x2F;oled display, wires and set of basic switches” when you’re interested in coding, not hardware.
    • newswasboring11 hours ago
      Because moving a sprite is much more exhilarating than blinking an LED.
      • yard201010 hours ago
        Well how about moving a sprite by blinking a few leds?
  • neomech9 hours ago
    Shame there isn&#x27;t a Raspberry Pi version available.
    • Rohansi8 hours ago
      It is built in Unity which doesn&#x27;t let you build for ARM Linux without paying an unknown amount of money.
    • Tepix3 hours ago
      There‘s Pico-8 for the Pi!
    • jan_Sate9 hours ago
      Couldn&#x27;t someone just rebuild the source code for Raspberry Pi?
  • boundless8811 hours ago
    I think that&#x27;s really cool. I wonder when this started development?
  • alex_x11 hours ago
    I wonder why all these easy-to-learn languages use indentation to denote scope, not something like curly braces. Isn&#x27;t it actually harder to explain?
    • Wowfunhappy9 hours ago
      Fifth grade teacher here. Significant whitespace is a major reason I prefer Python for teaching programming.<p>1. I want kids to indent their code anyway; they may not realize it (or won&#x27;t admit it), but this makes the code much easier for them to read. Kids will not do this unless they have to.<p>2. Unbalanced brackets are a major source of mistakes and confusion for my students. Relying purely on indentation resolves this problem—at the real cost of introducing indentation mistakes, but since I want kids to indent their code <i>anyway</i>, this is okay.<p>By the way, an adjacent recommendation is to configure the editor to indent with tabs instead of spaces (regardless of how you feel about tabs vs spaces in production code). Otherwise, kids will invariably end up with lines indented by 3 or 7 or some other wacky number of spaces. If possible, highlight the tabs in a different color so the kids don&#x27;t use spaces by accident.
      • talkingtab8 hours ago
        Interesting point. I wonder if &quot;easier for them to read&quot; is too simple. I took &quot;read&quot; as in &quot;read words&quot; or &quot;read a book&quot;. But &quot;reading&quot; a program is not I think the same as reading words. Reading words could be this:<p>for i = 0 i &lt; 10 i++ if i = 7 printf(&quot;hello 7&quot;) else printf(&quot;who are you&quot;);<p>But with a more pictorial presentation, it is easier to read the program.<p>for i = 0 i &lt; 10 i++ if i = 7 printf(&quot;hello 7&quot;)<p>I&#x27;m just wondering - if we had a more pictograph based programming language would it be easier to understand?
      • christophilus8 hours ago
        This is the job of a tool like go fmt. Obviously, it’s good discipline to indent, but I wouldn’t choose this as the deciding factor for picking a first programming language.
        • eddieroger8 hours ago
          Formatters and linters fix the mistakes made by people who know what they&#x27;re doing. They do nothing to teach someone how to do something for the first time in a way that supports comprehension, only regurgitation.
        • Wowfunhappy8 hours ago
          go fmt can fix #1, but not #2, and won&#x27;t work if #2 is causing problems.
    • jim_lawless11 hours ago
      It looks like MiniScript uses the keyword &quot;end&quot; followed by another keyword to denote the end of a specific type of block.<p>From the Quick Reference guide here:<p><a href="https:&#x2F;&#x2F;miniscript.org&#x2F;files&#x2F;MiniScript-QuickRef.pdf" rel="nofollow">https:&#x2F;&#x2F;miniscript.org&#x2F;files&#x2F;MiniScript-QuickRef.pdf</a><p>&quot;Indentation doesn&#x27;t matter (except for readability).&quot;
    • NooneAtAll39 hours ago
      while everyone already pointed out that this time it&#x27;s not the case, I want to literally answer the question you asked<p>&quot;easy-to-learn languages&quot; use indentation because otherwise newbies would not indent at all<p>I you try teaching programming, you&#x27;ll find that indentation is one of things students &quot;optimize out&quot; - it is not important to the program, it is opposite of lazy and it&#x27;s not noticeably harmful on the tiny scale of programs you learn programming from<p>Indentation discipline only starts to matter when you need to work on the same code for quite some time and code itself takes a lot of space - the &quot;read more then written&quot; situation. And most study paths do not encounter this regime
      • alex_x7 hours ago
        Easy-to-learn and built-for-learning-good-practices are two different things;<p>I think your point is perfectly correct but it&#x27;s mostly about the second one
    • layer89 hours ago
      The language (MicroScript) doesn’t require indentation, it’s only used for readability, like in BASIC, FORTRAN, PASCAL, and similar languages. Blocks are delimited by key words (“end if” etc.).
    • graemep11 hours ago
      I think indentation is more intuitive. Even people using languages that use braces or similar usually use indentation to make code readable. If doing that you end up explaining both ideas (use braces and indent).
      • Gormo9 hours ago
        There&#x27;s an important form&#x2F;function distinction here, though. Indentation is useful for human readability, but braces function to give unambiguous direction to the compiler or interpreter. I think conflating these two different purposes together is a mistake: you shouldn&#x27;t risk altering or breaking the logic flow of a program simply by adjusting its visual formatting.<p>The fact that we use whitespace for layout is precisely why it&#x27;s a bad idea to assign it semantic value. I&#x27;m a fan of both braces and semicolons for that reason.
        • Wowfunhappy9 hours ago
          I think this is probably correct for an experienced programmer but incorrect for someone who is new.
          • Gormo8 hours ago
            I&#x27;m not sure I understand what you mean. How would the friction inherent in conflating layout and semantics together depend on the experience level the programmer? Different programmers might have different ways of dealing with that friction, but I&#x27;d think its existence would be a property of the language itself.
            • Wowfunhappy8 hours ago
              The form&#x2F;function distinction you&#x27;re making requires the ability to hold two parallel representations of the same code in your head—the visual representation (what it looks like) and the syntactic representation (what it means to the parser), and to know that they&#x27;re related but different. This is a higher level skill.<p>When you&#x27;re starting out, the best form to express to other humans is probably the one you&#x27;re expressing to the computer. This isn&#x27;t literally true—I don&#x27;t think beginners should write in assembly—but it&#x27;s true enough that they probably shouldn&#x27;t mess with indentation beyond what would naively follow from bracket placement.
              • Gormo4 hours ago
                &gt; The form&#x2F;function distinction you&#x27;re making requires the ability to hold two parallel representations of the same code in your head—the visual representation (what it looks like) and the syntactic representation (what it means to the parser), and to know that they&#x27;re related but different. This is a higher level skill.<p>My supposition here is that the threshold of skill needed to understand the form&#x2F;function distinction here is significantly lower than you expect it to be. In written natural language, people don&#x27;t typically attach semantic meaning to things like indententation, kerning, letter spacing, text alignment, font size, etc., and usually distinguish style from semantics intuitively without having to apply any conscious decision rules. Distinguishing form from content is something we do by nature.<p>I&#x27;d expect that at least those already familiar with natural writing in most modern languages will have a bias toward expecting that whitespace does <i>not</i> have semantic value, while punctuation marks do. Conversely, I&#x27;d expect recognizing cases where indentation <i>does</i> control logic flow to be what requires a higher skill level.
      • latexr10 hours ago
        I get why people like indentation for this. I don’t think there’s a right or wrong answer and it’s a matter of personal preference.<p>That said, my preference is curly braces (or whatever) because I’ve found indentation is often a bother. Yes, most of the time you use indentation together with braces, but not every time. There are many occasions where code is clearer without (or with custom) indentation. Furthermore, indentation-based parsing makes experimentation and finding issues more difficult. Sometimes you need to extract a small part of a larger block to bung in a REPL or something and now you’re fighting with stupid errors because of formatting, adding to the frustration.<p>Regarding intuitiveness, for beginners I have some doubts it makes much of a difference, and if it does I also doubt indentation wins. If you know how to write (which is a prerequisite), you know what parenthesis and quotation marks are, you understand they encapsulate something separate from the rest. Indentation is a different concept.
        • btreecat10 hours ago
          I get why people blame indentation like this. I don&#x27;t think it&#x27;s right or wrong to ignore the tooling that directly addresses minor issues with indentation or matching braces honestly.<p>That said, my preference is to use the tools built into my editor and available on the CLI or web to assist and fix formatting and syntax. You get instant feedback on incorrect formatting, and I generally find that synthetic scope mistakes (regardless of method) are eliminated.
        • cestith5 hours ago
          I think indentation tries to step towards an outline, but without the item indicators we’d use in an outline format. This might actually be a selling point for something like YAMLScript.<p><a href="https:&#x2F;&#x2F;yamlscript.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;yamlscript.org&#x2F;</a>
    • echoangle11 hours ago
      It makes sure the thing you use to judge scope (indentation) matches the think the computer uses.
      • alex_x11 hours ago
        That&#x27;s a fair point for students, but as a beginner who simply wants to tinker with fun stuff, you can go very far without knowing of a program stack.<p>I think I had the wrong audience in mind
  • sibidharan9 hours ago
    This feels nostalgic!
  • swayam_418 hours ago
    really like the creativity, cool stuff
  • eliotthbyrnes10 hours ago
    Ah the nostalgia
  • the_af9 hours ago
    Is this a similar project to the existing Pico8?
    • neomech9 hours ago
      Probably more like Picotron. <a href="https:&#x2F;&#x2F;www.lexaloffle.com&#x2F;picotron.php" rel="nofollow">https:&#x2F;&#x2F;www.lexaloffle.com&#x2F;picotron.php</a>
  • qsera11 hours ago
    Only virtual? That is sad!