Live data from Hacker News

Dos-like: Engine for making things with a MS-DOS feel, but for modern platforms

github.com

61–70 of 126 posts

Re: Dos-like: Engine for making things with a MS-DOS feel, but for modern platforms

#61

Windows 10 warns that burn.exe contains Trojan:Win32/Wacatac.B!ml. I'm sure it's fine but Windows doesn't let it run. The demos that work are stunning and inspiring.

Only happens when it's compiled with the included tcc. It works fine with Microsoft's compiler.

Re: Dos-like: Engine for making things with a MS-DOS feel, but for modern platforms

#62
post #19

Related, Free Pascal has a text-mode IDE that's supported on most modern platforms. https://www.freepascal.org

I don't think the Free Pascal IDE is related to this If you check the website demos and the "dos.h" source on GitHub, this is a library for making GUI apps whose UI has the appearance of being made with MS-DOS. Unless I am misunderstanding the connection you're trying to make, which is also possible

It's related in the sense of both having an appeal to DOS nostalgia.

Re: Dos-like: Engine for making things with a MS-DOS feel, but for modern platforms

#63
post #60
post #27

Earlier quoted context omitted.

Eh, the Borland Grahics Interface (BGI) style TUIs were kind of awful. I hated the Borland Turbo C IDE in no small part because of that style TUI. It just wasted so much precious character space on TUI frames and other decorations. More of my fond TUI memories from that era were the bespoke ones in the demo/art/music/bbs scenes. Those in many cases were still character based but seemed to make better use of the scree…

Altought I liked Borland IDE's, did't liked their UIs neither. For me the best text UI's ever created were Symantec's, which used some custom icons (ie arrows, buttons), and nicer tech colors: https://diarywind.com/blog/img/g13/fcf379da7cb57db6feb94d563... https://winworldpc.com/res/img/screenshots/10-for-dos-54195b...

The DOSSHELL included in MS-DOS itself also used some custom graphics, but that was totally optional. The interface was still based around the usual hardware text mode.

Re: Dos-like: Engine for making things with a MS-DOS feel, but for modern platforms

#64

Windows 10 warns that burn.exe contains Trojan:Win32/Wacatac.B!ml. I'm sure it's fine but Windows doesn't let it run. The demos that work are stunning and inspiring.

Microsoft Defender is really bad at false positives. I think especially the "!ml" ones – I believe that means it is using heuristics rather than a direct signature match.

I have my own parental control software I wrote. (Maybe one of these days I will open source it, but not in its current state.) I wanted to use text-to-speech to send audio messages to our son ("Your time is up in five minutes!" kind of thing). Windows has a bunch of different APIs for this – there is an older COM API (which supports IDispatch so you can use it from VBScript etc), a newer .Net API, an even newer WinRT one. I decided, for my purposes, the easiest thing to do was just call the .Net API from PowerShell. So, I embedded a PowerShell script in my executable.

All works – except suddenly Microsoft Defender says it is a Trojan. (Forget which one, it was one of those !ml ones, so it could have even been the same one.) Only when it sees the embedded Powershell script in the executable, took it out and it doesn't.

I found a trick – I gzipped the PowerShell script, and embedded the gzipped PowerShell script in the executable instead. I included in the executable a zlib decompressor library so it could decompress it at runtime. Suddenly, no more false positive, Defender thinks my executable is fine.

I also found it gets upset if a Windows service runs PowerShell as a subprocess with certain command line arguments (passing the PowerShell code to run on the command line)–it will block the PowerShell subprocess from starting. Again, various tricks – such as Base64-ing the code to be run, and having PowerShell decode it and then evaluate it dynamically – and it no longer complains. I suppose other approaches, such as putting the code to run in a temporary file, or passing it to PowerShell over a named pipe, might also do the trick.

Makes me think the whole thing is pretty stupid – if I can use these simple tricks to get around their false positives, why can't malware authors use the same tricks to turn true positives into false negatives?

Re: Dos-like: Engine for making things with a MS-DOS feel, but for modern platforms

#66
post #35

Earlier quoted context omitted.

> The users were pissed. They demanded the checkboxes be replaced with "Y" and "N" options to mimic what they were used to. If you removed my keyboard workflow, I'd be pissed too. Muscle memory means you don't have to think about it; with the mouse, you always have to think about what you're doing, and can't think of other things (e.g. why you're doing it) while you're doing the rote bits. Is there a particular reaso…

Yes. People who interact with those things just blow through them at high speed without even thinking! That frees them to think about other things. Arguably, more important things.

It calls into question if the original version had to be replaced at all. It probably didn't.

Re: Dos-like: Engine for making things with a MS-DOS feel, but for modern platforms

#67

Windows 10 warns that burn.exe contains Trojan:Win32/Wacatac.B!ml. I'm sure it's fine but Windows doesn't let it run. The demos that work are stunning and inspiring.

Only happens when it's compiled with the included tcc. It works fine with Microsoft's compiler.

About 20 years ago I remember it was semi-common for binaries compiled with anything other than MSVC to be flagged as false positives by other AVs (I suspect if MS had its own AV at the time, it would definitely raise antitrust allegations...) Lots of beginners using GCC (MinGW and the like) complained why their freshly-compiled Hello World executable would disappear without doing anything as soon as they ran it.

Re: Dos-like: Engine for making things with a MS-DOS feel, but for modern platforms

#68

Windows 10 warns that burn.exe contains Trojan:Win32/Wacatac.B!ml. I'm sure it's fine but Windows doesn't let it run. The demos that work are stunning and inspiring.

Microsoft Defender is really bad at false positives. I think especially the "!ml" ones – I believe that means it is using heuristics rather than a direct signature match. I have my own parental control software I wrote. (Maybe one of these days I will open source it, but not in its current state.) I wanted to use text-to-speech to send audio messages to our son ("Your time is up in five minutes!" kind of thing). Wind…

I can't speak to every situation, but all computer/video game/whatever time limits did for me was make me resent my parents and do nothing with the remaining time out of spite. I don't think I'd ever do it to my own kids.

Re: Dos-like: Engine for making things with a MS-DOS feel, but for modern platforms

#69
post #27

Anyone else love the look of DOS GUIs? https://img.itch.zone/aW1hZ2UvMTIyODU3OC83MTY0MTEyLnBuZw==/o... They have such a cozy feel, reminds me of simpler times. It would be cool if there were a CSS framework where you could make webpages like that.

Eh, the Borland Grahics Interface (BGI) style TUIs were kind of awful. I hated the Borland Turbo C IDE in no small part because of that style TUI. It just wasted so much precious character space on TUI frames and other decorations. More of my fond TUI memories from that era were the bespoke ones in the demo/art/music/bbs scenes. Those in many cases were still character based but seemed to make better use of the scree…

I remember that I loved the Turbo Vision TUI's so much that I dreamed to have a copy of it as a kid. My family wasn't very well off, but I got Borland C++ 2.0 for Christmas. The compiler came with BGI graphics but they were NOT text mode. The library was also awfully slow (drawing a picture by repeatedly calling drawPixel() took minutes)

I don't remember the price of Turbo Vision, but I remember it was obscenely expensive in my third-world eyes. It was sold separately until it was finally bundled with BC++ 3.1 (1992).

Post reply on HN