Street Reflections

I like light dappling things.

Street Reflections

I have a version of this which doesn't have a person in it. I'm not quite sure which one I prefer, but my gut went with this one...

Blue Trees

Blue trees.

Yes, someone really did paint these trees blue.

Blue Trees

No idea why, and my current theory is that people are crazy.

Cranes with contrail

Cranes with Contrail

The thing people don't do often enough in cities...

Look up.

I happened to notice this pleasing composition, which was gone moments later.

It's part of a new Flickr set called Cranes. It only has three photos in it today, but I get the feeling that London will provide plenty more...

Wasted Neurons Wednesday - CTL3DV2.DLL and DLL hell

In the beginning, Windows was remarkably flat.
Visually, that is.
It was hard to tell what could or couldn't be clicked on, as the screen lacked visual clues to help guide you. This was a particular problem for buttons, toolbars and other controls.
(I could insert a snarky comment here about repeating the mistakes of history...)

Then came CTL3DV2.DLL.
It changed everything.

Windows 3.0 was the first version to get some real 3D going, and Windows 3.1 continued the trend.

But there was a problem.
And that problem was that the library which produced many of the 3D controls - CTL3DV2.DLL - had gone through quite a few versions.

Everyone wanted 3D controls. So all programmers and companies used CTL3DV2.DLL. But in a time before the internet, a program was transferred by floppy disk - and that floppy disk could be two or three years out of date by the time someone installed the program.
And there were no real standard install programs back then - it was early days yet. Most installers simply copied mindlessly, rather than checking file versions and behaving themselves. This simply made the problem much worse...

So CTL3DV2.DLL was continually being overwritten with old versions. Which would usually be unnoticed until you ran a program that needed the later version. At which point that program would complain and fail to run (if you were lucky) or crash (if you were less lucky).

Funnily enough, this sucked.
And weirdly enough, despite being a huge problem for Windows 3.0 - released in 1990 - it wasn’t actually fixed until Windows Vista - released 2007.

And it was a problem. A big enough problem that I remember computer magazines putting CTL3DV2.DLL on their coverdisks regularly, so that you’d always have an up-to-date copy handy. And these were 720Kb/1.44Mb floppies, so space was precious back then - that’s how big a problem it was!

The worst of it was when you had two programs, both of which had diligent programmers - and both of which insisted on a specific, different version.

But sometimes you’d get lucky there - Windows had a specific search order for loading a DLL that didn’t specify a path, and that order was “the directory the application is in, followed by the Windows system directory, followed by the path”.
So you could, sometimes, copy the required DLL version into the application’s directory, and it would magically work.
(Until it found some other reason to break. And as this was Windows 3.x, that usually didn’t take long...)

This is an odd subject, because it touches on so many wasted neurons. The changes to GUIs over the years. The woefully inadequate protections to system files that earlier versions of Windows offered. The lack of forward planning in the Windows architecture. Early installers, some of which were shockingly bad...
DLL Hell was a real place. I’ve seen it. Lived there. Been damned there.
The sad part is... we got so used to it!

Wasted Neurons Wednesday - 4DOS

Whilst writing about Utilities last week, the fondest memory wasn't one of the best known.
Well, kind of.
4DOS was a replacement for COMMAND.COM. Distributed as shareware, an older version was also licensed to Symantec as NDOS, which might be more familiar for some people.

The reason I'm so fond of it is that it made MS-DOS usable on a daily basis.
Remember, this was before Windows. No GUI here. So COMMAND.COM was your interface with DOS, making 4DOS the equivalent of replacing Program Manager or Explorer in Windows.

So what did 4DOS do that was better?
Everything.

  • It had a decent command history, better command line editing, and even context-sensitive help if you hit F1.
  • It had a huge range of internal commands, including many borrowed from Unix shells such as pushd/popd.
  • It ran batch files faster, and had plenty of built-in variables and functions to make scripting easier.
  • It could do better wildcard handling, and allowed commands like select - which would show a file list and allow you to pick specific files that you might never get a reasonable wildcard for, and it would then pass those as the arguments to a command.
  • It gave MS-DOS psuedo-long-file-names years before Windows 95 arrived.
  • It could load itself into higher memory areas - or even swap itself to disk - to allow more memory for programs than COMMAND.COM could allow.
  • It had a decent text viewer built in, and could colourise directories.
  • It could push keystrokes into programs when you run them to help automation.
  • It allowed aliases (UNIX style). And you could also associate files to programs, so you could “run” data files from the command prompt.
  • And there’s probably loads I’ve forgotten to mention...

All in all, 4DOS was one heck of a piece of software.

I remember the psuedo-long-file-names best of all, because I wrote a small program to interact with that.
Did you ever see a file called DESCRIPT.ION? Possibly not, as it was usually hidden. But if you did and you opened it, you'd see that it was just a list of filenames followed by descriptions.
WordPerfect allowed you to store long names within a document, which you could see in their own file manager. But you couldn't see them from the command prompt - just the good old 8.3 filename.
But I was using 4DOS, so if I could just synchronise the contents of the WordPerfect files with the DESCRIPT.ION file... So I did a bit of reverse engineering on my documents, and fired up my compiler and started writing BASIC code.
Soon wpname.exe existed, and I had long filenames. Kind of.
Why wait for Microsoft to deliver a feature, eh?

That was the thing about 4DOS - it was very open about how it did things, with all its configuration and data in text files. So people swapped aliases and tips and tricks through BBSes, and it had a real cult following behind it.
In many ways, 4DOS was one of the greatest utilities that you could get for MS-DOS.

I did eventually move on to 4NT, which was the Windows NT (and later) equivalent. But now I’m using Linux, and at work we have PowerShell on all our Windows servers.
4DOS actually holds up quite well compared with those technologies.

But I’m not running DOS anymore, so 4DOS is basically just so many wasted neurons...

Syndicate content Syndicate content