41 pointsby Bluestein3 hours ago6 comments
  • haunter2 hours ago
    Meanwhile in the Unix world you can go as low as 45 bytes https://www.muppetlabs.com/~breadbox/software/tiny/teensy.ht...
    • Someonean hour ago
      Unfair comparison. The Windows tool (FTA):

      “Runs a Windows message loop Has a title bar, minimize, maximize, and close buttons, which all work as expected Has a system menu with the same Paints the background and some text centered in the middle, equal to or larger than "Dave's Tiny App"”

      That Linux program:

      “Let’s take an incredibly simple program, one that does nothing but return a number back to the operating system”

      See https://archive.is/w01DO#selection-265.0-265.44 for a fairer comparison (97/133 bytes)

    • WalterGR9 minutes ago
      97 bytes for Windows at the time this very nice walkthrough was written: http://www.phreedom.org/research/tinype/
    • Bluesteinan hour ago
      Goodness gracious me.-
      • p00dlesan hour ago
        I hope that expression makes a comeback.
        • Bluesteinan hour ago
          You know? FOR ONE expression our current neuralese-spewing friends could standarize on - I'd not mind this one (and the ilk) becoming "load-bearing", again.-

          PS. Honest take :)

  • delta_p_delta_x2 hours ago
    Interesting to bypass CRT and work directly against the Windows API. That said, these rely on USER.32.DLL and KERNEL32.DLL to do the majority of the heavy lifting.

    It's a bit like 'smallest hello world in assembly' but the code is just setting up the calling convention and then passing the zero-terminated character string into `write`. Cool, but that could be done a bit more straightforwardly in C, too. A lot of assembly (including in the linked repository) is book-keeping for the platform's calling convention.

    • skrellm2 hours ago
      > That said, these rely on USER.32.DLL and KERNEL32.DLL to do the majority of the heavy lifting.

      Since the low-level Windows kernel API is undocumented and non-public, using these system DLLs is your only option on Windows.

      It's just like linking against libc.so on any POSIX systems.

    • munchler2 hours ago
      It’s a minimal Windows app, so the whole idea is to rely on Windows DLLs as much as possible.
      • actionfromafaran hour ago
        Officially, one should not use KERNEL32.dll for instance but go via crt. In practice, most interfaces are stable.
        • delta_p_delta_xan hour ago
          KERNEL32.DLL (in spite of the name) provides user-mode system services for the Windows API. The CRT provides the C99 API. There are many entry points to the same thing on Windows; you can do any of `malloc`/`HeapAlloc`/`new`/`VirtualAlloc` to get a void* memory buffer. `malloc` is from the CRT; `HeapAlloc` is from KERNEL32.DLL, and `new` is from the C++ runtime.
        • neonz80an hour ago
          kernel32 is an official API, you're probably thinking of ntdll. CRT is the C-runtime. Not everything is written in C.
          • actionfromafaran hour ago
            Yes, you are right, must have been thinking of ntdll.
  • WillAdams2 hours ago
    For more of the same (though I wish source was available) which actually does something useful, see the various small utilities at

    https://www.grc.com/freepopular.htm

  • eggy2 hours ago
    I should try FASM to see if it produces a smaller size exe. COM files are small, but 16-bit DOS was the thing back in the day - 100H yeah and basically a memory dump.
    • Bluestein2 hours ago
      > 100H yeah and basically a memory dump

      ... the days! :)

  • drdexebtjl2 hours ago
    The developer, Dave Plummer, left Microsoft to develop and distribute malware and scams in the 90s. See previous thread at [1].

    Nowadays he spreads misinformation disguised as war stories from his time at Microsoft.

    [1]: https://news.ycombinator.com/item?id=39813625

    • JoeDaDude2 hours ago
      What about his contributions to human civilization? ;)

      He got a world record score on the Tempest arcade game [1], then developed an AI which beat his own record[2]. His biggest failure was, that after rebuilding TEMPEST from arcade machine ROMS, he added levels to the game but never made them public [3].

      [1]. https://www.youtube.com/watch?v=EuSMCWu02hA

      [2]. https://www.youtube.com/watch?v=TdbpoDjIvPk

      [3]. https://www.youtube.com/watch?v=BjsVSEbXDOM

    • skinfaxi41 minutes ago
      My how the overton window has moved. Some of violative conduct is standard practice now.

      > When consumers prepared to purchase a product, additional services and products including a $9.95 back-up disc and $4.95 ‘optional extended service’ plan appeared on the check-out form. The form also listed “one free year of updates” – selected by default – but the company was then authorized to automatically charge a consumer’s credit card at the end of the year unless the buyer cancels the update plan.

    • rvz2 hours ago
      Do you have any evidence of these (unsubstantiated) claims against him?
      • drdexebtjl2 hours ago
        Edited with previous threads linking court documents.
    • TiredOfLife2 hours ago
      He also lied about his contributions to Start menu
  • taf22 hours ago
    love this and it's timely as I think with AI more of my code will just be native assembly for example: https://github.com/taf2/tic-tac-toe my m series native assembly based tic tac toe windowed game... very portable too you just simply execute codex --yolo port my app to x y z host...
    • eggy2 hours ago
      I haven't played with yolo yet. I'll have to use my airgapped, old Lenovo ThinkPad for this! Whenever I see yolo, I can't stop thinking of Joseph Redmon's YOLO and his astounding resume format!