
TINY: VNC for DOS - luu
http://josh.com/tiny/
======
besselheim
I remember setting this up about a decade ago on some old electroplating
control system front end. It worked very well - unlike the rest of the
software on there.

Unfortunately the DOS program it was being used to remote was highly picky on
the hardware being used, and would refuse to communicate with the PLC if the
PC was too new. Due to the harsh environment of the plant, we'd go through two
or three computers per year. So there was a lot of digging around for old
hardware until we realised it would run reliably in DOSBox with a suitable CPU
speed set.

After that, our use case for TINY was no more, and we just used a VNC server
for Windows. Saved a great deal of site to site travel and plant downtime
while it was set up though.

~~~
digi_owl
Glad it worked out with Dosbox. Sometimes thats a no-go though because the
software expect direct access to something or other.

------
nerdponx
At first I assumed this was some kind of toy project, but as I read more I
realized this was intended to be serious industrial software.

Are pure-DOS machines still deployed in industrial uses? How common are they?

~~~
dsl
Incredibly common. There are industrial control systems in all sorts of
factories that run hardware for which only DOS (XP is common too) drivers
exist.

The companies that make most of these systems are out of business (mostly VARs
that have a lifespan of 5-10 years), and nobody wants to retool a $3 million
assembly line just to upgrade an OS.

Edit: I can think of a dozen times I woke up in the middle of the night to
drive 20 miles to fix a DOS machine to get a plant working again. This is
amazing.

~~~
rashkov
Could you relate how you go about fixing a DOS machine? I'm imagining that
technical experts get paid a lot of money and get flown across the country to
get critical assembly lines working again. Am I far off?

~~~
dsl
This was many years ago, so it was mostly reboots, reconfiguring settings, and
things like that.

But a good friend of mine has a very awesome job: he is employed by a very
large manufacturing company that makes consumer products. They have dozens of
plants all over north america, most of which run machines from companies that
are out of business or the lines are no longer supported. When one of these
antiquated machines break and the on-site service techs can't fix it or don't
have spares they call him in. He will basically pull an old ISA card out of a
machine, troubleshoot what broke, and replace board level components. He has a
stash of old harddrives from eBay. Every version of old software you can
imagine. In a few cases he has made new controller boards completely from
scratch (including dumping firmware off of chips and flashing it on to new
ones). When you are losing $200k an hour with a line down, "screw it I'll make
a new one from scratch" isn't a silly response to the plant manager.

~~~
jeffdubin
When the possibly of losing $200k an hour with a line down even exists, "screw
it, I'll have a few spares made" seems like it would be a less silly idea the
plant manager might want to consider.

~~~
weavie
Surely if you could lose $200k an hour, you would want to ensure you have
spares for absolutely everything already on site before the problems occur.
Redundancy is an amazing thing.

~~~
bpizzi
It depends on whether we're speaking of turnover or profit. An average profit
of 200K$/h for a single production line must be very rare (but it may exist).
You're almost always not really 'loosing' 200K$ (otoh you'll surely be late in
delivering your customers, and that _may_ be valuable, think 'late delivering
fees').

When you're 'only' earning an average 20K$/h (10% profit is an ok number I
would say, but it may be far less if it's a common finished good), then it may
have sens not to pursue buying couples of every single spare part you should
have. The full price for always having in stock working spare parts for 100%
of a 3M$ production line could be well in the tens of hundreds per month. At
the end you're cutting your profit and that's the last thing you want to
report to the board, as a plant manager.

------
nerflad
For those commenting about open-source: check out the zip archive[0] provided
by the author. This project appears to be about a decade old; those files have
modified dates of 2007/2008 (& perhaps the post title should reflect this).

Since it's freeware/"source-available", I wonder if they would consider making
it publicly available or passing it on to a new maintainer.

Either way, very cool project.

[0]:
[http://josh.com/tiny/download/TinyImage.zip](http://josh.com/tiny/download/TinyImage.zip)

------
teddyh
Title, “ _TINY: VNC for DOS_ ”, is not original and also incorrect. It is not
using the VNC protocol. From the article: “[TINY] _is comparable to programs
like VNC,_ […]“.

------
qz_
> I can honestly say without any exaggeration that this screenshot shows what
> is, by far, the most amazing thing ever done with a computer in history. If
> you look carefully, you will see that this is a Windows XP SP2 machine on
> which I am using Sun's Java Runtime Environment 5.0 to run the TINY client
> bytecode and connect over the network through a Linksys WRTP54 router back
> to a virtual machine running on the same XP computer using Microsoft Virtual
> PC 2007 to boot up MS-DOS 6.22 to load the TINY host and execute an old EGA
> version of Tetris that was compiled with TASM 2.0. Through this arrangement
> I am able to achieve performance comparable to a 16Mhz IBM PC-AT using my
> 2.8Ghz Intel Core2. Wow. If you are not impressed, then you probably do not
> fully understand what is going on here.

Why is this so impressive?

~~~
zimpenfish
I suspect sarcasm.

> performance comparable to a 16Mhz IBM PC-AT using my 2.8Ghz Intel Core2

------
Sophistifunk
This is excellent. I have absolutely no use for it, but I wish it was OSS just
so I could poke around and see how the host works. Either way, badass geekery.

~~~
philsnow
> Source code and protocol documentation available- have confidence that TINY
> will continue to be viable for decades to come (or at least until all your
> CMOS batteries go dead)!

"source available" not being the same thing as "OSS", but it's something

------
redsummer
Before I clicked the link I imagined that this was some sort of VNC client
which worked inside a terminal window. Does such a thing exist?

(I mean something like this - [https://github.com/mustafaakin/terminal-
webcam/blob/master/R...](https://github.com/mustafaakin/terminal-
webcam/blob/master/README.md) \- except with a VNC image)

------
scraft
Although not the same, it brings back memories of having webcams facing
TVs/monitors, which allowed people from multiple locations to view the output
of programs they had written running on actual harware (where the hardware
itself allowed code to be executed over the network, but didn't offer a remote
display option).

------
relaxitup
BTW, the Josh who wrote this (Josh Levine), also wrote The Island Trading
system (which ran on DOS I believe). Pretty brilliant guy; he was a subject of
a very good book (IMO) called Dark Pools. Not sure if he's still doing this or
not, but of your name is Josh xyz, he'll delegate xyz.josh.com to you (if not
already reserved).

~~~
andylynchnz
Looking at the Background, Josh wrote this to run Island. Bonus- you can read
the original matching wbighe code at [http://www.josh.com/notes/island-
ecn-10th-birthday/](http://www.josh.com/notes/island-ecn-10th-birthday/). It's
written in FoxPro. Make sure you read the bit about hard drives.

------
StavrosK
I have no words to describe how great this is. I would even, but I find myself
mysteriously unable to.

------
jug
I read VNC but my mind interpreted it as "VLC". I was mighty confused there
for a while, yet intrigued. I expected something like video streaming to DOS
and being encoded into ASCII art on the fly.

~~~
Arnavion
(Probably) won't run on DOS, but libcaca is a thing that VLC, mpv, etc support
that does exactly that.

Edit:
[https://www.youtube.com/watch?v=-h8g5NGUbDM](https://www.youtube.com/watch?v=-h8g5NGUbDM)

------
pbhjpbhj
FWIW whilst the FAQ claims VNC send passwords in plaintext. TightVnc docs
claim:

>"for password encryption, VNC uses a DES-encrypted challenge-response scheme,
where the password is limited by 8 characters, and the effective DES key
length is 56 bits"

Which seems better than nothing at all.

I wonder if there's an SSH for DOS to tunnel the UDP packets over to avoid
adding an intermediary to the system (though I guess a rasberrypi would be
sufficient).

~~~
Sir_Cmpwn
Poor security is worse than no security. At least the latter doesn't give you
any false assurances.

~~~
pbhjpbhj
>Poor security is worse than no security. //

Not sure on this. Mostly the security on houses only has to put people off a
little, it doesn't need to actually be effective at keeping people out, it
only has to do enough to stop a random passer-by. So don't keep your wallet
open on the front porch and you're probably a million-times less likely to be
stolen from.

That said I think if the author meant to echo this idiom he should have just
said that. The way the FAQ put it sounded like "we really should have security
here and I'm embarrassed about it enough to claim that it's what everyone else
does to try and diffuse any suggestion it's a deficiency" rather than "we
don't have security by choice".

Perhaps I'm just being over-critical of the one thing I noticed that was not
quite right.

------
walrus01
If you don't need MS-DOS bare metal hardware, it's worth noting that a Xen
hypervisor HVM setup for an MS-DOS guest can provide a "VGA" \+ keyboard
console over VNC. It's basically QEMU.

------
fsiefken
As the page says the arrangement is using VirtualPC to emulate a PC and boot
DOS, I noticed that VirtualBox has an option to host an RDP/VNC server in the
settings. Wouldn't that be easier to configure?

~~~
EvanAnderson
The VirtualPC emulation is for testing. He's running this on bare metal
machines in production.

~~~
ahoka
Damn how I miss VirtualPC, the emulation was very good, so you could test low
level stuff easily. It had a complete S3 Trio VGA in software, which worked
very fast, not like it's "successor", HyperV, which is unusable for Linux
graphic desktops.

~~~
fsiefken
Would it be faster then Virtualbox? I'm emulating Ubuntu on Linux with
Virtualbox but perhaps switching to VmWare, Parallels or maybe VirtualPC will
result in better performance.

------
mack73
If the source for this had been on Github that BAKCSPACE issue would have
already been fixed ;)

------
fao_
There's a spelling error in the software on the first screenshot.

BAKCSPACE -> BACKSPACE

------
yellowapple
Anyone know if this works with FreeDOS?

~~~
jaclaz
Yes, it should work fine, it uses it's own (actually Novell) TCP/IP external
kernel (or stack) :

[http://freedos.sourceforge.net/wiki/index.php/Networking_Fre...](http://freedos.sourceforge.net/wiki/index.php/Networking_FreeDOS_complete)

You can use this:

[http://www.veder.com/nwdsk/](http://www.veder.com/nwdsk/)

for tests.

It includes Tiny.

~~~
yellowapple
Sweet.

I've got a couple old DOS / early Windows machines that I'd love to resurrect,
preferably with remote access. This + FreeDOS (which is my more typical go-to
nowadays) looks to be close to perfect.

------
ww520
TSR, omg, that brings back memory.

