Rsync 3.1.0 on Interix (SUA for Windows)

for the two or three people left running SUA, and trying to rsync a UNIX box back on a corporate Windows server, you’ll probably wonder why rsync crashes…

$ ./rsync dbserver:: Memory fault (core dumped) $

Wonderful.  So I know what you’re thinking, let’s debug it, right?!

$ gdb rsync

GNU gdb 2002-11-11-cvs Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type “show copying” to see the conditions. There is absolutely no warranty for GDB. Type “show warranty” for details. This GDB was configured as “i586-pc-interix3″…

(gdb) set args dbserver::

(gdb) r

Starting program: /dev/fs/C/Users/neozeed/tmp/rsync-3.1.0/rsync dbserver:: procfs: init_inferior, get_traced_signals line 4856, /proc/1375: Value too large to be stored in data type.

Yeah. Fantastic.

Well it turns out the bundled libintl on Interix is all screwed up.  So edit the config.h, and remove the line:

#define HAVE_ICONV_H 1

rebuild, and all will be well.

Windows RT

Windows 8 RT from pocketables.com

Just before the tidal wave comes in on the Windows 8 launch, let me just spell out one thing… Windows 8 RT will *NOT* run any existing Windows applications.

I don’t know why we even have to go back down this road, but it’ll be Windows NT on the MIPS or PowerPC all over again.

And to be too honest, the price is just too damned high for what it is, and that is an evolutionary dead end.  Expect there to be some kind of post Christmas fire sale, once people find out they can’t play minecraft or sims on it.

But apparently it comes with Microsoft Office (Word & Excel?) no idea if it includes PowerPoint & Outlook..   I guess the one safe thing is that it won’t run x86 exploits/buffer overflows, so maybe this is a good PHB, ‘mom’ device.

Me?  I’m still using a 1st gen iPad.

IBM PS/1 preload software

Club PS/1!

I don’t think it’ll do anyone any good, but for some reason I’ve gotten two requests since I’ve mentioned that I’ve got a PS/1 and if I could dump all the weird software that it comes with…

Not that prodigy even exists anymore, or there is anything you can do with it, so I figured I’d just add it in with jdosbox, and you can just click along..

I guess it was unique at the time when most OEMs just slapped together some stuff and shipped without going that extra crazy mile of doing some custom programs, or even trying to foster their own online community even if it was just too forward looking, and too much of an Island for 1991.

So pastel, so Miami Vice!

There is some very 90’s feeling Learning Windows that also came with the system.. I’ve never heard of it before.  What is more interesting is that it is a Windows program, unlike the later introduction/tutors for Windows that were MS-DOS programs.  It’ll even run in real mode, which makes me wonder was it just such a major pain to put together that they swore to never do again, or was it specially made for IBM?

Introduction to the PS/1

At any rate most of the programs are MS-DOS based, there is a version of AOL that sits in between the time of Quantium Link & AOL called Promenade.  Again since the service is dead there isn’t much you can do with the dialer software.  It does use GEOS like the later AOL software, but its skinned to look like Windows (SAA?).

Oh well its a look at a distant OEM past, now IBM doesn’t make PC’s and I would almost guess that OEM’s would be forbidden or heavily shunned to make their own online social type thing, as of course everyone would be on face book ….

PS/1 2121 doing what it does best..

At any rate, I’ve upgraded mine with a semi compatible sound blaster, and a network card.. With rlfossil an Conex, its a nice BBS terminal, with good ansi support.  Sadly the bigger DJGPP stuff won’t run as I don’t have a math coprocessor, and I’m just not going to go through the motion of finding an 80387sx .. Assuming the PS/1 even has a socket for one (I haven’t seen it, but I didn’t look too hard).  But I’ve found it good with old era games, as there is some things that just don’t seem to cooperate just right with emulation.. And sometimes it is nice to have some real machines… Sometimes.

Windows 3.1 turns 20.

Windows 3.1 turns 20!

I still remember when Windows 3.1 was announced, and there was all the excitement in our programming class as Windows 3.1 was going to change everything.  One kid had already gotten it on launch and was all excited as it supported more resources, had better fonts for printing, and included multimedia support!  The teacher was all excited about it too, as at the time everyone loved Windows 3.0 but only if it could do more in terms of being able to run more reliably, and support more things at once.

Later, I found out later that this lucky kid had a 386 with 8MB of ram, a full MIDI setup and VGA graphics, which of course blew away my glorious 80286-16 with 1MB of ram, a 20MB hard disk (with stacker!), and CGA.  Needless to say wing commander was actually playable on his computer.

There was no denying it, Windows 3.0 had started the shift from an exclusively MS-DOS world, in which everyone was hoping and searching for a graphical way out of, to the world of Windows we know today.  Windows 3.0 established the beached, and Windows 3.1 basically won the war.

Visually Windows 3.0 and 3.1 look very similar, but Windows 3.1 builds on Windows 3.0’s success and adds in some very important technologies, not limited to:

  • OLE
  • True Type Fonts
  • Better DPMI support
  • Better MS-DOS multitasking (386 Enhanced mode only)
  • better support for SVGA adapters
  • Multimedia support
  • no more UAE box
  • common dialog boxes!
  • primitive drag & drop support
  • 32-bit disk access
  • Improved WinHelp

The only ‘down’ side that I was aware of is that Windows 3.1 dropped support for IBM PC/XT’s.  You needed an 80286 processor as Windows 3.1 ran in protected mode, which at the time it only shut out one person that I knew of.  However he was just a new motherboard away from being able to run Windows 3.1 .  Which is another point against OS/2 as Windows 3.1 used the PC BIOS for almost all hardware access, even a 286 with mostly XT guts would work, but sadly even XT’s with Intel inboard 386’s were not supported, however AT’s with inboard 386’s were.  Even Microsoft MACH 20 card owners were restricted to Windows 3.0 standard mode (after some extensive updates). Also was there ever a special version of OS/2, like how the box claims?

While many of these things seem obvious now, back then this was a big thing to include so many technologies into Windows, and the more compelling the technology people were starting to replace their MS-DOS applications with windows ones, and the ‘dream’ of spending more and more time in Windows was starting to happen.  Although for many of us this ‘dream’ was a freaking nightmare as more applications would install and overwrite system libraries, and end up with massive system instabilities. Not to mention the DLL hell that many of us still face, as even side-by-side and .net only save us from some things, even though nothing is ever perfect.

Windows 3.1 also saw the PC world transition from 16bit to 32bit with the shift of users from 80286 based computers to 80386 and 80486 based machines.  With the split from IBM with OS/2 2.0, Microsoft was pressed to keep Windows 3.1 relevant to the 32bit crowd, and there was plenty of addons for Windows 3.1 to keep things going.  Namely:

  • Winmem32
  • Win32s
  • ODBC
  • WING
  • Video for Windows
  • Winsock

I don’t think Winmem32 ever took off, as it really was just a way to allocate larger memory segments, I’m almost positive that Watcom’s Windows Extender was more popular.  Naturally these predate the ever popular Win32s, which I’ve covered before.  WING was the fast video for games that I’ve covered once more again, with WinDoom. But I’ll just state it again, that Win32s was very important for bringing the whole ‘internet’ experience to mere users as almost everything that was TCP/IP based was 32bit for the ‘rest of the world’ and Win32s brought a taste of real 32bit computing to the masses, esp for people using Mosiac and Netscape.

Winvideo was Microsoft’s answer to the ever popular Quicktime.  Not to mention this add on was to solidify Windows 3.1 as a multimedia powerhouse. Microsoft still to this day has the test avi’s available for download here, And thanks to the University of British Columbia, you can download the Video for Windows Runtime here.

Needless to say the open standard of how the Winsock DLL should work helped standardize internet applications early, esp while there were multiple competing stacks for both MS-DOS and Windows.  Ultimatley when Microsoft wrote their own it pretty much took over everything, but seeing a chance to sell another version of Windows “Windows 3.11 for workgroups” was later released, which could be extended with MS’s TCP/IP.  At the end there even was a version of IE 5 for Windows 3.1, that I remember being as somewhat poor, and even NT 3.51 users were pushed into that direction.  Not to mention it had a tendency to not want to install on machines with more than 16MB of ram. I suppose the good thing is that IE 5 (probably 3 & 4 as well) came with PPP dialers, which was good enough for the majority of users.   Microsoft even made its improved Media player 5 (beta 2), and Net Show players available for 3.1, although I’ve never used them. “Good” IE releases didn’t come until 95/NT 4.0 anyways, the retrofitted ones were just unstable and lacking.

ODBC was a major selling feature in the world of databases, as now you could write uniform code to access data from all kinds of data sources.  Imagine if you had old dbase files, and a SQL database, it would be a major pain to tie them together. However programs like Access which used ODBC could quickly and easily talk to multiple data sources, and create data reporting and entry systems.  This is how the business world got hooked on Access & Visual Basic. ODBC typically came with either database programs, or with database driver disks, like the one for SQL Server.

While Windows was becoming more and more useful, users were going insane, clamoring for a full 32bit version, which led us down the ‘short’ road to Chicago, which was originally expected some time in 1993, but instead didn’t ship until August of 1995.  Windows NT 3.1 was another contender, but again it didn’t ship until March of 1993, and it was far too resource hungry for anything serious.  This left a gap for OS/2 to fill, and around the shipping time of Windows 3.1 was OS/2 2.0 which only included a runtime version of Windows 3.0 .  Lots of people feel that the additional features to 3.0 could have been delivered via a patch, but the 3.1 release was to purposely make OS/2 2.0 obsolete right after it had been released. Even OS/2 2.1 didn’t ship until May of 1993, although it was always locked into a race with Microsoft as various add-ons would either break OS/2 for Windows requiring updates to OS/2 or even sometimes entire new releases (Warp 3.0 for Win32s for example..)

What also made Windows 3.1 popular was the so called “Microsoft Tax” where Microsoft would sell to OEM’s copies of MS-DOS and Windows 3.1 at an incredibly low price with the condition that they resell them with *EVERY* PC that they sold.  This of course was annoying to UNIX users, even NT users as they all had copies of MS-DOS & Windows 3.1 that they never needed, nor wanted.  But this strategy was pretty successful at locking out not only OS/2 from being preloaded & configured on systems, but pretty much any hope of competition.  Many people attempted to sue, and only Digital Research managed to get anything out of it, as there excellent DR-DOS product was effectively barred from the market (very few end users ever change operating systems, they typically buy new PC’s its always been that way, upgrade sales lag way behind new sales), but by the time the courts had done what they were going to do the damage had been done.

1-2-3 for $495 or Office for $459 …

Another typical bundle was Microsoft Office.  Microsoft took advantage of Lotus’s failure in the market place to deliver a graphical application (The OS/2 switch doesn’t matter, Lotus still released a text mode app in the OS/2 heyday), combined with 1-2-3’s heft price tag, Microsoft made Word, Excel, PowerPoint and their Mail product available for less than the price of 1-2-3 with a new PC.

Microsoft C/C++ 7.0 + Windows 3.1 SDK $139.00

In the end it all comes down to developers.  Something that some companies still struggle with, esp those that positioned themselves in an OS/2 type fix.  If your native tools are too expensive, too restricted, nobody will write for you, esp if you can run other peoples applications better than the native platform.  And this was not only the cause of the ‘why bother’ with OS/2 native applications, but even today you can see it with RIM and their QNX based products that run Android applications.  Combine this with other low cost compilers from Borland and it really is no wonder why everyone was programming for Windows, esp the cost of Windows was typically cheaper than licensing a single seat for any DOS Extender that required royalties.  How much of this was due to Microsoft brilliance, or the competition being bent on short term greed, it is hard to say, but IBM wasn’t taking out full page ads trying to court developers with cheap access, but rather you had to phone them up, go through some IVR’s and be ready to charge a few thousand dollars for the honor of developing for OS/2.  I still remember Watcom C/C++ 10.0 being the cheapest way to build for everything, its a shame in a way that their SQL product was so good, as Sybase snapped up Watcom, and pretty much killed the languages, but thankfully not before open sourcing them.

The quest for the holy grail

With high resolution, and color depth displays, audio cards, multimedia games like “Monty Python’s quest for the holy grail” started to appear for Windows, as programmers could now concentrate on content, as Windows provided the layer for audio/video abstraction.  While some games worked great others did not as there was a performance gap from raw MS-DOS to Windows, but tech like WinG was closing the gap.  Not to mention the device driver patch hell was being shifted from the game devs to the hardware vendors, although that race still goes on, as even today Steam still combats older drivers and tries to hand hold users into updating them.

Even the horrible shell saw some competition for improvement, there was the Workplace shell for Windows 3.1, and of course BOB.  And boy were people so happy with BOB.  Not to mention thinking that this was just some great tech, it made its way into Office, to be forever remembered as Clippy in Office 97, who was tuned down in 2000 and killed in Office 2003.  Its funny how future looking movies always go on about these animated seemingly helpful digital assistants, and yet in the real world they usually are the first thing turned off.  I even remember the whole “Chrysler New Yorker’ debacle back in the day.  Even in the show room it just went endlessly on about the door being a jar.  Maybe its just HAL-9000 backlash.

So what can be said of Windows 3.1?  It still lingers in 32bit versions of Windows 7 (Wow! or Windows on windows), and it basically tipped the world into the Win-centric place we are today, along with the office everywhere mentality.  I can’t even imagine giving someone a 1-2-3 wks file, let alone a Word Perfect document, as I’m pretty sure there are no translators anymore. Oddly enough Win64 based OS’s can’t directly run Win16 based programs, there is always emulation.

Upgrading through Windows NT; Windows NT 4.0

Windows 95 Interface – Windows NT Power

Windows NT 4.0 was without a doubt the smash through success that Microsoft had been hoping for with Windows NT.  There is no doubt that NT 4.0 was at the right time, right place for all of this to happen.

First corporate computers were finally out of the 386/486 class machines, for people to have at least a Pentium class computer in 1996 with 32MB of ram, computers had effectively caught up to something capable of running Windows NT.

The other big tipping point was that the internet was starting to gain mainstream acceptance, this meant that NetBEUI and IPX/SPX were starting to face their decline in corporate networks and being replace by TCP/IP based systems. This was a big win for Windows NT as not only did it include TCP/IP  but it could network over TCP/IP out of the box, unlike Netware. In addition Internet Explorer 2.0 shipped with NT 4.0, although even back then I don’t think anyone seriously used it, Netscape was still the king back then.  Another interesting feature was PPTP, the ability to setup VPNs, although at launch time I was still dialing directly into work with IPX/SPX.  The final ‘big’ thing was the inclusion of IIS in both Workstation & Server versions. Now it was a trivial thing to setup & deploy a web server.

Windows NT 4.0 shipped with support for the Dec Alpha, i486, MIPS and PowerPC CPU’s. The discs are super rare to find, but the original shipment of NT 4.0 had a catastrophic SMP bug that wasn’t addressed until SP1.  Almost all NT 4.0 media you will encounter has SP1 slip streamed in.  Shortly after SP1, the MIPS platform was dropped.  Before SP3 the PowerPC had been dropped as well.  The Dec Alpha survived all the way to SP6, being dropped between NT 4.0 and Windows 2000 as Compaq who had bought DEC saw the AlphaNT product cannibalizing sales of its high end Pentium systems, and sinking too much R&D money into the product.

The most obvious change from NT 3.51 to 4.0 was the user interface.  Gone was the program manager, and in was explorer.  Another big change was that the video subsystem was moved into the kernel space which resulted in significantly faster video performance.  Windows NT also included DirectX support (2.0 in the box, 3.0 with SP3) and even hardware OpenGL support for cards like the Diamond Fire GL 1000 (which was a big letdown as it couldn’t run GLQuake correctly…)

Also around the time of NT 4.0’s launch SMP capable motherboards were now starting to appear that didn’t cost an insane amount of money.  I had a Tyan Tomcat dual Pentium 100 board at the time, which was fantastic IMHO… While two CPUs don’t make things run twice as fast, they certainly are more responsive had handling a larger workload of various processes.

Windows NT 4.0 Resource Kit.

With the release of Windows NT 4.0 Workstation, the Resource kit was an excellent resource to have (OK I Know that sounds horrible… but nothing like built on NT Technology).  The number one thing was the desktop themes which were copied from the Windows 95 Plus! Pack.  This made Windows NT 4.0 feel far more like something that would be acceptable to an end user.  My personal favorite was the ‘Tropical Interlude’

Windows Desktop Update

With the release of Internet Explorer 4.0, the full downloadable version also included an option to install a Windows 98 like shell, AKA the Active Desktop.  Oddly this was left out of IE 5, 5.5 & 6.0 . Internet Explorer 3 added things like POP support to the mail client, 4.0 expanded on this with Outlook Express, Netmeeting, FrontPage express, and Microsoft Chat, the ‘comic chat’ IRC client.

 

The Option Pack

Later in   NT 4.0’s life saw the release of the “Option Pack” which was a bunch of Windows 2000 technology that was ready for release while ‘NT 5.0’ was stalling for release. This included things like the MMC (Microsoft Management Console), a SMTP Server, Transaction Server, and a stronger platform for hosting DCOM components (oh the horror!).

Besides IIS, NT 4.0 was the platform for Exchange 5.0/5.5 which pretty much gutted the old email systems that corporations relied on.  SQL Server 6.5 & 7.0 also gained quite a bit of ground for people wanting to move off expensive mainframes or midranges, heck you could even run it on your own workstation!

taskman!

One of my favorite and small addition to NT 4.0 was the new task manager. Gone was the simple list of programs running but now you could quickly view the CPU level, see who the hog was without resorting to perfmon, but you could easily kill processes, change their priority and affinity.

It is hard to imagine (impossible really) to imagine Windows NT without this great feature.

 

During Windows NT 4.0’s lifetime patching had started to become somewhat of a problem.  While there were 6 major service packs, and one security rollup, there were tonnes of vulnerabilities that were found while NT 4.0 / IIS 4.0 were actively supported, and needed to be corrected via hotfixes. Starting with IE 5.0 there was a ‘windows update’ feature which could then scan the OS, and determine what fixes needed to be applied.  While on the one hand there were constant updates, and no real good automated way to push them, there was at least a way to finally get updates onto NT 4.0 systems. Even later with SUS/WSUS this is something that IT shops still struggle with.

As far as application compatability goes, much to my amazement ALL of my applications are continuing to work, this includes Excel 3.0, MS-Word 5.5, SQL Server 4.21 and Doom 1.1 . I should also add that NT 4.0 added something really cool, pinball! Although all I ever did see is people addicted to solitaire. And of course WinDoom works GREAT as well!  One thing to point out is though NT 4.0 can still run OS/2 16bit text based exe’s there was an addon pack to run 16bit PM applications for 4.0.  Also by this point the HPFS filesystem had been removed from Windows NT.  While it was possible to put 3.51’s pinball.sys driver into a 4.0 system, and restore HPFS functionality, even us diehard OS/2 fans had given up at this point and either went Linux or NT.

Pinball!

Another great thing that was added into NT 4.0 was Hyperterminal.  While the old Windows 3.0 terminal had been ported to the Win32 subsystem, and was present in NT 3.1-3.51 it was finally nice to get something in the box that supported ANSI & Zmodem.. even if it was frankly too little too late, as everything was going internet.

And speaking of the internet in late 1996 we saw the release of Office 97 and it’s “internet centric” thinking.  One interesting thing is that Office 97 leaves my Excel 3.0a install alone. And much to everyone’s enjoyment Office 97 came with clippy! .. Who’s removal in Office 2003 was a selling feature.  Also included in Office 97 was Outlook 97, the first real email client for Windows. Much like the ancient Office 4.2 for Windows NT, there were versions of Write 97 & Excel 97 for the Dec Alpha… Although for the ‘full’ office suite I just ended up running !FX32 to run i386 Win32 binaries on the Dec Alpha.

Windows NT 4.0 ended up being available in a Terminal Server edition which would support multiple users on special Windows Terminal appliances, or old workstations.  There also was an enterprise version which could use eight physical processors, and allow programs to access 3GB of ram directly, and page memory out to more ram to allow bigger working sets.  It was like LIM EMS it didn’t get around that arrays couldn’t directly be larger than 3GB.  Already in 1998 we were starting to actually hit the physical limitations of 32bit computing.

Though 4.0 was a major release there were several things lacking in Windows NT 4.0, such as good PCMCIA support (it came from many 3rd parties) USB support, power management, and multiple displays.  All of this was addressed in Windows 2000.

Video of Fortran Dungeon…

I forget how I got linked back to this, but I figured in the new year vogue, I’d make a video to show how … convaluted it is to build dungeon via f2c.


As you can see, first I have to compile f2c as a Windows QuickWin exe as the MS-DOS version just runs out of memory without some kind of DOS Extender, and Windows 3.0 makes a suitable extender..

Next, I had to make a ‘list’ program that then exectued f2c against the Fortran converting them to C.  Then finally I just compile the libf2c components, then statically add in the Dungeon source that was just converted.  There is some ‘out of range’ case statement, not sure why, but it works… as you can see.

It builds/runs in 286 enhanced mode and beyond..  Obviously the more memory the better.

This was on Qemu 0.15.0 with MS-DOS 4.01 & Windows 3.0

Running Qemu as a Windows service …

Long story short I’m doing some work with a network that suffers a lot of ‘you can’t get there from here’.  They’ve given me VPN access and yet even the VPN cannot get to a lot of stuff.

The solution for them is to use this old server and ssh out from there to the rest of everything.  Which for the most part works fine, but if more than 2 people need to leapfrog suddenly you are waiting in line, or constantly knocking people off.

So, I figured I’d do something different, install a QEMU virtual machine on the server during my allotted hour, and then launch it as a service so that I could leap in/out through the VM leaving the console free.

While I am going to add Qemu as a service, it is still somewhat stealthy as I don’t need device drivers, and I can run it nested as I know this machine is slated to be migrated to VMWare ESX.  And the best part of that is that it’ll continue to run.

So how do we set this kind of thing up?

The first thing you’ll need is srvany.exe instsrv.exe which both can be found in the Windows 2003 resource kit. (what it used to look like)

Installation is very straightforward, just remember to use complete paths for your Qemu, BIOS, and disk files.  Installation goes like this from the command line:

InstSrv qemu c:\qemu-0.15.0\srvany.exe

This will create a service entry named Qemu, which will in turn kick off the srvany executable from the resource kit.  Now I know what you are thinking, what about Qemu?  Well we have to specify that using regedit.  Also remember that because you are going to run this as a service you don’t want the SDL display popping up and scaring some poor hapless user.  So the first thing I’d recommend is to work out the flags that you want to start with.  Something like this:

c:\qemu-0.15.0\qemu -L c:\qemu-0.15.0\qemu\pc-bios -hda mydisk -net nic -net user -redir tcp:2222::22 -vnc w.x.y.z:2223

This will redirect tcp port 2222 into the VM for ssh, and sits the VNC display on port 2223 …

So we fire up regedit and navagate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Qemu

There we add a new key “Parameters”.  Then add an ASCII key of “Application” then just paste in all of the qemu flags as mentioned above (or changed as needed by you).

Then you can simply start/stop the thing using the net start/net stop.

I suppose this is a little subversive (lol) but sometimes you’ve got work to do and the best way through it to piggyback on someone else’s computer.  Also I really fail to see the ‘wisdom’ in creating ACLs that only permit you to access your routers/switches from your desktop when you could easily *NOT* be in the office.  Or this guy just likes the excuse of not being able to work from home.

Anyways not to ramble but that’s how I ‘fixed’ the issue without ruffling too many feathers.

Idling under MS-DOS 4.01 & Windows 3.0

Well I was playing some more with my MS-DOS setup, and the annoying thing is that it doesn’t idle worth anything.

And of course running old DOS doesn’t help that most everything needs MS-DOS 5.0 or higher.

But then I found WQGHLT, which is a VXD to support idling under Windows 3.1.  And happily it works on Windows 3.0 …

The only pain is that running MS-DOS applications kills the CPU (again).  Which means that the DOS programs themselves need to idle.  And yes I did check the ‘detect idle’ but it seems that it doesn’t do what I’d hope.

Maybe it’s just the software, I should try some more and see what I get.