std.string and std.algorithm: what to do?

Georg Wrede georg.wrede at
Sat May 16 20:15:19 PDT 2009

Simen Kjaeraas wrote:
> Daniel Keep wrote:
>> WinXP doesn't support symbolic links.
> This is not true. NTFS 5.0+ (Windows 2000+) has support for symbolic
> links, they're just not readily available to the average user. They
> are known as 'junction points' or 'reparse points'.
> There are certain gotchas, and Explorer has no idea how to handle
> them intelligently, but they exist and they work.
> More here:

"and they work" may be somewhat optimistic.

I read 30% of the article. You can expect the symliks to work, but as 
with most Windows stuff that's even two inches off the beaten path, it 
will work until the day you really need it.

The more they seem to work, the more you'd of course use them. But come 
the day you need to restore your backup, to copy a file hierarchy, or 
somethig else, and *poof*, you'll have garbage all over the place. And 
no warning about it.

Microsoft has this uncanny ability to fix everything with "slap-on 
code". Now, their real forte is to get it to work in the first place, 
whereas any normal coder would hopelessly tangle themselves within the 
first five minutes.

But it only works in demos and as long as you follow some existing 
guidelines without *ever* doing something new, based on a (or actually, 
*the*) obvious theory of how it works.

As an opposite, the entire *point* of the Unix user experience, is that 
once you have an understanding of the workings of the system, you can 
create new idioms, new patterns of work, and new ways to use the entire 
system -- without ever fearing that this would cause mysterious behavior.

Just an example: MS-DOS had pipes already when regular PCs didn't have 
hard disks. One could watch grand demos in trade shows, where the guy 
piped stuff to sort, to find (their sorry version of grep), to more, and 
to custom made filters.

What nobody told the user (until he had already bought a PC with MSDOS, 
and he had tried to actually use the feature, unsuccessfully, and then 
called the $10-a-minute hotline), is that the pipes were implemented so 
that the first program writes the entire output into a temporary file on 
the floppy, and once it has finished running, the next program then 
opens the file as input.

Now, with the 0.00036 GB floppies of the day, it's not hard to see why 
nobody ever got any real pipe work done.

Pipes were an integral part of Unix way before that time. And still, the 
Microsoft sales "persons" made all idiots believe Microsoft freaking 
*invented* the concept. (I've actually witnessed this in trade shows.)

More information about the Digitalmars-d mailing list