16 comments

  • rf1578 days ago
    &gt; due to the mlibc code using the char value from the format string, the values above 127 passed by OpenJDK would be handled as negative integers<p>It&#x27;s 2025 and I still don&#x27;t get why Java needed signed chars and bytes. Why completely disregard the convenience of using them for array access&#x2F;etc..
    • pjmlp78 days ago
      Easy,<p>&gt; Gosling: For me as a language designer, which I don&#x27;t really count myself as these days, what &quot;simple&quot; really ended up meaning was could I expect J. Random Developer to hold the spec in his head. That definition says that, for instance, Java isn&#x27;t -- and in fact a lot of these languages end up with a lot of corner cases, things that nobody really understands. Quiz any C developer about unsigned, and pretty soon you discover that almost no C developers actually understand what goes on with unsigned, what unsigned arithmetic is. Things like that made C complex. The language part of Java is, I think, pretty simple. The libraries you have to look up.<p>From <a href="http:&#x2F;&#x2F;www.gotw.ca&#x2F;publications&#x2F;c_family_interview.htm" rel="nofollow">http:&#x2F;&#x2F;www.gotw.ca&#x2F;publications&#x2F;c_family_interview.htm</a><p>Note that Java has unsigned support nowadays, only not as primitive types, although this is considered post Valhala.<p>For example, <a href="https:&#x2F;&#x2F;docs.oracle.com&#x2F;en&#x2F;java&#x2F;javase&#x2F;25&#x2F;docs&#x2F;api&#x2F;java.base&#x2F;java&#x2F;lang&#x2F;Byte.html#toUnsignedInt(byte)" rel="nofollow">https:&#x2F;&#x2F;docs.oracle.com&#x2F;en&#x2F;java&#x2F;javase&#x2F;25&#x2F;docs&#x2F;api&#x2F;java.base...</a>
    • toast078 days ago
      Java creators tried to avoid giving developers any sharp edges. Interactions between signed and unsigned integers can be surprising, so they disallowed unsigned integers.<p>Of course, not having access to unsigned quantities makes interaction with other programs difficult :(
      • Hendrikto78 days ago
        &gt; Java creators tried to avoid giving developers any sharp edges.<p>They failed.
        • fhd278 days ago
          Well, I&#x27;d argue they created a straight jacket. That prevents a number of self harm tactics. It also makes a lot of easy things pretty hard to do.
      • astrange78 days ago
        The one that annoys me is that people think implicit type conversions are dangerous for some reason, so they also disallowed `char a = 10; short b = a;` without writing a cast even though this makes no sense.
        • resonious78 days ago
          It feels like &quot;sharp edges&quot; often means &quot;I once had a horrible bug due to accidentally misusing this&quot;. But if you cut features based on that definition, you&#x27;d soon have an empty programming language.
          • lukan78 days ago
            Java was apparently quite successful, though. So maybe they got the balance right for their goal?
        • pdw78 days ago
          The signedness of `char` is implementation-defined, it is signed on x86 but unsigned on ARM. So assigning a plain char to a wider integer type is suspicious, did the programmer expect sign-extension or zero-extension?
          • astrange77 days ago
            It&#x27;s not implementation-defined in Java because there aren&#x27;t any unsigned types.<p>Personally I think explicit typecasts are even more suspicious, because introducing explicit semantics is worse than implicit semantics if the explicit ones are wrong.
        • fooker78 days ago
          I&#x27;d like a 10pples please.
    • andrewmcwatters77 days ago
      [dead]
    • bji9jhff78 days ago
      [flagged]
      • kjs378 days ago
        Look up James Gosling and get back to us. I&#x27;d especially be interested in hearing how your undoubtedly superior experience would result in a more successful language. I&#x27;m sure you can vibe code something up.
  • whitehexagon78 days ago
    That&#x27;s quite a milestone and achievement, well done! Your current Features list reads far beyond hobby level! It certainly puts my own hobby phone OS to shame. I&#x27;m still working out touch screen driver, and I only have IBM&#x2F;437 bitmap fonts so far, which turned out to be far too small for these modern phone screens, for surely it cant be my tired old eyes...<p>Can I ask how you keep yourself motivated on such a complex, large and difficult project? This week I have been bogged down in I2C support and find myself wondering if I&#x27;ll ever reach the next level.<p>Of course hard projects have their own special rewards, seeing that first pixel appear on screen was a magical moment, and felt like real programming again, especially compared to all these huge modern complex multi-layered software stacks.
    • avaliosdev77 days ago
      Sometimes I take long breaks but I always end up coming back. I find doing multiple things in my projects at the same time to help me not burn out as easily.
      • whitehexagon76 days ago
        Thanks. Well your post motivated me to knock off the rest of the I2C yesterday.<p>Good luck with the rest of your project.
  • ZebusJesus80 days ago
    Well done and thanks for sharing, it&#x27;s great to see people making a hobby OS and it&#x27;s awesome that it plays Minecraft! How long have you been working on Astral?
    • avaliosdev77 days ago
      Hi, this iteration I have been working on since 2023, but it uses some code in some places from the old iteration which I was working on during 2022 and 2023
      • ZebusJesus63 days ago
        great job, bet you learned some really cool stuff along the way!
    • Cthulhu_78 days ago
      The initial commit on the Github page was on April 2023, so at least that long methinks.
  • phendrenad281 days ago
    Love the Motif-style window borders!
    • zamadatix78 days ago
      Indeed! Looks like it uses a port of <a href="https:&#x2F;&#x2F;github.com&#x2F;fvwmorg&#x2F;fvwm3" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;fvwmorg&#x2F;fvwm3</a>
  • jakemanger81 days ago
    The “Astral from scratch guide“ idea really caught my eye.<p>Gotta say that would be a pretty cool evolution of DIY electronics kits to OS kits
  • zamadatix78 days ago
    I love hobby OS projects, and it&#x27;s good to see how many there continue to be posted here. I can never get enough! It looks like this one has some networking support as well.
  • coolcoder61378 days ago
    This is very impressive! When I saw the title, I thought it would be classicube, but no, it&#x27;s actual minecraft.
    • avaliosdev77 days ago
      Indeed. Now modern minecraft (1.20) and even modded (GTNH) is working as well.
  • ivraatiems76 days ago
    Excellent work.<p>Now all we need to do is run your OS on a redstone virtual machine inside of Minecraft, then run Minecraft on it. That way you&#x27;ll have Minecraft inside your Minecraft.
  • kgwxd78 days ago
    Better than Windows 11 already. I can&#x27;t run Bedrock or Java without first signing into the Microsoft Store on &quot;my&quot; PC.
    • zamadatix78 days ago
      Good news, you too can run Minecraft Alpha 1.2.0 single player offline without signing in. That&#x27;s not what made this impressive :).
    • creatonez76 days ago
      Try the &quot;Windows Legacy&quot; launcher, or a 3rd party launcher like PrismLauncher. The legacy launcher is made for Windows 7 and is directly equivalent to the macOS&#x2F;Linux launcher, so it doesn&#x27;t have a hard dependency on the Microsoft Store. It will probably be a while before they stop maintaining it because it&#x27;s such a trivial port.
  • urbandw311er78 days ago
    Excellent work! And very much in the spirit of the HM ethos.
  • burnt_toast78 days ago
    Congrats! Seeing an old version of MC makes me nostalgic.
  • charcircuit78 days ago
    I would be interested in a benchmark.
  • WhyOhWhyQ78 days ago
    Very inspiring!
  • John-Tony1278 days ago
    [dead]
  • H1BCurryChef78 days ago
    [flagged]
  • Shelby-Thomas78 days ago
    [flagged]