COMPGROUPS.NET | Search | Post Question | Groups | Stream | About | Register

### DOS, how long?

• Email
• Follow

Will windows keep DOS in the future and for how long?

I have already trouble running DOS programs on WinXP!

If DOS was removed from the future windows versions, would it be possible to
emulate it with a program so ones old DOS programs would still work?


 0
Reply core99 (35) 10/5/2003 5:43:14 AM

See related articles to this posting

On Sun, 5 Oct 2003 07:43:14 +0200, "machine99" <core99@delite.dk> wrote:

>Will windows keep DOS in the future and for how long?

Nobody knows, but based on the evolutionary nature of software, probably.

One exception: as far as I know all remnants of DOS have been removed in
Windows CE.

But there is also a question of exactly what "DOS" means.

>I have already trouble running DOS programs on WinXP!

Try running DOS programs in DOS (install separate), or use Windows
programs in Windows  --  that should help.

>If DOS was removed from the future windows versions, would it be possible to
>emulate it with a program so ones old DOS programs would still work?

That's how it works in 32-bit Windows (9x, ME, NT 4.0, 2000, XP).

The emulation software is called WoW (Windows on Windows), and also takes
care of running old 16-bit Windows programs under 32-bit Windows.


 0
Reply alfps (7389) 10/5/2003 6:18:18 AM

Dnia Sun, 5 Oct 2003 07:43:14 +0200, machine99 pope�ni�(a):

> Will windows keep DOS in the future and for how long?
>
> I have already trouble running DOS programs on WinXP!
>
>
> If DOS was removed from the future windows versions, would it be possible to
> emulate it with a program so ones old DOS programs would still work?

DOS is so old and so buggy that even MS don't want to support it - they even
stopped suppoerting Win95! I think the only way is to install pure DOS (i.e.
6.22) and use DOS software on it, not inside modern OS...

btw remember to also use old computers for DOS
--
Zodiaq -- "Blizny przypominaja nam, ze przeszlosc byla rzeczywista"
...: DL? UL? =>> Monitoreq.exe :.=>.:  3W http://www.zodiaq.w.pl :..
...: @: zodiaq@astercity.net :.: O2 zodiaq@tlen.pl :.: GG: 316452 :.

 0
Reply zodiaq (3) 10/5/2003 7:25:39 AM

machine99 wrote:

> Will windows keep DOS in the future and for how long?
>
> I have already trouble running DOS programs on WinXP!
>
>
> If DOS was removed from the future windows versions, would it be possible to
> emulate it with a program so ones old DOS programs would still work?

DOS program support is still there, but I wouldn't rely on it were I
you.  You really should be looking to upgrade your DOS programs to more
recent Windows versions, or shift to another OS or whatever (sounds like
Windows is where you prefer to be though).

Of course you could always get hold of a PC emulator (VMWare, or maybe
one of the open-source efforts) and run DOS on that.  If that works (not
necessarily assured, but likely) then you'll be able to run your DOS
apps even if DOS support is removed from Windows in future.

--
Corey Murtagh
The Electric Monk
"Quidquid latine dictum sit, altum viditur!"


 0
Reply emonk (360) 10/5/2003 7:52:41 AM

machine99 wrote:

> Will windows keep DOS in the future and for how long?

Who knows?

>
> I have already trouble running DOS programs on WinXP!

If DOS programs are important to you, get a cheap machine from the local
computer fair, and put MS-DOS on it. If you used DOS before Win95 days, you
almost certainly have at least one spare legal licence for it kicking
around, and probably a full set of installation floppies too.

> If DOS was removed from the future windows versions, would it be possible
> to emulate it with a program so ones old DOS programs would still work?

That's effectively what Windows does now. But there's no better emulator for
DOS than DOS itself.

--
Richard Heathfield : binary@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton

 0
Reply dontmail (1885) 10/5/2003 8:17:42 AM

In news:9b13l5e28m9h.1l82yak823fz5.dlg@40tude.net, Zodiaq typed:

> DOS is so old and so buggy that even MS don't want to support it -

Buggy? Mwah. Broken and lack of functionality? Yes.

> they even stopped suppoerting Win95! I think the only way is to
> install pure DOS (i.e.
> 6.22) and use DOS software on it, not inside modern OS...
>
> btw remember to also use old computers for DOS

Why? It still runs ok on modern computers.

--
www.zenobits.com

 0
Reply klinz3 (30) 10/5/2003 9:43:41 AM

1) Clean DOS-programs are working quite fine in XP. Even within a LAN in
multiuser mode accessing databases on a server. A lot of problems with the
execution of DOS jobs in W2k have actually been fixed in XP! Only drawback:
Printers have to be connected by net use commands within a batch-file, there
is no way like in Windows 9x to assign an LPTn: to them. But, that's not

2) So, you don't need any old DOS-machine to execute DOS programs! However,
some old interpreters and other programs will not run in Windows XP. But
many DOS programs f.i. compiled with VBDOS 1.0 or PDS 7.1 or other are
running quite OK.

3) The 'DOS'-prompt just SEEMS to be a DOS-prompt. Actually, it is a console
prompt of the 32-bit console within Windows. From that prompt, you can start
all types of programs, including windows exes using the GUI-system.

4) As you probably know, you can write 32-bit Windows-programs without using
the GUI. These programs look and taste like DOS-programs, but aren't. They
are called CONSOLE-programs and can actually use the full memory of the
computer. Console programs have - they are 32-bit - full access to the
Windows API. Example: Power Basic for Windows plus a bunch of other
programming languages, who do not take use of the GUI. Console programs are
not slowed down by the GUI-system. Really fast Windows-programs run in
console mode if the graphics part is unimportatnt.

5) In XP, like NT or W2k, DOS programs are executed within a DOS-emulator
and may run relatively slower than in Windows 9x, where the
DOS-configuration is done during startup of the Windows system. Thus, you
have to fiddle with CONFIG.SYS and AUTOEXEC.BAT in Windows 9x in order to
get enough free space for your DOS-program. Windows ME is an exception,
there it is near to impossible to get it well-configured for DOS jobs. XP is
different. It comes out of the box with 625k execution space for DOS jobs.
CONFIG.NT and AUTOEXEC.NT in \windows\system32. You can even have SETVER
working ..

6) Afaik, there's no danger of losing the DOS-mode in a future desktop
Windows. Thousands and thousands of DOS programs are still in use, some of
them, because they are such big beasts, could be converted to GUI only by
real big investments of time and manpower.

7) Windows support of dot-matrix printers is poor, but lots of big companies
need their multi-part forms to be printed by such printers. DOS-programs
support such printers in a very oldfashioned but viable way, even within a
modern LAN using Windows XP computers. Windows programming languages are
using the windows drivers of the printers and never take care of a simple,
but fast printing dot-matrix printer or line printer. In fact, you have to
resort to utilities like PRINT DIRECT in order to have fast printing
dot-matrix printers within a LAN.

"machine99" <core99@delite.dk> schrieb im Newsbeitrag
news:3f7faf72$0$24687$edfadb0f@dread14.news.tele.dk... > Will windows keep DOS in the future and for how long? > > I have already trouble running DOS programs on WinXP! > > > If DOS was removed from the future windows versions, would it be possible to > emulate it with a program so ones old DOS programs would still work? > > >   0 Reply gpredl (3) 10/5/2003 9:46:37 AM On Sun, 5 Oct 2003 07:43:14 +0200, "machine99" <core99@delite.dk> wrote: >Will windows keep DOS in the future and for how long? > >I have already trouble running DOS programs on WinXP! > > >If DOS was removed from the future windows versions, would it be possible to >emulate it with a program so ones old DOS programs would still work? > > There is and always will be one use for DOS. For recovering the system when Windows becomes too corrupt to boot. Of course MS may not allow it to support all modern filesystems, but I suspect IBM will.   0 Reply olczyk2002 (317) 10/5/2003 11:38:30 AM Dnia Sun, 5 Oct 2003 11:43:41 +0200, KLinZ pope�ni�(a): > Why? It still runs ok on modern computers. Yeah, DOS runs but software written for it nor really... specially some need special "upgrades" to deal with nowadays faaast CPUs... -- Zodiaq -- "Blizny przypominaja nam, ze przeszlosc byla rzeczywista" ...: DL? UL? =>> Monitoreq.exe :.=>.: 3W http://www.zodiaq.w.pl :.. ...: @: zodiaq@astercity.net :.: O2 zodiaq@tlen.pl :.: GG: 316452 :.   0 Reply zodiaq (3) 10/5/2003 5:32:17 PM On Sun, 5 Oct 2003, KLinZ wrote: > > In news:9b13l5e28m9h.1l82yak823fz5.dlg@40tude.net, Zodiaq typed: > > > > DOS is so old and so buggy that even MS don't want to support it - > > Buggy? Mwah. Broken and lack of functionality? Yes. Broken? Mwah. Lack of functionality? Yes. DOS was great for what it did. The difference between DOS and modern operating systems, IMHO, is that DOS assumed the user knew what he was doing. It didn't bother with "memory protection" or "segfaults" or any of that stuff. It just said, "Hey, here's an interface to the machine. Play with it." I liked that. These days, with multi-user systems, that style has gone out of fashion. Even Windows, which in the vast majority of cases is not being used as a multi-user OS, has all sorts of barriers thrown up to keep you from monkeying with the computer. This means that a lot of programs that *expected* to be able to monkey with the computer simply don't work on Windows machines. > > they even stopped supporting Win95! I think the only way is to > > install pure DOS (i.e. 6.22) and use DOS software on it, not > > inside modern OS... > > > > btw remember to also use old computers for DOS > > Why? It still runs ok on modern computers. Depending on your definition of "modern," yes. But very many DOS programs have hardware dependencies, such as clock speed, scan rate, memory size and layout, sound card dependencies, requiring the ability to modify certain memory locations... stuff like that is extremely important to DOS games and demos, although probably not to database programs :-) On the other hand, Windows, *nix, and MacOS have plenty of good database programs, but precious few good games or demos. ;-) -Arthur   0 Reply ajo (1601) 10/5/2003 6:39:29 PM Hey, a fast computer has nothing to do with DOS itself, so what? "Zodiaq" <zodiaq@astercity.net> schrieb im Newsbeitrag news:1bcw5lr7yv9q0.kcv8yxdd9clj.dlg@40tude.net... > Dnia Sun, 5 Oct 2003 11:43:41 +0200, KLinZ pope�ni�(a): > > > Why? It still runs ok on modern computers. > > Yeah, DOS runs but software written for it nor really... specially some need > special "upgrades" to deal with nowadays faaast CPUs... > > -- > Zodiaq -- "Blizny przypominaja nam, ze przeszlosc byla rzeczywista" > ..: DL? UL? =>> Monitoreq.exe :.=>.: 3W http://www.zodiaq.w.pl :.. > ..: @: zodiaq@astercity.net :.: O2 zodiaq@tlen.pl :.: GG: 316452 :.   0 Reply gpredl (3) 10/5/2003 6:44:19 PM TLOlczyk wrote: > On Sun, 5 Oct 2003 07:43:14 +0200, "machine99" <core99@delite.dk> > wrote: > >>Will windows keep DOS in the future and for how long? >> >>I have already trouble running DOS programs on WinXP! >> >> >>If DOS was removed from the future windows versions, would it be possible to >>emulate it with a program so ones old DOS programs would still work? >> > > There is and always will be one use for DOS. For recovering the system > when Windows becomes too corrupt to boot. Any Windows OS based on WinNT (ie: 2K, XP, 2K3) won't have a 'boot to DOS' option unless it was installed with multiboot over a DOS installation. I guess you /could/ boot from a DOS disk, but that's not going to be terribly useful to you if you're running full NTFS partitions... unless you have the DOS NTFS read/write drivers, and even then it's dodgy. The recovery console is not DOS. Nor is the shell that the boot-from-CD OS installer runs on top of. They may be character mode, at least in part, but they are not DOS. > Of course MS may not allow it to support all modern filesystems, > but I suspect IBM will. MS never bothered to write support for non-FAT filesystems into DOS. Even CDs are handled with a translation layer (MSCDEX) that translates. -- Corey Murtagh The Electric Monk "Quidquid latine dictum sit, altum viditur!"   0 Reply emonk (360) 10/5/2003 7:48:34 PM > >I have already trouble running DOS programs on WinXP! > it would appear programmers still do need DOS to do their work. Very often when I do my C++ hw, the compiler, if not the computer itself, crashes. However, if i exit windows and do the work in DOS nothing happens. certainly its not convenient to use DOS editors instead of windows IDEs to do C++ using Borlands 5.5 or digital mars or Mingw, however, there are lots of IDEs which can use these compilers. MinIlde seems to be good for Borland 5.5, what are some other good IDEs for it? -------------------------------------------------- remove *batSPAM* to e-mail me --------------------------------------------------   0 Reply developwebsites (87) 10/6/2003 4:50:46 AM On Mon, 06 Oct 2003 08:48:34 +1300, Corey Murtagh <emonk@slingshot.co.nz.no.uce> wrote: >MS never bothered to write support for non-FAT filesystems into DOS. >Even CDs are handled with a translation layer (MSCDEX) that translates. Wininternals does.   0 Reply olczyk2002 (317) 10/6/2003 5:23:16 AM "machine99" <core99@delite.dk> wrote in message news:<3f7faf72$0$24687$edfadb0f@dread14.news.tele.dk>...
> Will windows keep DOS in the future and for how long?

'real' DOS lay underneath Windows 95/98/Me but not NT4/2000/XP.   The
NT core Windows versions emulate DOS in some fashion and support it
that way.   You can run most DOS software under 2000/XP except where
those programs attempt to directly access hardware such as a VGA card.
Hence many DOS games won't work - but surprisingly many will given
the right support apps (search for DOS games and Windows XP to find
some examples)

It's an uphill struggle though...

DOS software was very far reaching though, dropping all support today
would be a bad move, two or three years from now though...

> If DOS was removed from the future windows versions, would it be possible to
> emulate it with a program so ones old DOS programs would still work?

In addition to the fair attempt 2000 and XP make, consider running
real MS-DOS in a 'virtual' machine - VMWARE or Bochs.   Also,
emulators like DOSemu can help.

MS-DOS is a really old operating system, it's appeal being the range
of old applications, the very modest hardware requirements and the
very 'thin' interface (i.e. you can get at hardware quickly wihout
needing to navigate the protections necessitated in Windows, Linux
etc)

I personally find DOS under Windows 9x to be good enough.  If you like
to dual boot or feel like buying an older machine consider that, or
MS-DOS istself or free alternatives like DR-DOS and FreeDOS.

 0
Reply gswork (648) 10/6/2003 7:26:48 AM

The reason that I'm asking is that I'm programming a space game and DOS
seems much simpler to me. Under Windows XP it runs as a fast as DirectX.

The problem is, will DOS keep up with DirectX in future windows versions?


 0
Reply core99 (35) 10/6/2003 7:38:13 AM

GP wrote:

> Hey, a fast computer has nothing to do with DOS itself, so what?

Not with DOS itself, but with a lot of DOS programs. If your program is
e.g. compiled with one of those old Borland compilers, there is IIRC
some kind of timing loop that overflows and thus makes the program
crash at startup on computers that are "too fast".


 0
Reply ramagnus (3487) 10/6/2003 11:23:37 AM

Yes and no.

Yes, as long as you're comparing speed without any hardware 'tricks'. Any
down things. DOS runs your programs directly on the hardware. Only a few
'brakes' are built in.

No, if your program contains a lot of fast changing graphics and your
program, together with DirectX is able to use those special functions
available within graphics cards. This may make quite a difference ..

"machine99" <core99@delite.dk> schrieb im Newsbeitrag
news:3f811be6$0$24723$edfadb0f@dread14.news.tele.dk... > The reason that I'm asking is that I'm programming a space game and DOS > seems much simpler to me. Under Windows XP it runs as a fast as DirectX. > > The problem is, will DOS keep up with DirectX in future windows versions? > >   0 Reply gpredl (3) 10/6/2003 11:49:35 AM Rolf Magnus wrote: > GP wrote: > > > Hey, a fast computer has nothing to do with DOS itself, so what? > > Not with DOS itself, but with a lot of DOS programs. If your program is > e.g. compiled with one of those old Borland compilers, there is IIRC > some kind of timing loop that overflows and thus makes the program > crash at startup on computers that are "too fast". *cough!* Windows 95 *cough!* :-) Installed beautifully, crashes on startup! I never had a problem running Win95 on a 500MHz P3, but when I installed it on a 1.5GHz P4 this timing bug bit me! (so I upgraded to 98SE which doesn't have the flaw) For anyone interested: http://www.microsoft.com/windows95/downloads/contents/wurecommended/s_wuserv icepacks/amdpatch/default.asp?site=95 Don't let the title of AMD-K6-2/350 put you off; it's suitable for /all/ high-speed Intel/AMD CPUs. Just my �0.01. Stephen.   0 Reply null35 (27) 10/6/2003 1:51:01 PM TLOlczyk writes: > On Mon, 06 Oct 2003 08:48:34 +1300, Corey Murtagh > <emonk@slingshot.co.nz.no.uce> wrote: > > >MS never bothered to write support for non-FAT filesystems into DOS. > >Even CDs are handled with a translation layer (MSCDEX) that translates. > Wininternals does. So the statement you are replying to is wrong? Or what??   0 Reply r124c4u1022 (2303) 10/6/2003 2:11:30 PM "machine99" <core99@delite.dk> wrote in message news:3f811be6$0$24723$edfadb0f@dread14.news.tele.dk...
> The reason that I'm asking is that I'm programming a space game and DOS
> seems much simpler to me. Under Windows XP it runs as a fast as DirectX.
>
> The problem is, will DOS keep up with DirectX in future windows versions?

The last time I wrote a game the Windows/DirectX portion of it was only
about 2% of the code. (Main timing loop and some overhead - mostly
cookbook stuff, not rocket science.) Since the game was all raster graphics
there was no need to get into DirectX's rendering functions, etc. We just
created a couple of video pages for page flipping and did our own image
copying (faster than what DirectX offered at the time).

If I were you, I'd bite the bullet and spend the week or so it takes to
learn how to get images to the screen in Windows. There's plenty of
code out there you can crib from. -Wm


 0

"machine99" <core99@delite.dk> wrote in message news:<3f811be6$0$24723$edfadb0f@dread14.news.tele.dk>... > The reason that I'm asking is that I'm programming a space game and DOS > seems much simpler to me. Under Windows XP it runs as a fast as DirectX. > > The problem is, will DOS keep up with DirectX in future windows versions? DOS games are often fast as a result of their direct hardware access and the fact that they can 'take over' the meagre operating system, insofar as they do not need to be 'good citizens' like a well written multitasking app that typically sits within the more demanding OSes of today. However i wouldnt make a DOS game for general distribution these days, for fun yes, for the retro/freedos/drdos scene yes, but not for the mainstream folk. If you want something that approaches the simplicity of DOS but sits happily in Windows (by using DirectX) do consider a library like Allegro or SDL. I still use direct VGA programming for quick tests and fun now and then, but i wouldn't for an application i intended for general consumption. It's up to you...   0 Reply gswork (648) 10/6/2003 3:28:42 PM > DOS games are often fast as a result of their direct hardware access > and the fact that they can 'take over' the meagre operating system, > insofar as they do not need to be 'good citizens' like a well written > multitasking app that typically sits within the more demanding OSes of > today. > > However i wouldnt make a DOS game for general distribution these days, > for fun yes, for the retro/freedos/drdos scene yes, but not for the > mainstream folk. > > If you want something that approaches the simplicity of DOS but sits > happily in Windows (by using DirectX) do consider a library like > Allegro or SDL. But isn't Allegro DOS based? Would it still run under a non-DOS windows? > I still use direct VGA programming for quick tests and fun now and > then, but i wouldn't for an application i intended for general > consumption. It's up to you... I'm ten years too late, that's the problem :]   0 Reply core99 (35) 10/6/2003 3:39:28 PM TLOlczyk wrote: > On Mon, 06 Oct 2003 08:48:34 +1300, Corey Murtagh > <emonk@slingshot.co.nz.no.uce> wrote: > >>MS never bothered to write support for non-FAT filesystems into DOS. >>Even CDs are handled with a translation layer (MSCDEX) that translates. > > Wininternals does. And is that built into DOS? No. Is it produced by Microsoft? No. Your point? -- Corey Murtagh The Electric Monk "Quidquid latine dictum sit, altum viditur!"   0 Reply emonk (360) 10/6/2003 9:50:32 PM machine99 wrote: >>If you want something that approaches the simplicity of DOS but sits >>happily in Windows (by using DirectX) do consider a library like >>Allegro or SDL. > > But isn't Allegro DOS based? Would it still run under a non-DOS windows? Allegro has been built for a number of targets, including DOS. If you use the Windows-targetted libs then there is no requirement that Windows support DOS. >>I still use direct VGA programming for quick tests and fun now and >>then, but i wouldn't for an application i intended for general >>consumption. It's up to you... > > I'm ten years too late, that's the problem :] There's a lot more to learn these days. Think of it as a challenge :) -- Corey Murtagh The Electric Monk "Quidquid latine dictum sit, altum viditur!"   0 Reply emonk (360) 10/6/2003 9:55:41 PM In article <Pine.LNX.4.58-035.0310051430440.25470@unix48.andrew.cmu.edu>, "Arthur J. O'Dwyer" <ajo@nospam.andrew.cmu.edu> wrote: >Depending on your definition of "modern," yes. But very many >DOS programs have hardware dependencies, such as clock speed, >scan rate, memory size and layout, sound card dependencies, >requiring the ability to modify certain memory locations... >stuff like that is extremely important to DOS games and demos, >although probably not to database programs :-) On the other >hand, Windows, *nix, and MacOS have plenty of good database >programs, but precious few good games or demos. ;-) Windows is the *primary* target of games for desktop computers, and nowadays they tend to work without mucking about with config files or re-booting. The tricks that were done with DOS are no longer necessary or relevant. Gerry Quinn -- http://bindweed.com Kaleidoscopic Screensavers and Games for Windows Download free trial versions New screensaver: "Hypercurve"   0 Reply gerryq2 (435) 10/7/2003 9:57:21 AM "machine99" <core99@delite.dk> wrote in message news:<3f818cb1$0$24722$edfadb0f@dread14.news.tele.dk>...

> > If you want something that approaches the simplicity of DOS but sits
> > happily in Windows (by using DirectX) do consider a library like
> > Allegro or SDL.
>
> But isn't Allegro DOS based? Would it still run under a non-DOS windows?
>
> > I still use direct VGA programming for quick tests and fun now and
> > then, but i wouldn't for an application i intended for general
> > consumption.  It's up to you...
>
> I'm ten years too late, that's the problem :]

Being out of date is fun!   I still use a variety of tools dating from
1989 (TP5.5!) up to the present (Delphi 7) and plenty in between
(various!)

It was only about 7-8 years ago when direct VGA programming under
MSDOS was *how* you did game graphics, now it's all DirectX 8 and 9!
It's a fast moving field.

 0
Reply gswork (648) 10/7/2003 1:00:07 PM

"gswork" <gswork@mailcity.com> wrote in message
> Being out of date is fun!   I still use a variety of tools dating from
> 1989 (TP5.5!) up to the present (Delphi 7) and plenty in between
> (various!)

I was delighted recently to find out my 10+ year old copy of
Deluxe Paint II runs great on my new P4 box. I've never found
a paint program that was more fun for doodling so it was a
pleasant surprise. (It barely ran on my P3 dell of a few years
ago, and not at all on my Sony laptop.) -Wm


 0

gswork wrote:
> "machine99" <core99@delite.dk> wrote in message
>
.... snip ...
> >
> > I'm ten years too late, that's the problem :]
>
> Being out of date is fun!   I still use a variety of tools
> dating from 1989 (TP5.5!) up to the present (Delphi 7) and
> plenty in between (various!)

I find 38 files in my util directory dated from '82 to '90.  I use
about 10 of them more or less regularly.

--
Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net)
Available for consulting/temporary embedded and systems.


 0
Reply cbfalconer (19194) 10/7/2003 3:28:56 PM

On Tue, 7 Oct 2003, Gerry Quinn wrote:
>
> Arthur J. O'Dwyer wrote:
> >Depending on your definition of "modern," yes.  But very many
> >DOS programs have hardware dependencies, such as clock speed,
> >scan rate, memory size and layout, sound card dependencies,
> >requiring the ability to modify certain memory locations...
> >stuff like that is extremely important to DOS games and demos,
> >although probably not to database programs :-)  On the other
> >hand, Windows, *nix, and MacOS have plenty of good database
> >programs, but precious few good games or demos. ;-)
>
> Windows is the *primary* target of games for desktop computers, and
> nowadays they tend to work without mucking about with config files or
> re-booting.  The tricks that were done with DOS are no longer necessary
> or relevant.

All I can say is, Jazz Jackrabbit, Tyrian, Doom, Hexx,
et al. were hella fun on my Win3.11 486.  Warcraft bogs
down on my current WinXP Pentium 3, and the old games
don't run at all.  I rest my case.

About the only good game I have that still works on WinXP is
Nethack.  <ot> Suggestions welcome. </ot>

(Oh -- and "rebooting"?  What games did *you* play?  The
only games I've ever played that required rebooting were
ones that needed more memory than my current configuration
was prepared to give (e.g., needed to disable EMM386 or
MSCDEX for a little while); or Warcraft, when it hangs. :)
One of the best (IMHO) things about MS-DOS was that it
did away with the Windows "registry" [note humorous backwards
chronology], so that the install/uninstall process became
simply a process of "copy these files -- delete these files";
no registry entries or desktop icons hanging around to mess
up your system.  And no need to reboot.)

-Arthur

 0
Reply ajo (1601) 10/7/2003 4:27:39 PM

Arthur J. O'Dwyer wrote:

<snip>

> One of the best (IMHO) things about MS-DOS was that it
> did away with the Windows "registry" [note humorous backwards
> chronology],

Duly noted. And I whole-heartedly agree.

> so that the install/uninstall process became
> simply a process of "copy these files -- delete these files";
> no registry entries or desktop icons hanging around to mess
> up your system.  And no need to reboot.)

When I write software for Windows, I still do it like this. You /can/ still
install programs properly under Windows, honest!

A:\> TYPE INSTALL.BAT
@echo off
echo Installation instructions:
echo If you don't know what I mean by "directory",
echo switch off your computer now.
echo Make a new directory. Call it whatever you like.
echo (If you don't know how to make a directory, return
echo your computer to the shop for a 50% refund.)
echo Copy everything from this floppy into that directory.
echo That's it. To uninstall, delete the contents of the
echo directory, and then remove the directory itself.

--
Richard Heathfield : binary@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton

 0
Reply dontmail (1885) 10/7/2003 8:10:08 PM

machine99 wrote:

> Will windows keep DOS in the future and for how long?

As there have been many fine (well written) Disk Operating Systems,
some people would prefer you write "MS-DOS" (or "MSDOS") when
referring to Bill Gates' first OS.

> If DOS was removed from the future windows versions, would it
> be possible to emulate it with a program so ones old DOS programs
> would still work?

MS-DOS *was* removed from Windows starting with NT.  In previous
versions, a "Dos Window" really was the underlying operating
system (such as it was).  Starting with NT, it's an emulation.

--
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL  |
|_____________________________________________|_______________________|

 0
Reply Chris7 (2511) 10/8/2003 7:52:22 PM

Richard Heathfield wrote:

> When I write software for Windows, I still do it like this. You
> /can/ still install programs properly under Windows, honest!
>
> [...]
> echo Make a new directory. Call it whatever you like.
> [...]

Which method do you use to reliably detect which directory you
are running from (I assume you need to to access config files)?

--
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL  |
|_____________________________________________|_______________________|

 0
Reply Chris7 (2511) 10/8/2003 7:54:29 PM

Programmer Dude wrote:
> Richard Heathfield wrote:
>
> > When I write software for Windows, I still do it like this. You
> > /can/ still install programs properly under Windows, honest!
> >
> > [...]
> > echo Make a new directory. Call it whatever you like.
> > [...]
>
> Which method do you use to reliably detect which directory you
> are running from (I assume you need to to access config files)?

In windoze, you can access argv[0], which should give you the
absolute location of the executable and its name.  Now, how do you
do it reliably under Unices?

--
Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net)
Available for consulting/temporary embedded and systems.


 0
Reply cbfalconer (19194) 10/8/2003 11:52:51 PM

Programmer Dude wrote:

> Richard Heathfield wrote:
>
>> When I write software for Windows, I still do it like this. You
>> /can/ still install programs properly under Windows, honest!
>>
>> [...]
>> echo Make a new directory. Call it whatever you like.
>> [...]
>
> Which method do you use to reliably detect which directory you
> are running from (I assume you need to to access config files)?

_getcwd() seems to do the trick (of detecting the directory from which the
program was invoked), and GetCommandLine() gives the application directory
(admittedly as a relative pathname). So my config files can live either
here or there, as suits

I really don't see a problem here. Obviously, your mileage varies. :-)

--
Richard Heathfield : binary@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton

 0
Reply dontmail (1885) 10/9/2003 5:36:50 AM

In article <Pine.LNX.4.58-035.0310071218460.6539@unix46.andrew.cmu.edu>, "Arthur J. O'Dwyer" <ajo@nospam.andrew.cmu.edu> wrote:
>On Tue, 7 Oct 2003, Gerry Quinn wrote:
>>
>> Arthur J. O'Dwyer wrote:
>> >Depending on your definition of "modern," yes.  But very many
>> >DOS programs have hardware dependencies, such as clock speed,
>> >scan rate, memory size and layout, sound card dependencies,
>> >requiring the ability to modify certain memory locations...
>> >stuff like that is extremely important to DOS games and demos,
>> >although probably not to database programs :-)  On the other
>> >hand, Windows, *nix, and MacOS have plenty of good database
>> >programs, but precious few good games or demos. ;-)
>>
>> Windows is the *primary* target of games for desktop computers, and
>> nowadays they tend to work without mucking about with config files or
>> re-booting.  The tricks that were done with DOS are no longer necessary
>> or relevant.
>
>All I can say is, Jazz Jackrabbit, Tyrian, Doom, Hexx,
>et al. were hella fun on my Win3.11 486.  Warcraft bogs
>down on my current WinXP Pentium 3, and the old games
>don't run at all.  I rest my case.

Those are DOS games, though.  Time goes on, and modern games won't run
on a DOS box.  You could always keep a separate machine for MSDOS.

>About the only good game I have that still works on WinXP is
>Nethack.  <ot> Suggestions welcome. </ot>

More of a Zangband man myself!  But (case in point) Rogue does work on
Windows, all the way to XP, but the absence of a timer means that it
scrolls too fast.  This sort of nonsense comes about from the sort of
programming techniques used on DOS games.

>(Oh -- and "rebooting"?  What games did *you* play?  The
>only games I've ever played that required rebooting were
>ones that needed more memory than my current configuration
>was prepared to give (e.g., needed to disable EMM386 or
>MSCDEX for a little while); or Warcraft, when it hangs. :)

I guess I never really bothered with PCs until Windows came along - my
recollection is that DOS games need all sorts of messing and rebooting.

Gerry Quinn
--
http://bindweed.com
Kaleidoscopic Screensavers and Games for Windows
New screensaver: "Hypercurve"


 0
Reply gerryq2 (435) 10/9/2003 6:50:56 AM

In article <blv6iv$59r$1@sparta.btinternet.com>, binary@eton.powernet.co.uk wrote:
>When I write software for Windows, I still do it like this. You /can/ still
>install programs properly under Windows, honest!
>
>A:\> TYPE INSTALL.BAT
>@echo off
>echo Installation instructions:
>echo If you don't know what I mean by "directory",
>echo switch off your computer now.
>echo Make a new directory. Call it whatever you like.
>echo (If you don't know how to make a directory, return
>echo your computer to the shop for a 50% refund.)
>echo Copy everything from this floppy into that directory.
>echo That's it. To uninstall, delete the contents of the
>echo directory, and then remove the directory itself.

My customers double-click on a setup program to install the program, add
a Start Menu item and optional desktop icon.  Another double-click
uninstalls.  I think most of them prefer it this way...

Gerry Quinn
--
http://bindweed.com
Kaleidoscopic Screensavers and Games for Windows
New screensaver: "Hypercurve"

 0
Reply gerryq2 (435) 10/9/2003 6:53:35 AM

Gerry Quinn wrote:

> In article <blv6iv$59r$1@sparta.btinternet.com>,
> binary@eton.powernet.co.uk wrote:
>>When I write software for Windows, I still do it like this. You /can/
>>still install programs properly under Windows, honest!
>>
>>A:\> TYPE INSTALL.BAT
>>@echo off
>>echo Installation instructions:
>>echo If you don't know what I mean by "directory",
>>echo switch off your computer now.
>>echo Make a new directory. Call it whatever you like.
>>echo (If you don't know how to make a directory, return
>>echo your computer to the shop for a 50% refund.)
>>echo Copy everything from this floppy into that directory.
>>echo That's it. To uninstall, delete the contents of the
>>echo directory, and then remove the directory itself.
>
> My customers double-click on a setup program to install the program, add
> a Start Menu item and optional desktop icon.  Another double-click
> uninstalls.  I think most of them prefer it this way...

Perhaps they do prefer it that way, and yes, it's quite convenient. But how
many registry keys is the installation routine messing with? How many
system settings is it tweaking? How many file extensions is it co-opting?
Indeed, how many /new/ registry keys is it creating?

It doesn't take too many modern applications to be installed on a Windows
box before even the fastest machine starts to crawl.

Have a pointy-clicky installation GUI if you must - but please lay off my
registry.

--
Richard Heathfield : binary@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton

 0
Reply dontmail (1885) 10/9/2003 7:01:29 AM

CBFalconer wrote:

>> Which method do you use to reliably detect which directory you
>> are running from (I assume you need to to access config files)?
>
> In windoze, you can access argv[0], which should give you the
> absolute location of the executable and its name.

Unfortunately it's just as fakable in Windows as it is in *nix.

> Now, how do you do it reliably under Unices?

To my knowledge, you don't.  :-(

If you know the OS, it can help.  Windows has GetModuleFileName(),
which returns the full path to the EXE.

--
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL  |
|_____________________________________________|_______________________|

 0
Reply Chris7 (2511) 10/9/2003 5:01:43 PM

Richard Heathfield wrote:

>> Which method do you use to reliably detect which directory you
>> are running from (I assume you need to to access config files)?
>
> _getcwd() seems to do the trick (of detecting the directory
> from which the program was invoked),...

Can't that be *any* directory?

> ...and GetCommandLine() gives the application directory
> (admittedly as a relative pathname).

Can that be fooled as easily as argv[0]?

> I really don't see a problem here. Obviously, your mileage
> varies. :-)

Well, maybe.  I've used GetModuleFileName() to get the app's
directory, and I *think* that's 100% reliable, but I'm not sure.
I was curious about other techniques and how much success they
have enjoyed.

I think that, in Windows, I do prefer the Registry.  It's the
recommended and supported way, plus it just seems more reliable
to me.  I get a hierarchical configuration database (good amount
of bang) for very little bucks.

Hmmm.  I suppose "bang for your buck" isn't an oft-use expression

--
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL  |
|_____________________________________________|_______________________|

 0
Reply Chris7 (2511) 10/9/2003 5:09:21 PM

In article <bm3148$6ov$1@sparta.btinternet.com>, binary@eton.powernet.co.uk wrote:
>Gerry Quinn wrote:

>> My customers double-click on a setup program to install the program, add
>> a Start Menu item and optional desktop icon.  Another double-click
>> uninstalls.  I think most of them prefer it this way...
>
>Perhaps they do prefer it that way, and yes, it's quite convenient. But how
>many registry keys is the installation routine messing with?

It may create one to several keys under an obvious name.  In principle,
a protection system might create obscure key(s) or file(s), but that's
not related to the installation mode, and a program installed in any way
might do the same.  No registration keys or vales are 'messed with'.

>How many
>system settings is it tweaking?

None (with one exception - screensavers ask whether the user wants them
installed as the current screensaver, and do so if he says yes).  But
that has nothing to do with the installer, because your program might
tweak settings too when it runs.

>How many file extensions is it co-opting?

None, as none is appropriate. Again, nobody knows what your program does
when it runs either.  And any program that wants to co-opt extensions
should (1) have sufficient reason, which is much more than using a
common data type, and (2) ask the user.

>Indeed, how many /new/ registry keys is it creating?

See above - it might create a few.  Or it might wait until it runs, as
yours would have to if it wanted to create them.

>It doesn't take too many modern applications to be installed on a Windows
>box before even the fastest machine starts to crawl.

I think that's nonsense - it may depend on the applications, but not on
their installation methodology.  If they want forty million keys, that
is nothing to do with how they install.

>Have a pointy-clicky installation GUI if you must - but please lay off my
>registry.

I use it for its intended purpose.  You could install many many
thousands of my programs without any significant impingement on your
computer's speed - and uninstallers can delete registry keys unless more
are created at runtime.  (Admittedly, this last is sometimes imperfect.)

Gerry Quinn
--
http://bindweed.com
Kaleidoscopic Screensavers and Games for Windows
New screensaver: "Hypercurve"


 0
Reply gerryq2 (435) 10/10/2003 8:58:30 AM

In article <3F859641.32682C86@Sonnack.com>, Programmer Dude <Chris@Sonnack.com> wrote:

>Well, maybe.  I've used GetModuleFileName() to get the app's
>directory, and I *think* that's 100% reliable, but I'm not sure.
>I was curious about other techniques and how much success they
>have enjoyed.
>
>I think that, in Windows, I do prefer the Registry.  It's the
>recommended and supported way, plus it just seems more reliable
>to me.  I get a hierarchical configuration database (good amount
>of bang) for very little bucks.

Another point, relevant to software such as games etc. - if you want it
to run when the CD is inserted (some people who don't understand a Start
Menu can still work a CD) you want a registry entry to say where it is.

The registry has other uses in a multi-user system.

Gerry Quinn
--
http://bindweed.com
Kaleidoscopic Screensavers and Games for Windows
New screensaver: "Hypercurve"

 0
Reply gerryq2 (435) 10/10/2003 9:01:56 AM

Programmer Dude wrote:

> CBFalconer wrote:
>
>>> Which method do you use to reliably detect which directory you
>>> are running from (I assume you need to to access config files)?
>>
>> In windoze, you can access argv[0], which should give you the
>> absolute location of the executable and its name.
>
> Unfortunately it's just as fakable in Windows as it is in *nix.

<shrug> It's pretty easy to fake a registry key too, so I don't quite see
how this matters in the current context.

--
Richard Heathfield : binary@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton

 0
Reply dontmail (1885) 10/11/2003 3:37:11 AM

Programmer Dude wrote:

> Richard Heathfield wrote:
>
>>> Which method do you use to reliably detect which directory you
>>> are running from (I assume you need to to access config files)?
>>
>> _getcwd() seems to do the trick (of detecting the directory
>> from which the program was invoked),...
>
> Can't that be *any* directory?

Yes, but at startup it's the directory from which the program was invoked,
which is what you asked. If you then change directories from within the
program, clearly _getcwd() will reflect those changes.

>> ...and GetCommandLine() gives the application directory
>> (admittedly as a relative pathname).
>
> Can that be fooled as easily as argv[0]?

A registry key can be fooled trivially, using regedit. Since I'm sure you
know how to hack the registry, and since it appears that you're not sure
how you would hack GetCommandLine(), I deduce that, for you at least,
GetCommandLine() is (for the time being) more secure than a registry entry,
if security is your issue. Clearly, the registry is /not/ secure.

>> I really don't see a problem here. Obviously, your mileage
>> varies. :-)
>
> Well, maybe.  I've used GetModuleFileName() to get the app's
> directory, and I *think* that's 100% reliable, but I'm not sure.
> I was curious about other techniques and how much success they
> have enjoyed.

Well, please bear in mind that I write a lot more ISO C than I do Windows C.
You might be better off asking in comp.os.ms-windows.programmer.win32 to

> I think that, in Windows, I do prefer the Registry.  It's the
> recommended and supported way, plus it just seems more reliable
> to me.  I get a hierarchical configuration database (good amount
> of bang) for very little bucks.

registry ever appeared, and it's still around today. It's called the
filesystem.

> Hmmm.  I suppose "bang for your buck" isn't an oft-use expression

"Bang for your buck" is recognised as a read-only expression in the UK. We
know what it means, but we tend not to use it ourselves.

--
Richard Heathfield : binary@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton

 0
Reply dontmail (1885) 10/11/2003 3:46:44 AM

Gerry Quinn wrote:

> In article <bm3148$6ov$1@sparta.btinternet.com>,
> binary@eton.powernet.co.uk wrote:
>>Gerry Quinn wrote:
>
>>> My customers double-click on a setup program to install the program, add
>>> a Start Menu item and optional desktop icon.  Another double-click
>>> uninstalls.  I think most of them prefer it this way...
>>
>>Perhaps they do prefer it that way, and yes, it's quite convenient. But
>>how many registry keys is the installation routine messing with?
>
> It may create one to several keys under an obvious name.  In principle,
> a protection system might create obscure key(s) or file(s), but that's
> not related to the installation mode, and a program installed in any way
> might do the same.  No registration keys or vales are 'messed with'.

Sorry, I didn't mean to give the impression that I was talking about your
applications specifically. I was talking about applications in general.

>>How many
>>system settings is it tweaking?
>
> None (with one exception - screensavers ask whether the user wants them
> installed as the current screensaver, and do so if he says yes).  But
> that has nothing to do with the installer, because your program might
> tweak settings too when it runs.

Yes, it might. But no, it shouldn't. A program should surely only mess
around with its /own/ settings.

>>How many file extensions is it co-opting?
>
> None, as none is appropriate.

Some programs most certainly /do/ co-opt file extensions, however, even if
yours don't.

> Again, nobody knows what your program does
> when it runs either.  And any program that wants to co-opt extensions
> should (1) have sufficient reason, which is much more than using a
> common data type, and (2) ask the user.

Yes, they should. Not all do. Note that they should /also/ explain what the
implications are for each choice.

>>Indeed, how many /new/ registry keys is it creating?
>
> See above - it might create a few.  Or it might wait until it runs, as
> yours would have to if it wanted to create them.

I think you're missing the point here. :-)

>>It doesn't take too many modern applications to be installed on a Windows
>>box before even the fastest machine starts to crawl.
>
> I think that's nonsense -

Fair enough. I don't, though.

> it may depend on the applications, but not on
> their installation methodology.  If they want forty million keys, that
> is nothing to do with how they install.

True enough. Sorry, I think we must be at cross-purposes here. My primary
concern is the clogging up of the registry, not the precise time at which
the registry gets clogged up. I don't care whether the installation program
sets up the keys or whether the app itself does. Either way, the registry
gets very big very soon, and the machine slows to a (relative) crawl as a
result.

>>Have a pointy-clicky installation GUI if you must - but please lay off my
>>registry.
>
> I use it for its intended purpose.

Yeah, that's the problem. IMHO its intended purpose is flawed.

> You could install many many
> thousands of my programs without any significant impingement on your
> computer's speed

Fine. But I'm not talking theoretically here. I /know/ that my Windows
machine's performance slows down as more and more programs are installed on
it. I also know that my Linux boxes don't have this trouble. The registry,
then, is an obvious suspect.

> - and uninstallers can delete registry keys unless more
> are created at runtime.  (Admittedly, this last is sometimes imperfect.)

Indeed it is.

>
> Gerry Quinn

--
Richard Heathfield : binary@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton

 0
Reply dontmail (1885) 10/11/2003 4:26:59 AM

In article <bm80qh$iuu$1@sparta.btinternet.com>, binary@eton.powernet.co.uk wrote:
>Gerry Quinn wrote:

>> It may create one to several keys under an obvious name.  In principle,
>> a protection system might create obscure key(s) or file(s), but that's
>> not related to the installation mode, and a program installed in any way
>> might do the same.  No registration keys or vales are 'messed with'.
>
>Sorry, I didn't mean to give the impression that I was talking about your
>applications specifically. I was talking about applications in general.

Oh I know, I was just giving mine as typical examples of reasonably
well-behaved installers.

Gerry Quinn
--
http://bindweed.com
Kaleidoscopic Screensavers and Games for Windows
New screensaver: "Hypercurve"

 0
Reply gerryq2 (435) 10/13/2003 5:30:37 AM

Richard Heathfield wrote:

>>> In windoze, you can access argv[0], which should give you the
>>> absolute location of the executable and its name.
>>
>> Unfortunately it's just as fakable in Windows as it is in *nix.
>
> <shrug> It's pretty easy to fake a registry key too, so I don't
> quite see how this matters in the current context.

Messing with the registry key is deliberate. If that's true, all
bets are off.

I can imagine a variety of ways argv[0] might be messed with "with
the best intentions" (something along the lines similar to how some
unix programs deliberately use argv[0] to pass data).

Point is, I just don't consider argv[0] reliable on any platform.

--
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL  |
|_____________________________________________|_______________________|

 0
Reply Chris7 (2511) 10/13/2003 4:43:17 PM

Richard Heathfield wrote:

> I /know/ that my Windows machine's performance slows down as more
> and more programs are installed on it. I also know that my Linux
> boxes don't have this trouble. The registry, then, is an obvious
> suspect.

Much of the registry is held in memory. It's possible the slowdown
is from installed hooks, context handlers and dlls.  Depends on
what exactly it is that slows down.

--
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL  |
|_____________________________________________|_______________________|

 0
Reply Chris7 (2511) 10/13/2003 4:46:59 PM

Programmer Dude wrote:

> Richard Heathfield wrote:
>
>>>> In windoze, you can access argv[0], which should give you the
>>>> absolute location of the executable and its name.
>>>
>>> Unfortunately it's just as fakable in Windows as it is in *nix.
>>
>> <shrug> It's pretty easy to fake a registry key too, so I don't
>> quite see how this matters in the current context.
>
> Messing with the registry key is deliberate. If that's true, all
> bets are off.
>
> I can imagine a variety of ways argv[0] might be messed with "with
> the best intentions" (something along the lines similar to how some
> unix programs deliberately use argv[0] to pass data).
>
> Point is, I just don't consider argv[0] reliable on any platform.

Note that, despite appearances to the contrary, I did not suggest using
argv[0]. That suggestion was from Chuck, not me.

(I don't consider it reliable either.)

--
Richard Heathfield : binary@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton

 0
Reply dontmail (1885) 10/13/2003 7:46:08 PM

Programmer Dude wrote:

> Richard Heathfield wrote:
>
>> I /know/ that my Windows machine's performance slows down as more
>> and more programs are installed on it. I also know that my Linux
>> boxes don't have this trouble. The registry, then, is an obvious
>> suspect.
>
> Much of the registry is held in memory. It's possible the slowdown
> is from installed hooks, context handlers and dlls.  Depends on
> what exactly it is that slows down.

True enough. On a fresh install, the machine runs like lightning off a shiny
shovel. The /whole/ machine starts to get more and more sluggish as more
and more applications are loaded onto it.

Anyway, that's my problem, not yours. :-)

--
Richard Heathfield : binary@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton

 0
Reply dontmail (1885) 10/13/2003 7:50:20 PM

Gerry Quinn wrote:

> Those are DOS games, though.  Time goes on, and modern games won't run
> on a DOS box.  You could always keep a separate machine for MSDOS.
Given that small HDs are so cheap, it is simple to format the drive,
or a partition with fat 16, or w/drdos fat 32, and then set the cmos
to boot off a floppy first, and default to your regular OS on the
primary boot partition of the system. Slide a dos boot disk in the
floppy when you want dos.

>
>>About the only good game I have that still works on WinXP is
>>Nethack.  <ot> Suggestions welcome. </ot>
>
>
> More of a Zangband man myself!  But (case in point) Rogue does work on
> Windows, all the way to XP, but the absence of a timer means that it
> scrolls too fast.  This sort of nonsense comes about from the sort of
> programming techniques used on DOS games.
true, but there are simple effective SLOWDOWN.EXE tools.
>
>
>>(Oh -- and "rebooting"?  What games did *you* play?  The
>>only games I've ever played that required rebooting were
>>ones that needed more memory than my current configuration
>>was prepared to give (e.g., needed to disable EMM386 or
>>MSCDEX for a little while); or Warcraft, when it hangs. :)
with most modern systems, no biggie.
>
> I guess I never really bothered with PCs until Windows came along - my
> recollection is that DOS games need all sorts of messing and rebooting.
I never bothered with proprietary dos games. never saw that.


 0
Reply daybrown (14) 10/14/2003 11:38:51 AM

Richard Heathfield wrote:

>>> _getcwd() seems to do the trick (of detecting the directory
>>> from which the program was invoked),...
>>
>> Can't that be *any* directory?
>
> Yes, but at startup it's the directory from which the program was
> invoked, which is what you asked. If you then change directories
> from within the program, clearly _getcwd() will reflect those changes.

That's not what I was getting at.  The program can be invoked from
any directory. When the program starts, _getcwd() will reflect that
potentially random directory.  If you use that directory as the place
to store config files, you potentially have multiple configurations
scattered about randomly.  A user might not even be able to find a
given configuation again!

Therefore _getcwd() isn't useful for (the original question of) user
configuration.  We agree argv[0] isn't useful.  It's not an easily-
solved issue, *particularly* in light of a desire to allow savvy
users to tailor where config and data files are located *combined*
*with* the desire to "affect" the user's machine as little as possible
(I very much agree dll files belong in the app directory!).

The dll situation provides one solution: use the app directory for
initial config files (that may be "pointers" to other user-defined
locations).  Thing is, I *think* the only reliable way to get that
directory is not _getcwd() or argv[], but GetModuleFileName() or its
bigger sister GetModuleFileNameEx().

>>> ...GetCommandLine()...
>>
>> Can that be fooled as easily as argv[0]?
>
> A registry key can be fooled trivially, using regedit. Since I'm sure
> you know how to hack the registry, and since it appears that you're
> not sure how you would hack GetCommandLine(), I deduce that, for you
> at least, GetCommandLine() is (for the time being) more secure than
> a registry entry,...

Er,... no.  (-:  Hacking GetCommandLine() is as simple as what's given
to CreateProcess() (similar to the exec*() family in unix).  I think I
might have said this already (don't recall), but I'm not talking about
malicious, deliberate fooling, but the well-intentioned type.

I can see reasons why a program invoked by an operating system or
other program might manipulate the commandline for some genuine
purpose. The bottom line (at least as I see it), is that you can't
trust the commandline for "where is my app" information.

I do agree that, in general, the registry is easier for the average
user to mess with than the command line.  My sense is that, if they're
going to do that, it's "you broke it, you fix it".

>> I think that, in Windows, I do prefer the Registry.  It's the
>> recommended and supported way, plus it just seems more reliable
>> to me.  I get a hierarchical configuration database (good amount
>> of bang) for very little bucks.
>
> the registry ever appeared, and it's still around today. It's called
> the filesystem.

Heh.  Wasn't holding forth the registry as a new invention.   (I
don't think users would like it if you spread bits of configuration
information all over their disk! :-)

Heirarchal organization is handy for organizing configuration groups
(and for allowing multiple configurations).  One can get one level
of heirarchy with something like "INI files", but the registry is a
handy thing.

But I recognize your distaste of Windowish things....   (-:

--
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL  |
|_____________________________________________|_______________________|

 0
Reply Chris7 (2511) 10/14/2003 6:40:11 PM

Programmer Dude wrote:

> Richard Heathfield wrote:
>
>>>> _getcwd() seems to do the trick (of detecting the directory
>>>> from which the program was invoked),...
>>>
>>> Can't that be *any* directory?
>>
>> Yes, but at startup it's the directory from which the program was
>> invoked, which is what you asked. If you then change directories
>> from within the program, clearly _getcwd() will reflect those changes.
>
> That's not what I was getting at.  The program can be invoked from
> any directory. When the program starts, _getcwd() will reflect that
> potentially random directory.  If you use that directory as the place
> to store config files, you potentially have multiple configurations
> scattered about randomly.  A user might not even be able to find a
> given configuation again!

That's not what /I/ was getting at! :-)  The _getcwd() function is useful
for configuration if you want a config file in the directory from which the
program was invoked. (Turbo C does it this way.)

> Therefore _getcwd() isn't useful for (the original question of) user
> configuration.

See above. _getcwd() doesn't answer every need, but it answers at least one
need.

> We agree argv[0] isn't useful.

Right.

> It's not an easily-
> solved issue, *particularly* in light of a desire to allow savvy
> users to tailor where config and data files are located *combined*
> *with* the desire to "affect" the user's machine as little as possible
> (I very much agree dll files belong in the app directory!).

Yes. I think that the location of config files depends very much on the
application and the intended audience for the program. For Turbo C, clearly
the cwd was the right choice, and that is true for some other kinds of
program too. For other kinds of program, it is sufficient to have a single
configuration file in the application directory.

(On Linux, of course, it's trivial, since you can just make a dot directory
in $USER. Problem solved.) > The dll situation provides one solution: use the app directory for > initial config files (that may be "pointers" to other user-defined > locations). Right. > Thing is, I *think* the only reliable way to get that > directory is not _getcwd() or argv[], but GetModuleFileName() or its > bigger sister GetModuleFileNameEx(). That's fine for the application directory, which is sometimes The Right Thing. > I think I > might have said this already (don't recall), but I'm not talking about > malicious, deliberate fooling, but the well-intentioned type. Oh, okay, fine. Worst case, the program can't find the config file, and complains^Wasks the user whether they wish to create a new one. Of course, if the config filename was chosen well, you could even offer to search the filesystem for it (but of course this is not something you'd do without running it by the user first). > I can see reasons why a program invoked by an operating system or > other program might manipulate the commandline for some genuine > purpose. The bottom line (at least as I see it), is that you can't > trust the commandline for "where is my app" information. No, but if you are concerned only with misguided (as opposed to malicious) screwing-up, it's relatively easy to check whether you've found the right directory. > I do agree that, in general, the registry is easier for the average > user to mess with than the command line. My sense is that, if they're > going to do that, it's "you broke it, you fix it". Right. <snip> > > Heirarchal organization is handy for organizing configuration groups > (and for allowing multiple configurations). One can get one level > of heirarchy with something like "INI files", but the registry is a > handy thing. > > But I recognize your distaste of Windowish things.... (-: What I actually dislike is reliance on a particular construct that might not be there tomorrow (or next year, or whatever). If MS suddenly decide that the registry is not such a good idea after all, there's nothing to stop them withdrawing support for it altogether. If you're going to use a particular OS's features, you have no choice but to - well - use those features! But, taking that as a given, I nevertheless try to minimise the interface between my code and that of the OS as far as is practical. -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/14/2003 8:22:45 PM Richard Heathfield wrote: >> That's not what I was getting at. ... > > That's not what /I/ was getting at! :-) I think I see the source of the confusion. My environment hasn't had a well-defined sense of "current directory" in years. The advent of GUI O/Ses really smudged out that concept in my world (each app, each window, can have a cwd). > The _getcwd() function is useful for configuration if you want > a config file in the directory from which the program was invoked. > (Turbo C does it this way.) The Turbo C reference made me see what you're getting at. That's fine if you work in an environment that has a well-defined sense of cwd. Such as a command line enviroment. Thing is, other than (some!) programmers, who works in that environment much any more? In a windowing environment (be it MS or "nix" or Mac), shortcuts and other GUI tools decouple launching a program from any sense of cwd (tho many launch tools allow to you specify a directory). Bottom line, *I* haven't written an app in years that could use cwd for anything useful. (I do sometimes pine for those simpler days of "C:", "CD \foo\bar\bin", "myprog"...) > For Turbo C, clearly the cwd was the right choice, and that is > true for some other kinds of program too. Not many end user apps anymore, I would think, though. (At least not in the environment I work in.) (Actually, even in multi-config apps, I'm more likely to use a central store than allow files all over the disk, but that's just my own sense of design, not a view of "what's right".) > Worst case, the program can't find the config file, and > complains^Wasks the user whether they wish to create a new one. Maybe that works for your usrs. It wouldn't for many of mine. I need to make life as simple for them as possible! > Of course, if the config filename was chosen well, you could even > offer to search the filesystem for it (but of course this is not > something you'd do without running it by the user first). Esp. on the big filesystems of today! In a GUI environment, you can usually offer them a browser tool of some sort to allow them to search it out on their own (but even that is too much for some users). > No, but if you are concerned only with misguided (as opposed to > malicious) screwing-up, it's relatively easy to check whether > you've found the right directory. Oh, sure! The expected file(s) ain't there!! The *trick* (as it usually is) is to get it right seamlessly and invisibly. >> But I recognize your distaste of Windowish things.... (-: > > What I actually dislike is reliance on a particular construct > that might not be there tomorrow (or next year, or whatever). Hey, those big changes keep some of us employed!! :-| > If MS suddenly decide that the registry is not such a good idea > after all, there's nothing to stop them withdrawing support for > it altogether. That seems rather unlikely, all things considered. At the least they'd have to offer a replacement (as they did transitioning from INI to registry). Thing is, where do you draw the line? Any vendor can remove any part of their OS at any time for any reason. I'm not sure the "lack of future support" is quite the clearcut issue it might seem. -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/14/2003 9:14:29 PM Programmer Dude wrote: > Richard Heathfield wrote: > > >>>That's not what I was getting at. ... >> >>That's not what /I/ was getting at! :-) > > I think I see the source of the confusion. My environment hasn't > had a well-defined sense of "current directory" in years. The > advent of GUI O/Ses really smudged out that concept in my world > (each app, each window, can have a cwd). Ah yes, but you can set that with the shortcut, or by changing directory and launching from a command prompt, or... etc. Ok, you may not be hanging around in one directory, but an individual program can... conceptually speaking at least. <snip> > In a windowing environment (be it MS or "nix" or Mac), shortcuts > and other GUI tools decouple launching a program from any sense > of cwd (tho many launch tools allow to you specify a directory). Like the ones built into windows even :> -- Corey Murtagh The Electric Monk "Quidquid latine dictum sit, altum viditur!"   0 Reply emonk (360) 10/15/2003 6:22:19 AM Programmer Dude wrote: > Richard Heathfield wrote: > >>> That's not what I was getting at. ... >> >> That's not what /I/ was getting at! :-) > > I think I see the source of the confusion. My environment hasn't > had a well-defined sense of "current directory" in years. I thought we were talking about Windows programs here? > The > advent of GUI O/Ses really smudged out that concept in my world > (each app, each window, can have a cwd). Yes. Read that again. Each app can have a cwd. :-) >> The _getcwd() function is useful for configuration if you want >> a config file in the directory from which the program was invoked. >> (Turbo C does it this way.) > > The Turbo C reference made me see what you're getting at. That's > fine if you work in an environment that has a well-defined sense > of cwd. Such as a command line enviroment. Thing is, other than > (some!) programmers, who works in that environment much any more? A /program/ has a well-defined sense of cwd, and many computer users still deign to use programs, even though the dear things may have left the command line behind forever. > In a windowing environment (be it MS or "nix" or Mac), shortcuts > and other GUI tools decouple launching a program from any sense > of cwd (tho many launch tools allow to you specify a directory). That decoupling has indeed happened for the /user/, but not for the program. > Bottom line, *I* haven't written an app in years that could use > cwd for anything useful. Fair enough, and you're not alone. But neither am I... > (I do sometimes pine for those simpler > days of "C:", "CD \foo\bar\bin", "myprog"...) Understood. What I pine for is not the simplicity, but the humility; the programmer's attitude was "this is your computer, not mine, and I should minimise my footprint upon it". <much that I more or less agree with snipped> >>> But I recognize your distaste of Windowish things.... (-: >> >> What I actually dislike is reliance on a particular construct >> that might not be there tomorrow (or next year, or whatever). > > Hey, those big changes keep some of us employed!! :-| Is it overly idealistic of me to imagine that programmers might have better things to do than keep rehashing old code to make it work with the latest MS bugfest? > Thing is, where do you draw the line? Any vendor can remove any > part of their OS at any time for any reason. This is precisely my point. There is no line, but I draw that non-existent line as high up as I can reach. > I'm not sure the > "lack of future support" is quite the clearcut issue it might seem. Agreed. For example, in the *nix world, you're not locked into one vendor, and this makes a huge difference. -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/15/2003 7:10:45 AM Corey Murtagh wrote: >> My environment hasn't had a well-defined sense of "current >> directory" in years. > > Ah yes, but you can set that with the shortcut, or by changing > directory and launching from a command prompt, or... etc. All true, but recall that the point of the view is the user's, in particular with regard to application configuration files (location of). The (dangerous) point is that--UNLESS THE USER IS BOTH APP-SAVVY AND TAKES SUCH STEPS AS YOU DETAIL ABOVE-- the app can't *count* on cwd to tell it anything. My feeling is that requiring your *average* user to be savvy about your app and to take special steps to make sure it works, is contra-indicated. (If I were developing for an audience like us folks, it'd be a different story.) >> In a windowing environment (be it MS or "nix" or Mac), shortcuts >> and other GUI tools decouple launching a program from any sense >> of cwd (tho many launch tools allow to you specify a directory). > > Like the ones built into windows even :> Yes. But how many *average* users understand them and use them? -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/16/2003 8:08:40 PM Richard Heathfield wrote: >> My environment hasn't had a well-defined sense of "current >> directory" in years. > > I thought we were talking about Windows programs here? Indeed we are. >> The advent of GUI O/Ses really smudged out that concept in my >> world (each app, each window, can have a cwd). > > Yes. Read that again. Each app can have a cwd. :-) Yes. Read what I wrote again. The **environment** doesn't have a well-defined sense of cwd, **because** every window, every app, has its own. We are, AIUI, looking at this from the point of view of launching an app from the OS, and I'm saying that the cwd WHEN THAT APP LAUNCHES is not well-defined *without* the user taking steps to *make* it well defined. >> That's fine if you work in an environment that has a well-defined >> sense of cwd. Such as a command line enviroment. Thing is, other >> than (some!) programmers, who works in that environment much any >> more? > > A /program/ has a well-defined sense of cwd, and many computer > users still deign to use programs, even though the dear things > may have left the command line behind forever. Cute answer, but it misses the point. The program has a well-defined cwd WHEN IT RUNS, but WHEN IT LAUNCHES the cwd--in a GUI--is not well- defined *without* the user taking steps to define it. >> In a windowing environment (be it MS or "nix" or Mac), shortcuts >> and other GUI tools decouple launching a program from any sense >> of cwd (tho many launch tools allow to you specify a directory). > > That decoupling has indeed happened for the /user/, but not for > the program. Sure, but we're *talking* about the user launching programs (or programs launched by the user, if you prefer passive voice :-). > What I pine for is not the simplicity, but the humility; the > programmer's attitude was "this is your computer, not mine, > and I should minimise my footprint upon it". I agree absolutely. But, as with most things in life, it's not a black and white situation, nor--for me--is it a *primary* criterion in the face of other requirements. Reliable and robust user configuration is a requirement I place higher than the ethic of "least impact", that's all. > Is it overly idealistic of me to imagine that programmers might > have better things to do than keep rehashing old code to make > it work with the latest MS bugfest? 'Tis a mix of idealism, cynicism and name-calling, I'll warrant. (-: >> Thing is, where do you draw the line? Any vendor can remove >> any part of their OS at any time for any reason. > > This is precisely my point. There is no line, but I draw that > non-existent line as high up as I can reach. So your goal is to use NO part of the OS, if at all possible? (Which, actually, isn't an unreasonable goal.) I don't disagree at all. It's a matter of relative priorities and assesments. I suspect your negative view of MS informs yours just as my more positive view of same does mine. -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/16/2003 8:46:52 PM Programmer Dude wrote: >>> In a windowing environment (be it MS or "nix" or Mac), shortcuts >>> and other GUI tools decouple launching a program from any sense >>> of cwd (tho many launch tools allow to you specify a directory). >> >> Like the ones built into windows even :> > > Yes. But how many *average* users understand them and use them? The figures are now in. Six average users understand Windows shortcuts, and another forty-two understand the concept of "current working directory". BTW, at least when writing my own stuff at home, I don't target average users. The average user can't tie his own shoelaces, IMHO, let alone use software in a proper manner, and writing for people like that is way too painful for words. If that sounds pompous, please rewind it and play it back again just to check your hearing, because I have a /tremendous/ amount of respect for people who /do/ target average users and who must, consequently, write drool-proof software. -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/17/2003 5:22:18 AM Programmer Dude wrote: > Richard Heathfield wrote: > >>> My environment hasn't had a well-defined sense of "current >>> directory" in years. >> >> I thought we were talking about Windows programs here? > > Indeed we are. Great. (Given the subject line, I thought I'd better check!) >>> The advent of GUI O/Ses really smudged out that concept in my >>> world (each app, each window, can have a cwd). >> >> Yes. Read that again. Each app can have a cwd. :-) > > Yes. Read what I wrote again. The **environment** doesn't have > a well-defined sense of cwd, **because** every window, every app, > has its own. Clash of word usages again, I'm afraid. I think of "environment" as "the thing that you keep environment variables in", so each program gets its own. But in your sense of the word, you are of course correct. > We are, AIUI, looking at this from the point of view > of launching an app from the OS, and I'm saying that the cwd WHEN > THAT APP LAUNCHES is not well-defined *without* the user taking > steps to *make* it well defined. This is certainly true. That doesn't mean the app can't find a "place to stand", though. >>> That's fine if you work in an environment that has a well-defined >>> sense of cwd. Such as a command line enviroment. Thing is, other >>> than (some!) programmers, who works in that environment much any >>> more? >> >> A /program/ has a well-defined sense of cwd, and many computer >> users still deign to use programs, even though the dear things >> may have left the command line behind forever. > > Cute answer, but it misses the point. The program has a well-defined > cwd WHEN IT RUNS, but WHEN IT LAUNCHES the cwd--in a GUI--is not well- > defined *without* the user taking steps to define it. All true, except the bit about my answer missing the point. (Honest!) Your point is, of course, that I can fire up the program from any directory I like, and yes, that's true. But this was /always/ true - even in DOS days. >>> In a windowing environment (be it MS or "nix" or Mac), shortcuts >>> and other GUI tools decouple launching a program from any sense >>> of cwd (tho many launch tools allow to you specify a directory). >> >> That decoupling has indeed happened for the /user/, but not for >> the program. > > Sure, but we're *talking* about the user launching programs (or > programs launched by the user, if you prefer passive voice :-). I thought we were talking about programs finding their config files. If we're not, please yell. :-) >> What I pine for is not the simplicity, but the humility; the >> programmer's attitude was "this is your computer, not mine, >> and I should minimise my footprint upon it". > > I agree absolutely. But, as with most things in life, it's not > a black and white situation, nor--for me--is it a *primary* > criterion in the face of other requirements. Reliable and robust > user configuration is a requirement I place higher than the ethic > of "least impact", that's all. Okay, that's a fair position to take, although I don't happen to take it myself, at least not for software I write at home. (Obviously, in a work setting, you follow the spec - and, if you're /writing/ the spec, you consider the need for drool-proof config in the light of information about your intended user base.) >> Is it overly idealistic of me to imagine that programmers might >> have better things to do than keep rehashing old code to make >> it work with the latest MS bugfest? > > 'Tis a mix of idealism, cynicism and name-calling, I'll warrant. (-: Verily, idealism and cynicism are most uneasy bedfellows, and yet they have made a nest together. As for name-calling, you're right, and I apologise. I should have said "...latest MS service pack". >>> Thing is, where do you draw the line? Any vendor can remove >>> any part of their OS at any time for any reason. >> >> This is precisely my point. There is no line, but I draw that >> non-existent line as high up as I can reach. > > So your goal is to use NO part of the OS, if at all possible? Yes, that's it in a nutshell. And if that goal is unattainable, then I can beat a measured retreat. For example, if I must use the filesystem, okay, I'll see if I can do that using ISO routines alone. If not, perhaps because I have to enquire the existence of a file without opening it, or need to create a directory or something, I'll try to achieve the objective using POSIX calls. If, for some reason, I can't do what I need to do with POSIX, I'll retreat a little further. But it's quite startling how much can be done without any kind of OS at all and, given the minor luxury of stream I/O, the amount you can do sky-rockets. (I know you know this.) > (Which, actually, isn't an unreasonable goal.) I don't disagree > at all. It's a matter of relative priorities and assesments. Right. > I suspect your negative view of MS informs yours just as my more > positive view of same does mine. When I first started using PCs, I was very pro-Microsoft. My negativity towards them stems from long years of using their programs. (But VB was cool. I'll give you that. VB was very cool. (Not that MS wrote it.)) -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/17/2003 5:48:17 AM Richard Heathfield <dontmail@address.co.uk.invalid> wrote in message news:<bmnvqv$bea$1@titan.btinternet.com>... > Programmer Dude wrote: > > > Richard Heathfield wrote: > > I suspect your negative view of MS informs yours just as my more > > positive view of same does mine. > > When I first started using PCs, I was very pro-Microsoft. My negativity > towards them stems from long years of using their programs. (But VB was > cool. I'll give you that. VB was very cool. (Not that MS wrote it.)) I've used MS software for many years too and i can't say i've experienced a particular change in attitude toward them, it was always mixed and remains comparatively mixed now. There's much about DOS, Windows 3.1, Windows 9x and Windows 2000 that i've liked over the years, same goes for many apps MS has produced (not least Excel). The reasons for alternatives (to me) are for freshness and change, but mostly with MS it's licensing and security (much of which is an issue precisely because of it's ubiquity, assisted by some notable design flaws). Hence i also use Linux, now and then. I've never experienced that rapturous joy seemingly implied by the accounts given by proponents on comp.os.linux.advocacy and other linux user communities. Admiration yes, frustration occasionally but not a life changing revelationary experience. I think that may partly be because, since the onset of the internet and the ready availability of freeware and OSS you can make Windows a far more enriching experience too and the impact of the OS becomes a little less important relative to the whole experience, for me anyway.   0 Reply gswork (648) 10/17/2003 12:40:42 PM Richard Heathfield wrote: >> But how many *average* users understand them and use [Windows >> shortcuts effectively]? > > The figures are now in. Six average users understand Windows > shortcuts, and another forty-two understand the concept of > "current working directory". I think at least three of them gave vague answers that disguised the fact they really *didn't* know! > BTW, at least when writing my own stuff at home, I don't target > average users. Likewise! I'm my favorite user, because I know I can always count on that user to use the software intelligently. (Well, USUALLY!) > The average user can't tie his own shoelaces, IMHO, let alone use > software in a proper manner,... [grin] Either hyperbole or you are one cynical SOAG. > ...and writing for people like that is way too painful for words. But *that* is, as you say, painfully true. > ...I have a /tremendous/ amount of respect for people who /do/ > target average users and who must, consequently, write drool-proof > software. The amount of time I spend trying to make interfaces and systems that will be robust in a factory setting (which includes factory workers as users) .... [sigh] -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/17/2003 3:19:53 PM Richard Heathfield wrote: >> The **environment** doesn't have a well-defined sense of cwd, >> **because** every window, every app, has its own. > > Clash of word usages again, I'm afraid. I think of "environment" > as "the thing that you keep environment variables in", so each > program gets its own. That must be very confusing when you read articles about global warming or the ozone layer! (-: >> We are, AIUI, looking at this from the point of view of launching >> an app from the OS, and I'm saying that the cwd WHEN THAT APP >> LAUNCHES is not well-defined *without* the user taking steps to >> *make* it well defined. > > This is certainly true. That doesn't mean the app can't find a > "place to stand", though. In fact, we are talking exactly about how an app finds that place. >> Cute answer, but it misses the point. The program has a >> well-defined cwd WHEN IT RUNS, but WHEN IT LAUNCHES the cwd--in >> a GUI--is not well-defined *without* the user taking steps to >> define it. > > All true, except the bit about my answer missing the point. I'm not so sure, because... > Your point is, of course, that I can fire up the program from any > directory I like, and yes, that's true. ....So far so good... > But this was /always/ true - even in DOS days. ....true, but the real point is that--IN A GUI environment--it is a *lot* less obvious. Most folks had a MS-DOS prompt that announce the path in every prompt. Even if not, the fact that you had to type "CD ....whatever..." made the concept of cwd a lot more distinct than it is in a GUI. >>> That decoupling has indeed happened for the /user/, but not for >>> the program. >> >> Sure, but we're *talking* about the user launching programs (or >> programs launched by the user, if you prefer passive voice :-). > > I thought we were talking about programs finding their config files. > If we're not, please yell. :-) we are. For a program to find its config files, those files need to be in a known place or in a place the program can discover. We're talking about that discovery. The decoupling for the user *MEANS* that the cwd WHEN A PROGRAM STARTS is essentially random. Therefore, how does a program find its config files if we prefer to disregard the Registry? We agree argv[0] is a poor choice, and I consider GetCommandLine() an equally poor choice for the same reason. In light of the discussion above, I'd also not use_getcwd(), because there's no guarentee *what* it'll return in a GUI environment. One is left with the Registry, GetModuleFilename() and one thing we haven't yet mentioned (anyone? anyone?). Here's a giveaway: vim (on PCs) uses it (or can) to find its config files (vim does NOT use the Registry). I have used, and will continue to use, all three of the above depending on my needs (but I do find the Registry very useful once a program reaches a certain level of "fully featured"). >> I agree absolutely. But, as with most things in life, it's not >> a black and white situation, nor--for me--is it a *primary* >> criterion in the face of other requirements. Reliable and robust >> user configuration is a requirement I place higher than the ethic >> of "least impact", that's all. > > Okay, that's a fair position to take, although I don't happen to > take it myself, at least not for software I write at home. > (Obviously, in a work setting, you follow the spec - and, if you're > /writing/ the spec, you consider the need for drool-proof config in > the light of information about your intended user base.) Yep. And my user base is invariably "average" (or less) computer users. They are far less aware of--or concerned about--the impact of installed software than they are of "usability". They just want it to work and work for them. That's their number one criterion. >>> ...the latest MS bugfest? >> >> 'Tis [...] name-calling, I'll warrant. (-: > > Verily, [...]. As for name-calling, you're right, and I apologise. > I should have said "...latest MS service pack". [bwg] I just figured out this morning why the common reflexive bashing of "X" (for any given "X") bothers me. I consider it a form of whining, and I consider whining *very* unseeming. Critical analysis of something is wonderful. Being unable to write the name of a company without corrupting it in some "cute" way...I donno, I think that's kinda lame. (That was a general rant, BTW, and not targeted directly at you.) > For example, if I must use the filesystem, okay, I'll see if I > can do that using ISO routines alone. If not, perhaps because > I have to enquire the existence of a file without opening it, > or need to create a directory or something, I'll try to achieve > the objective using POSIX calls. If, for some reason, I can't > do what I need to do with POSIX, I'll retreat a little further. > > But it's quite startling how much can be done without any kind > of OS at all and, given the minor luxury of stream I/O, the > amount you can do sky-rockets. (I know you know this.) Yes, and until recently would have followed a similar paradigm. What changed for me was a two-fold consideration: First, I realized that there was a small probability of porting most of my work to other platforms (and even smaller of porting to a non-GUI platform). Second, I began to wonder if using official Windows API calls would be a benefit over the more generic calls (e.g. CreateFile() over fopen()). What little I've considered on the issue suggests it is. Between the two I decided to just be a Windows programmer. It's my work environment and likely to remain so until I retire (which isn't THAT far off). Given that work is Windows, it makes no sense (to me) to have a unix variant or Mac at home. I don't need that sort of complexity in my life! So that's all just me and why I make the choices I do. >> I suspect your negative view of MS informs yours just as my more >> positive view of same does mine. > > When I first started using PCs, I was very pro-Microsoft. My > negativity towards them stems from long years of using their > programs. I will admit that one some days I could cheerfully throttle each of them bare-handed. Particularly after a day of struggling between MS Query editor, MS SQL Server and MS Access (which all have three different flavors of SQL)! But when I can, in a couple hours, create sophisticated charts and graphics in Excel that are hot linked to production databasen on an SQL server and which have a series of PowerPoint presentations linked to the charts (meaning you can give a presentation in which the charts, graphs and tables reflect TO THE INSTANT production data) then I think they are pretty way cool. What I continue to wish is that they'd get out of the OS business and focus on their apps. -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/17/2003 4:04:37 PM Programmer Dude wrote: > Richard Heathfield wrote: > >> I think of "environment" as "the thing that you keep >> environment variables in", so each program gets its own. > > That must be very confusing when you read articles about global > warming or the ozone layer! (-: Not at all. It's just another environment, with its own set of variables. The concept nests (or meta-nests, perhaps, in this case) very nicely. <snip> >> Your point is, of course, that I can fire up the program from any >> directory I like, and yes, that's true. > > ...So far so good... > >> But this was /always/ true - even in DOS days. > > ...true, but the real point is that--IN A GUI environment--it is a > *lot* less obvious. Most folks had a MS-DOS prompt that announce > the path in every prompt. Even if not, the fact that you had to > type "CD ....whatever..." made the concept of cwd a lot more distinct > than it is in a GUI. Yeah. It's pretty obvious that you care a lot more about this than I do, and I've been trying to work out why. Just a guess, but I suspect you write more end-luser code than I do. (A lot of my work is in libraries and filters, where all this config stuff matters a little bit but not very much.) <snip> > For a program to find its config files, those files need to > be in a known place or in a place the program can discover. We're > talking about that discovery. The decoupling for the user *MEANS* > that the cwd WHEN A PROGRAM STARTS is essentially random. Doesn't matter, particularly. The program can find its own directory and look for the config in there. > Therefore, how does a program find its config files if we prefer to > disregard the Registry? We agree argv[0] is a poor choice, and I > consider GetCommandLine() an equally poor choice for the same reason. Check ~/.myappname :-) Okay, argv[0] is a poor choice but might still be doable, depending on how kind the startup code is to you. I understand the problem with GetCommandLine from a security point of view, but a casual luser is not going to tweak it (or, if they do, they should not be surprised if that tweaking breaks something). > In light of the discussion above, I'd also not use_getcwd(), because > there's no guarentee *what* it'll return in a GUI environment. > > One is left with the Registry, GetModuleFilename() and one thing > we haven't yet mentioned (anyone? anyone?). win.ini :-) <snip> >> But it's quite startling how much can be done without any kind >> of OS at all and, given the minor luxury of stream I/O, the >> amount you can do sky-rockets. (I know you know this.) > > Yes, and until recently would have followed a similar paradigm. > What changed for me was a two-fold consideration: First, I realized > that there was a small probability of porting most of my work to > other platforms (and even smaller of porting to a non-GUI platform). Ah, the luxury of single-platform development! Lucky chap (even if the platform is... - oh, skip it, let's not go there today...) <snip> > What I continue to wish is that [MS]'d get out of the OS business > and focus on their apps. Heh - I have precisely the opposite viewpoint. I have no problem with their providing the OS, if only they'd focus on making it work and drop all this distracting application development. -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/17/2003 7:35:45 PM Richard Heathfield wrote: >>> I think of "environment" as "the thing that you keep >>> environment variables in", so each program gets its own. >> >> That must be very confusing when you read articles about global >> warming or the ozone layer! (-: > > Not at all. It's just another environment, with its own set of > variables. The concept nests (or meta-nests, perhaps, in this > case) very nicely. I would have thought so. Couldn't figure what threw you when I wrote "My environment hasn't had a well-defined sense of...". > It's pretty obvious that you care a lot more about this than I do, > and I've been trying to work out why. Well, now you know! ALL my (professional) work has average-type end users. I care because I have to!! >> The decoupling for the user *MEANS* that the cwd WHEN A PROGRAM >> STARTS is essentially random. > > Doesn't matter, particularly. The program can find its own > directory and look for the config in there. Right, and the issue is, or was, how it goes about doing that. > I understand the problem with GetCommandLine from a security > point of view, but a casual luser is not going to tweak it (or, > if they do, they should not be surprised if that tweaking breaks > something). I don't think I'm getting through here. I'm not concerned too much about the user playing tricks, but what a GUI shell (usually Windows, but could be some user tool or shell) might do to the commandline via how it calls CreateProcess. Nothing *requires* argv[0], or what you get with GetCommandLine(), to be anything in particular. Relying on either of these is not unlike relying on void main() "because it's always worked for me." There's a chance that will byte you someday. >> One is left with the Registry, GetModuleFilename() and one thing >> we haven't yet mentioned (anyone? anyone?). > > win.ini :-) Win.ini is really the Registry Version -1 (or something like that). You'll find the old "Profile" calls in the same section as the newer Registry calls. But for all that, not a bad answer. The expected answer, for 200$, was "environmental variables" (an
answer I suspect you deliberately avoided! :-)

>> ...I realized that there was a small probability of porting
>> most of my work to other platforms (and even smaller of
>> porting to a non-GUI platform).
>
> Ah, the luxury of single-platform development!

It was a little weird making that decision, particularly as it came
not long after my company gave up on unix (for reasons having nothing
to do with unix).  At the time I was using MS-DOS as a home work
environment (Windows 3.whatever didn't do it for me as a development
environment) and writing for unix/VAX/MS-DOS targets.

By Windows 95 we were all Windows (darn near, anyway), and I had
found W95 a reasonable work environment (although the nice unix
X workstation with six virtual desktops and admin privs all over
the company made it seem somewhat toylike).  (What really finalized
my move to Windows was finding gvim and WinGrep!)

In any event, I can always return to more generic programming if
events call for it, but for now it's Windows.  And it is rather
nice in some regards to just ahead and use all that neat Windowy
stuff!  (-;

>> What I continue to wish is that [MS]'d get out of the OS business
>> and focus on their apps.
>
> Heh - I have precisely the opposite viewpoint. I have no problem
> with their providing the OS, if only they'd focus on making it
> work and drop all this distracting application development.

I understand.  It's just not very realistic from a business point
of view.  Ya can't make much selling an OS.

They work so hard to "protect" Windows it's a drain on them and
on us (consider all that config BS with XP).  If they'd just open
the dang OS, benefit from the "lots of eyes" phenomenon that made
unix so good, we'd all benefit.  And they could still make a ton
of money on their apps.

--
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL  |
|_____________________________________________|_______________________|

 0
Reply Chris7 (2511) 10/17/2003 9:16:41 PM

Programmer Dude wrote:
> Richard Heathfield wrote:
>> Programmer Dude wrote:

>>> One is left with the Registry, GetModuleFilename() and one thing
>>> we haven't yet mentioned (anyone? anyone?).
>>
>> win.ini :-)
>
> Win.ini is really the Registry Version -1 (or something like that).
> You'll find the old "Profile" calls in the same section as the newer

<appname>.ini would have been a better answer, though. And <appname>.ini
should contain the /minimum/ amount of information necessary for locating
the application.

> The expected answer, for 200$, was "environmental variables" (an > answer I suspect you deliberately avoided! :-) Yes, I did. If a user doesn't know what a directory is, how on earth is he supposed to know what an environment variable is? > By Windows 95 we were all Windows (darn near, anyway), and I had > found W95 a reasonable work environment (although the nice unix > X workstation with six virtual desktops and admin privs all over > the company made it seem somewhat toylike). (What really finalized > my move to Windows was finding gvim and WinGrep!) Believe it or not, I actually used WinGrep (and Turbo C's grep) way before I used the Linux grep. I heard complaints from Unix/Linux people that DOS greps couldn't handle pipes properly, and I couldn't imagine what they were talking about - why would anyone want to pipe through grep anyway? (Yes, you guessed it - now, whenever I have to use grep on DOS/Winconsole, I find myself bitching at its inability to handle piped input...) > In any event, I can always return to more generic programming if > events call for it, but for now it's Windows. And it is rather > nice in some regards to just ahead and use all that neat Windowy > stuff! (-; Oh, sure, the toys are nice, and nobody denies it. >>> What I continue to wish is that [MS]'d get out of the OS business >>> and focus on their apps. >> >> Heh - I have precisely the opposite viewpoint. I have no problem >> with their providing the OS, if only they'd focus on making it >> work and drop all this distracting application development. > > I understand. It's just not very realistic from a business point > of view. Ya can't make much selling an OS. And I care how? ;-) -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/18/2003 7:20:21 AM Programmer Dude <Chris@Sonnack.com> wrote in message news:<3F901315.386C3350@Sonnack.com>... > Richard Heathfield wrote: > >>> ...the latest MS bugfest? > >> > >> 'Tis [...] name-calling, I'll warrant. (-: > > > > Verily, [...]. As for name-calling, you're right, and I apologise. > > I should have said "...latest MS service pack". > > [bwg] I just figured out this morning why the common reflexive > bashing of "X" (for any given "X") bothers me. I consider it a > form of whining, and I consider whining *very* unseeming. Critical > analysis of something is wonderful. Being unable to write the name > of a company without corrupting it in some "cute" way...I donno, > I think that's kinda lame. (That was a general rant, BTW, and not > targeted directly at you.) A rant worth making. Those who feel the need to say 'windoze', 'micro$haft' or any of those popular exercises in juvinile name
calling risk losing much of their credibility when going on to explain
their preferences further.  Unfortunately this characterises much of
the 'advocacy' communities surrounding operating systems, and is
picked up on by otherwise regular folk who feel a need to be seen to
be 'cool' and with it, or something.

> Second, I began to wonder if using official Windows API calls would
> be a benefit over the more generic calls (e.g. CreateFile() over
> fopen()).  What little I've considered on the issue suggests it is.
>
> Between the two I decided to just be a Windows programmer. It's
> my work environment and likely to remain so until I retire (which
> isn't THAT far off).  Given that work is Windows, it makes no sense
> (to me) to have a unix variant or Mac at home.  I don't need that
> sort of complexity in my life!
>
> So that's all just me and why I make the choices I do.

Have you tried them though?  I do find different OSes interesting, the
way they so clearly borrow from one another for one.

> I will admit that one some days I could cheerfully throttle each
> of them bare-handed.  Particularly after a day of struggling between
> MS Query editor, MS SQL Server and MS Access (which all have three
> different flavors of SQL)!
>
> But when I can, in a couple hours, create sophisticated charts and
> graphics in Excel that are hot linked to production databasen on
> an SQL server and which have a series of PowerPoint presentations
> linked to the charts (meaning you can give a presentation in which
> the charts, graphs and tables reflect TO THE INSTANT production data)
> then I think they are pretty way cool.

MS are like that.  Infuriating in some ways and really smart in
others.

>
> What I continue to wish is that they'd get out of the OS business
> and focus on their apps.

They seem to be spreading away from a PC centric view now and taking
more an more interest in 'devices' and networks.

 0
Reply gswork (648) 10/20/2003 7:38:32 AM

gswork wrote:

>> I consider it a form of whining, and I consider whining *very*
>> unseeming.  Critical analysis of something is wonderful.  Being
>> unable to write the name of a company without corrupting it in
>> some "cute" way...I donno, I think that's kinda lame.  (That was
>> a general rant, BTW, and not targeted directly at you.)
>
> A rant worth making.   Those who feel the need to say 'windoze',
> 'micro$haft' or any of those popular exercises in juvinile name > calling risk losing much of their credibility when going on to > explain their preferences further. Unfortunately this > characterises much of the 'advocacy' communities surrounding > operating systems, and is picked up on by otherwise regular > folk who feel a need to be seen to be 'cool' and with it, or > something. There is also, I think, a very human tendancy to build oneself up by knocking something down (thereby showing yourself superior). You see this a lot in the fanish groups (such as with movie reviews). If you can point out all the flaws, you must be superior (or so the logic goes). There's also the fact that it's easy to criticize, but hard to create. >> Between the two I decided to just be a Windows programmer. It's > > my work environment and likely to remain so until I retire (which >> isn't THAT far off). Given that work is Windows, it makes no sense >> (to me) to have a unix variant or Mac at home. I don't need that >> sort of complexity in my life! > > Have you tried them though? Absolutely. Played with early and middle Macs (not in the last few years, though), and spent several years in the unix world not that long ago (recently enough to still miss certain aspects of it (like awk--loved awk!)). I make no claim for having settled on the *best* OS or environment. Just the one with the best "impedance match" to my current life. >> I will admit that one some days I could cheerfully throttle each >> of them bare-handed. [...] But [other times] I think they are >> pretty way cool. > > MS are like that. Infuriating in some ways and really smart in > others. Generally, their good points outweigh their bad points by quite a margin. There's just those days of spending hours trying to get something that *seems* like it should work to, in fact, work. >> What I continue to wish is that they'd get out of the OS business >> and focus on their apps. > > They seem to be spreading away from a PC centric view now and taking > more an more interest in 'devices' and networks. I, for one, am hoping their--and everyone's--interest in Network Computer falls flat on its face. We have that some some extent here, and (to my eyes) it's a nightmare. The office secretary just lost a doc she was working on last week due to network hiccups (and the IT drive to get people to keep documents on network drives). -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/20/2003 4:34:08 PM Richard Heathfield wrote: >>> win.ini :-) >> >> Win.ini is really the Registry Version -1 (or something like that). >> You'll find the old "Profile" calls in the same section as the >> newer Registry calls. But for all that, not a bad answer. > > <appname>.ini would have been a better answer, though. I would consider it a *worse* answer! You either need to pollute the Windows directory with <appname>.ini, OR you're right back to the original problem (not knowing the directory), because you have to supply the full pathname to access "private" INI files. One should also consider that INI files are considered obsolete by Windows and *can* be mapped onto Registry calls in some conditions. Personally, if I were going to use INI files, I'd skip Windows' API altogether and use my own INI file library (which provides greater control and flexibility and is cross-platform (it was originally developed on unix to replicate Windows INI files!)). But that doesn't help with finding the app directory. >> ..."environmental variables"... > > If a user doesn't know what a directory is, how on earth is he > supposed to know what an environment variable is? True, but *you* can set those during install in a variety of ways. ("EnVars" would be about my last choice, though. I consider them a "quick'n'dirty" method.) > Believe it or not, I actually used WinGrep (and Turbo C's grep) > way before I used the Linux grep. I had the TC (and someone else's MS-DOS version of) grep for a short while before I learned unix, but it wasn't well documented, so I never really got into it. Unix changed all that! (-: That started a search for unix tools that worked in Windows, and WinGrep was a *wonderful* find! I just wish it handled full regex's rather than the simplified set it does. -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/20/2003 4:49:23 PM Programmer Dude wrote: > .... snip ... > > That started a search for unix tools that worked in Windows, and > WinGrep was a *wonderful* find! I just wish it handled full regex's > rather than the simplified set it does. DJGPP is the answer :-) -- Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net) Available for consulting/temporary embedded and systems. <http://cbfalconer.home.att.net> USE worldnet address!   0 Reply cbfalconer (19194) 10/20/2003 9:22:47 PM Programmer Dude wrote: > gswork wrote: > .... snip ... > > > > MS are like that. Infuriating in some ways and really smart in > > others. > > Generally, their good points outweigh their bad points by quite a > margin. There's just those days of spending hours trying to get > something that *seems* like it should work to, in fact, work. Try this: <http://aaxnet.com/editor/edit029.html> -- Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net) Available for consulting/temporary embedded and systems. <http://cbfalconer.home.att.net> USE worldnet address!   0 Reply cbfalconer (19194) 10/20/2003 9:22:50 PM CBFalconer wrote: >> Generally, their good points outweigh their bad points by quite a >> margin. There's just those days of spending hours trying to get >> something that *seems* like it should work to, in fact, work. > > Try this: <http://aaxnet.com/editor/edit029.html> Am familiar with the site and have read that page before.... what's your point? -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/20/2003 9:31:01 PM CBFalconer wrote: >> That started a search for unix tools that worked in Windows, and >> WinGrep was a *wonderful* find! I just wish it handled full >> regex's rather than the simplified set it does. > > DJGPP is the answer :-) Not to any question of mine! (-: -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/20/2003 9:32:45 PM In article <81f33a98.0310192338.3ef9a04f@posting.google.com>, gswork <gswork@mailcity.com> wrote: >Programmer Dude <Chris@Sonnack.com> wrote in message >news:<3F901315.386C3350@Sonnack.com>... >> Richard Heathfield wrote: > >> >>> ...the latest MS bugfest? >> >> >> >> 'Tis [...] name-calling, I'll warrant. (-: >> > >> > Verily, [...]. As for name-calling, you're right, and I apologise. >> > I should have said "...latest MS service pack". >> >> [bwg] I just figured out this morning why the common reflexive >> bashing of "X" (for any given "X") bothers me. I consider it a >> form of whining, and I consider whining *very* unseeming. Critical >> analysis of something is wonderful. Being unable to write the name >> of a company without corrupting it in some "cute" way...I donno, >> I think that's kinda lame. (That was a general rant, BTW, and not >> targeted directly at you.) > >A rant worth making. Those who feel the need to say 'windoze', >'micro$haft' or any of those popular exercises in juvinile name
>calling risk losing much of their credibility when going on to explain
>their preferences further.  Unfortunately this characterises much of
>the 'advocacy' communities surrounding operating systems, and is
>picked up on by otherwise regular folk who feel a need to be seen to
>be 'cool' and with it, or something.

What's your opinion on using "winderz" to describe software designed
with the philosophy (excessively common in, but not exclusive to,
Microsoft Windows) that superficial ease-of-use is more important
than having things like consistent interfaces, substance behind the
point-and-drool interface that makes it easy to use in the long term,
or interface features that encourage usage patterns that make a positive
contribution to stability and security?

(I often find myself having to explain the term in detail after referring
to something (usually, but not always, a mass-market Linux distribution)
as "a better winderz than Windows".)

Just a random tangent...

dave

--
Dave Vandervies                          dj3vande@csclub.uwaterloo.ca
Have some pride, you're a physics major! You know deep in your heart
you're better than the rest of the slobs there, you should be able to
knock this course off easily.     --Brian B. Rodenborn in comp.lang.c

 0
Reply dj3vande (669) 10/20/2003 10:53:34 PM

Programmer Dude wrote:
> CBFalconer wrote:
>
> >> That started a search for unix tools that worked in Windows,
> >> and WinGrep was a *wonderful* find!  I just wish it handled
> >> full regex's rather than the simplified set it does.
> >
> > DJGPP is the answer :-)
>
> Not to any question of mine!  (-:

Oh? I thought you wanted unix tools, grep with full regex, etc.?
Maybe things like tail and uniq, or maybe strings and pr?

--
Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net)
Available for consulting/temporary embedded and systems.


 0
Reply cbfalconer (19194) 10/21/2003 3:23:08 AM

Programmer Dude wrote:
>
> CBFalconer wrote:
>
> >> Generally, their good points outweigh their bad points by quite a
> >> margin.  There's just those days of spending hours trying to get
> >> something that *seems* like it should work to, in fact, work.
> >
> > Try this: <http://aaxnet.com/editor/edit029.html>
>
> Am familiar with the site and have read that page before.... what's

--
Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net)
Available for consulting/temporary embedded and systems.


 0
Reply cbfalconer (19194) 10/21/2003 3:23:11 AM

dj3vande@csclub.uwaterloo.ca (Dave Vandervies) wrote in message news:<bn1p1e$cqo$2@rumours.uwaterloo.ca>...
> gswork <gswork@mailcity.com> wrote:
> >Programmer Dude <Chris@Sonnack.com> wrote in message
> >news:<3F901315.386C3350@Sonnack.com>...
> >> Richard Heathfield wrote:
>
> >> >>> ...the latest MS bugfest?
> >> >>
> >> >> 'Tis [...] name-calling, I'll warrant. (-:
> >> >
> >> > Verily, [...]. As for name-calling, you're right, and I apologise.
> >> > I should have said "...latest MS service pack".
> >>
> >> [bwg]  I just figured out this morning why the common reflexive
> >> bashing of "X" (for any given "X") bothers me.  I consider it a
> >> form of whining, and I consider whining *very* unseeming.  Critical
> >> analysis of something is wonderful.  Being unable to write the name
> >> of a company without corrupting it in some "cute" way...I donno,
> >> I think that's kinda lame.  (That was a general rant, BTW, and not
> >> targeted directly at you.)
> >
> >A rant worth making.   Those who feel the need to say 'windoze',
> >'micro$haft' or any of those popular exercises in juvinile name > >calling risk losing much of their credibility when going on to explain > >their preferences further. Unfortunately this characterises much of > >the 'advocacy' communities surrounding operating systems, and is > >picked up on by otherwise regular folk who feel a need to be seen to > >be 'cool' and with it, or something. > > What's your opinion on using "winderz" to describe software designed > with the philosophy (excessively common in, but not exclusive to, > Microsoft Windows) that superficial ease-of-use is more important > than having things like consistent interfaces, substance behind the > point-and-drool interface that makes it easy to use in the long term, > or interface features that encourage usage patterns that make a positive > contribution to stability and security? I'd say that a great many Windows apps do have consistent interfaces in terms of the common ways of doing things, especially 'serious apps', stuff like where menus are and what's on them, how help files work, shortcut keys (e.g. copy and paste - doesn't have to be the same, but almost always is). If there were no shortcut keys, or you couldn't use Alt to start working with the menu via the keyboard - then i'd be as critical as you. If you watch experienced Windows users, you notice they use their keyboards much more than their mice. These things tend to stay the same over multiple versions of the same app and so patterns are built up - sure some people point to Edit->Copy clicking all over the place, others just do Ctrl-c and other do Alt-e-c Similar things can be achieved using KDE or Gnome on Linux IME, though it's less consistent IMO (but then i use all kinds of apps, not just the big sensible ones). I like having the choice of how to interact with the program. The Linux cli is much more potent though, and i don't like vbscript!   0 Reply gswork (648) 10/21/2003 7:32:26 AM CBFalconer <cbfalconer@yahoo.com> wrote in message news:<3F949E50.8F328CDE@yahoo.com>... > Programmer Dude wrote: > > > > CBFalconer wrote: > > > > >> Generally, their good points outweigh their bad points by quite a > > >> margin. There's just those days of spending hours trying to get > > >> something that *seems* like it should work to, in fact, work. > > > > > > Try this: <http://aaxnet.com/editor/edit029.html> > > > > Am familiar with the site and have read that page before.... what's > > your point? > > I am contradicting your first sentence quoted above. The article certainly endeavours to do so. It's among the most onesided appraisals of the IT future i've read. Lot's ifs and maybes. Generally what MS does isn't as bad as what the doomsayers predict, and is always worse that what one personally had hoped for. I'm glad the article exists though, eternal vigilance and all that. Like with the music industry - i think the consumer alternative to repellant licensing is simply not to consume, or to consume the (usually free) alternatives. You can, today, migrate OS, Office software and even major business systems to alternatives, whether it's software that works on Widnows or Linux, commercial, free or OSS. The decision to do so comes from weighing up the effective cost of going down each alternate path - as it has always been. I did find this http://www.j-walk.com/ss/excel/office11/ with the amusing "I decided to stop updating this section. Frankly, Excel 2003 is a major disappointment." IMO, The Excel team excelled themselves with Excel 97 and have just added bits and pieces since. The jury is still out on XML and Office AFAIK, i do know that i can save xls files in acceptable XML already in Excel XP.   0 Reply gswork (648) 10/21/2003 1:02:17 PM CBFalconer wrote: >>>> That started a search for unix tools that worked in Windows, >>>> and WinGrep was a *wonderful* find! I just wish it handled >>>> full regex's rather than the simplified set it does. >>> >>> DJGPP is the answer :-) >> >> Not to any question of mine! (-: > > Oh? I thought you wanted unix tools, grep with full regex, etc.? > Maybe things like tail and uniq, or maybe strings and pr? You know, it's funny, as much as I enjoyed head, tail and uniq, I can't honestly say I miss them. I should probably rephrase that... :-| But, seriously, used to use tail all the time, now I can barely think of a case where I'd want it, let alone need it. I think my life became a lot less text-ish when I left unix. Strings? Bah, just pop the file into any of several hex editors, my own ancient MS-DOS version or even vim. But again, the number of times I've needed to find strings in a binary file... can't think of one. A full regexp grep would be convenient as would sed and some other commandline tools, but gvim provides a lot of that functionality, WinGrep provides a bit more, Perl scripts take up the slack just fine (for those times I really do want a full regexp find/grep/sed). Need awk? Got Perl! Need sed? Got Perl!! Need wc? Got Perl!!! (-: Bottom line, any platform other than Windows is inconvenient to me and not worth the effort for what I perceive to be slight, if any, gain. And I happen to like Windows. At this point, I find it a reasonably usable system with decent tools and adequate robustness. Come to think of it, at this point I probably would *opt* for Windows unless the alternative was a *very* sophisticated windowing unix environment that had the same database and document connectivity as Windows. It any unice capable of doing what I described earlier? I don't know having been away from it for about five years. That is: a PowerPoint (or equiv. presentation medium) presentation hot linked to Excel (or equiv.) tables, charts and graphs, which are in turn hot linked to a remote database. With the end result that I can present a slide show that automatically displays up-to-the-instant production data that has been rather heavily massaged. If you can't do that (unices couldn't when I last knew them), you're simply not playing in my ballpark. -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/21/2003 4:33:29 PM CBFalconer wrote: >>>> Generally, their good points outweigh their bad points by quite >>>> a margin. >>> >>> Try this: <http://aaxnet.com/editor/edit029.html> >> >> Am familiar with the site and have read that page before.... what's >> your point? > > I am contradicting your first sentence quoted above. You presume to contradict my personal *opinion*? Um,.... I don't think so. And the fact is, considering the entire body of work, I think it is entirely arguable that their good points do indeed outweight their bad points, and by considerable margin. Word works exactly as advertised 99.99999% of the time (IME). Excel ... ditto PowerPoint ... ditto MS Access ... ditto SQL Server ... ditto Visual BASIC ... ditto Visual C++ ... ditto The list goes on. Sure there's reason to dislike them as a company, and there's reason to be frustrated by their software (and the number of perfectly working, *hugely* complex pieces of software you know of is?). But my overwhelming experience is they make some pretty cool stuff that works amazingly well considering what all it does. That said, I certainly wouldn't mind if there were more *viable* choices in the Business Desktop world--a world that requires that you support and maintain thousands of "extremely average" users spread worldwide. This includes the need for network security and remote administration and configuration as well as a Desktop environment capable of being used productively by "ordinary folks". -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/21/2003 4:45:14 PM Programmer Dude wrote: > Word works exactly as advertised 99.99999% of the time (IME). MMV. Not seen the adverts, but I presume they don't mention it crashing constantly and being a general pig to use. Also, it's damned hard to read Word files in a text editor. (I've tried.) Sending me a Word file via email is just about the best way to get one's address added to my spam filter. > Excel ... ditto Agreed, in this case. > PowerPoint ... ditto MMV. > MS Access ... ditto MMV. > SQL Server ... ditto I've never actually used this, so I don't know. > Visual BASIC ... ditto Agreed, more or less. > Visual C++ ... ditto Um, no. Quite apart from the supposedly easy-to-use MFC which I find impenetrable, VC++ contains serious bugs. Just today, my son wrote a simple program which he compiled using Visual C++. On seeing that the program produced no output, he assumed he had made a mistake. He hadn't. The program was what Doug Gwyn would call strictly conforming. The compiler was buggy. (Hey, how many 13-year-olds find bugs in a commercial C compiler?) -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/21/2003 7:37:56 PM Richard Heathfield wrote: >> Word works exactly as advertised 99.99999% of the time (IME). > > MMV. Not seen the adverts, but I presume they don't mention it > crashing constantly... I *may* have experienced Word crashing a couple times in many years. That hardly qualifies--in my experience--as "constantly". And the experience of *hundreds* of users I *know* about matches mine much more than (apparently) yours. So I have to wonder if there isn't some hyperbole involved here. > ...and being a general pig to use. Clearly your MMV, since I find it (usually) a joy to use. And I speak as someone who has created a LOT of tech manuals and docs over the years. There is also the fact that I can manipulate it programmatically with the same precision as I can at the GUI. This means I can create *highly* formatted documents from VB or VC++. > Also, it's damned hard to read Word files in a text editor. That might be a complaint on your part. It's not even a consideration on the part of most users. For the simple reason that text editors can't (usually) display mixed fonts, formatting, embedded images or other OLE objects, etc., etc. Don't get me wrong. Text editors are great. If you're a programmer. >> PowerPoint ... ditto > > MMV. [shrug] Again, lots of experience on my part and on the part of the user base at my company suggests PP does it what it says it does. And I mention again the programmatic interface as well as the ability to embed linked documents of other types. >> MS Access ... ditto > > MMV. Used as a small/personal database, it's a delight. Lots of stuff automated via click and drag or "do it for you" wizards, plus the ability to customize to your heart's content. (Plus, again, that programmatic interface, not to mention that all these products share a common, rather powerful, "macro" language.) >> SQL Server ... ditto > > I've never actually used this, so I don't know. Very decent product! >> Visual BASIC ... ditto > > Agreed, more or less. > >> Visual C++ ... ditto > > Um, no. Quite apart from the supposedly easy-to-use MFC which I > find impenetrable, VC++ contains serious bugs. Again, considering the number of successful applications created with it, that's hyperbole. > Just today, my son wrote a simple program which he compiled using > Visual C++. On seeing that the program produced no output, he > assumed he had made a mistake. He hadn't. The program was what > Doug Gwyn would call strictly conforming. The compiler was > buggy. Care to share the error in question? -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/21/2003 9:07:02 PM Programmer Dude wrote: > Richard Heathfield wrote: > >>> Word works exactly as advertised 99.99999% of the time (IME). >> >> MMV. Not seen the adverts, but I presume they don't mention it >> crashing constantly... > > I *may* have experienced Word crashing a couple times in many years. > That hardly qualifies--in my experience--as "constantly". And the > experience of *hundreds* of users I *know* about matches mine much > more than (apparently) yours. Fine, hoopy, terrific. Perhaps you have some kind of Microsoft gene. I lack it. Word crashes /constantly/ for me. > So I have to wonder if there isn't some hyperbole involved here. No. I don't think I've ever used Word for more than an hour straight, on any machine, without it crashing. If it doesn't do that for you, fabulous. Perhaps it's got a "detect Richard H" routine in it somewhere. >> ...and being a general pig to use. > > Clearly your MMV, since I find it (usually) a joy to use. And I > speak as someone who has created a LOT of tech manuals and docs > over the years. There is also the fact that I can manipulate it > programmatically with the same precision as I can at the GUI. This > means I can create *highly* formatted documents from VB or VC++. > >> Also, it's damned hard to read Word files in a text editor. > > That might be a complaint on your part. It's not even a consideration > on the part of most users. For the simple reason that text editors > can't (usually) display mixed fonts, formatting, embedded images or > other OLE objects, etc., etc. Yes, it's merely a complaint on my part. Call it an interoperability issue. Since I refuse to use a word processor that won't stay still for even as long as an hour (at least for me), it /does/ matter to me when people are foolish enough to send me stuff in a proprietary format. > Don't get me wrong. Text editors are great. If you're a programmer. Quite so. They are also great for reading text. (So - please, people, if you're going to send me text, send it in a format that a text editor can present properly. And if you were planning on sending me anything but text, please check with me first wrt formats, in text. Thanks.) >>> PowerPoint ... ditto >> >> MMV. > > [shrug] Again, lots of experience on my part and on the part of > the user base at my company suggests PP does it what it says it > does. And I mention again the programmatic interface as well as > the ability to embed linked documents of other types. This is another of those crash-n-go programs, I'm afraid, at least from my perspective. See above, wrt Word. >>> MS Access ... ditto >> >> MMV. > > Used as a small/personal database, it's a delight. Sure, but for small databases, text files are a delight, too. :-) > Lots of stuff > automated via click and drag or "do it for you" wizards, plus the > ability to customize to your heart's content. Hmmm. Not quite, Professor! The ability to customise to /your/ heart's content, I will accept. But not mine. >>> SQL Server ... ditto >> >> I've never actually used this, so I don't know. > > Very decent product! So I've heard - and I don't dispute it. >>> Visual BASIC ... ditto >> >> Agreed, more or less. >> >>> Visual C++ ... ditto >> >> Um, no. Quite apart from the supposedly easy-to-use MFC which I >> find impenetrable, VC++ contains serious bugs. > > Again, considering the number of successful applications created > with it, that's hyperbole. > >> Just today, my son wrote a simple program which he compiled using >> Visual C++. On seeing that the program produced no output, he >> assumed he had made a mistake. He hadn't. The program was what >> Doug Gwyn would call strictly conforming. The compiler was >> buggy. > > Care to share the error in question? Here's the source. #include <stdio.h> int main(void) { int blanks = 0; int tabs = 0; int newlines = 0; int ch = 0; while((ch = getchar()) != EOF) { if(ch == ' ') { blanks = blanks + 1; } else if(ch == '\t') { tabs = tabs + 1; } else if(ch == '\n') { newlines = newlines + 1; } } printf("There were %d spaces, %d tabs and %d new lines.\n", blanks, tabs, newlines); return 0; } When compiled under my copy of Visual C++ version 6.0 and provided with arbitrary input at runtime, this program produces no output. Of course, gcc produces a working binary. -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/22/2003 6:37:06 AM Richard Heathfield wrote: > Programmer Dude wrote: > >>Richard Heathfield wrote: >> >>>>Word works exactly as advertised 99.99999% of the time (IME). >>> >>>MMV. Not seen the adverts, but I presume they don't mention it >>>crashing constantly... >> >>I *may* have experienced Word crashing a couple times in many years. >>That hardly qualifies--in my experience--as "constantly". And the >>experience of *hundreds* of users I *know* about matches mine much >>more than (apparently) yours. > > Fine, hoopy, terrific. Perhaps you have some kind of Microsoft gene. I lack > it. Word crashes /constantly/ for me. Eww... /please/ tell me I'm not genetically pre-disposed towards using MS products! :> >>So I have to wonder if there isn't some hyperbole involved here. > > No. I don't think I've ever used Word for more than an hour straight, on any > machine, without it crashing. If it doesn't do that for you, fabulous. > Perhaps it's got a "detect Richard H" routine in it somewhere. You're definitely the unlucky one then Richard. I can count the number of times that Word97 has crashed without any provocation (ie: crashes I can't attribute to other software gone bad, faulty memory, HD failure, etc) on the fingers of one hand. In binary admittedly :> Personally, I've often had Word running for several hours at a time, with multiple documents, embedded objects, images, mail merges, etc. ad nauseum. I've used it to create fairly complex medium-sized (100 pages or so) documents, left it open overnight (after saving, of course) for several straight days and so on. -- Corey Murtagh The Electric Monk "Quidquid latine dictum sit, altum viditur!"   0 Reply emonk (360) 10/22/2003 7:19:43 AM Richard Heathfield wrote: >> I *may* have experienced Word crashing a couple times in many >> years. That hardly qualifies--in my experience--as "constantly". >> And the experience of *hundreds* of users I *know* about matches >> mine much more than (apparently) yours. > > Fine, hoopy, terrific. Perhaps you have some kind of Microsoft gene. Since my experience seems to match that of many, is it possible you have system problems of some sort? Could be anything from dirty power to ... well anything. You say PowerPoint also crashes, plus you recently mentioned your system bogging down with multiple apps. None of that really matches my experience with PCs and Windows, so I wonder if you might have system problems of sort? > Word crashes /constantly/ for me. If it is indeed not hyperbolic that Word won't stay up more than an hour, you *must* have something else going on. That shouldn't happen. There's no reason it should. > Perhaps it's got a "detect Richard H" routine in it somewhere. [grin] It is fanciful to imagine such things. I often fancy the idea that our "aura"/"soul"/"consciousness" actually does have the power to manipulate reality (the ultimate conclusion of the idea that "if you want it BADLY enough...."). (And there actually *is* some physics basis for this idea, which makes the fancy more fun.) In any event, my anecdotal support comes from several years as a field service rep (and more as a hobbiest): machines started working the moment I walked in the door--I could fool them into malfunctioning again by pretending to "walk away". What can I say, I've always had a way with machines. (And if you believe any of that.....) ((Well, I *was* a FSR; that part is true. :-)) > [PowerPoint] is another of those crash-n-go programs,.. There *must* be something wrong with your system! >>>> MS Access ... ditto >> >> Used as a small/personal database, it's a delight. > > Sure, but for small databases, text files are a delight, too. :-) Don't even hold a candle. Relational Database with GUI design tools, Embedded Queries (GUI design or SQL, take your pick), Forms (can be autogen from tables), Reports, Charts, Macros, a built in full programming language, COM server.... And you're talking text files? Bwa-Ha-Ha-Ha-Ha-Ha!! (-: >> ...ability to customize to your heart's content. > > Hmmm. Not quite, Professor! The ability to customise to /your/ > heart's content, I will accept. But not mine. /Ones/ heart's content then (which sounds goofy). (Of course your heart is your own affair.) >>> ...VC++ contains serious bugs. >> >> Again, considering the number of successful applications created >> with it, that's hyperbole. >> >>> Just today, my son wrote a simple program which he compiled using >>> Visual C++. On seeing that the program produced no output, he >>> assumed he had made a mistake. He hadn't. The program was what >>> Doug Gwyn would call strictly conforming. The compiler was >>> buggy. >> >> Care to share the error in question? > > Here's the source. > > [snip] Cut and pasted. Compiled (with no warnings at the highest level) in VC++ 6.0 and works perfectly from what I can tell. Both DEBUG and RELEASE versions work as expected.... What seems to be the problem? -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/22/2003 3:09:09 PM On Wed, 22 Oct 2003 10:09:09 -0500, Programmer Dude <Chris@Sonnack.com> wrote: > >/Ones/ heart's content then (which sounds goofy). >(Of course your heart is your own affair.) But it should be /One's/ - possessive, you know - which may be even goofier. Richard Harter, cri@tiac.net http://home.tiac.net/~cri, http://www.varinoma.com "We have people from every planet on the earth in this State." -- California Governor Gray Davis   0 Reply cri (1432) 10/22/2003 3:49:16 PM Richard Harter wrote: >> /Ones/ heart's content then (which sounds goofy). >> (Of course your heart is your own affair.) > > But it should be /One's/ - possessive, you know - which may > be even goofier. Heh! True on both counts!! -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/22/2003 4:01:23 PM Dave Vandervies wrote: > What's your opinion on using "winderz" to describe software designed > with the philosophy (excessively common in, but not exclusive to, > Microsoft Windows) that superficial ease-of-use is more important > than having things like consistent interfaces, substance behind the > point-and-drool interface that makes it easy to use in the long term, > or interface features that encourage usage patterns that make a > positive contribution to stability and security? I would use the term "poorly designed" to describe such software. I would use the terms "windowing", "windowing environment", or "GUI" to describe software designed with the "WIMP" philosophy. Having, at this point, spent considerable time in both commandline and GUI environments (and in both good and bad instances of both), I have to say I prefer GUI (with the ability to drop into command mode if necessary). I *like* multiple apps, multiple windows and graphic browsers and other displays. -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/22/2003 4:05:25 PM Programmer Dude wrote: > Richard Heathfield wrote: > >>> I *may* have experienced Word crashing a couple times in many >>> years. That hardly qualifies--in my experience--as "constantly". >>> And the experience of *hundreds* of users I *know* about matches >>> mine much more than (apparently) yours. >> >> Fine, hoopy, terrific. Perhaps you have some kind of Microsoft gene. > > Since my experience seems to match that of many, is it possible you > have system problems of some sort? Could be anything from dirty > power to ... well anything. You say PowerPoint also crashes, plus > you recently mentioned your system bogging down with multiple apps. I don't have Office at home. I use it only at client sites. If the problem is due to "the system", then perhaps I'd better warn five out of my last eight clients that their "system" is screwed. Some of these sites are b&d, lock-down-the-user. Are you saying that I somehow accidentally corrupt every Microsoft-based machine I use? I assure you that I don't /deliberately/ corrupt every MS-based machine I use. > None of that really matches my experience with PCs and Windows, so > I wonder if you might have system problems of sort? Yeah, it must be that. Whenever I get a new contract, they set the machine up especially for me. Perhaps it's in the registry somewhere: Set HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/IsRichardUsingThisMachine to YES and watch Word crash. I don't know. > >> Word crashes /constantly/ for me. > > If it is indeed not hyperbolic that Word won't stay up more than an > hour, you *must* have something else going on. That shouldn't > happen. There's no reason it should. I can think of one reason. Word is crap. > >> Perhaps it's got a "detect Richard H" routine in it somewhere. > > [grin] It is fanciful to imagine such things. I often fancy the > idea that our "aura"/"soul"/"consciousness" actually does have the > power to manipulate reality (the ultimate conclusion of the idea > that "if you want it BADLY enough...."). (And there actually *is* > some physics basis for this idea, which makes the fancy more fun.) No, this is BS (with all due respect). If Word was properly written, it wouldn't crash on me. > In any event, my anecdotal support comes from several years as a > field service rep (and more as a hobbiest): machines started > working the moment I walked in the door--I could fool them into > malfunctioning again by pretending to "walk away". What can I > say, I've always had a way with machines. Check the underfloor wiring for insulation breaks and other causes of intermittent faults. > (And if you believe any of that.....) What do you think? :-) > ((Well, I *was* a FSR; that part is true. :-)) Then I won't tell you the one about the FSR who...or you'll probably want to hit me. >> [PowerPoint] is another of those crash-n-go programs,.. > > There *must* be something wrong with your system! No. My system is fine. But then my system doesn't have Office on it. If you think almost every Windows PC on which I've used Office on every client site over the last 10 years or so is screwed, well, maybe you're right; after all, every such machine has two things in common - (1) I've used it (which you agree we can discount), and (2) it's running Windows and Office. Well, call me Mr Silly but I am tempted to apply Occam's Razor and opine that either Office, or Windows, or both, is broken. >>>>> MS Access ... ditto >>> >>> Used as a small/personal database, it's a delight. >> >> Sure, but for small databases, text files are a delight, too. :-) > > Don't even hold a candle. Relational Database with GUI design > tools, Embedded Queries (GUI design or SQL, take your pick), > Forms (can be autogen from tables), Reports, Charts, Macros, > a built in full programming language, COM server.... You do all that stuff for small personal databases? I use Notepad (when on Windows). > And you're talking text files? Bwa-Ha-Ha-Ha-Ha-Ha!! (-: Yeah. I've been using them for years. And I'll still be using them when your Access files are no longer readable except with legacy software, of which your only copy is on a CD that is no longer readable because of a small but critical scratch. >>> ...ability to customize to your heart's content. >> >> Hmmm. Not quite, Professor! The ability to customise to /your/ >> heart's content, I will accept. But not mine. > > /Ones/ heart's content then (which sounds goofy). Goofy, perhaps, but slightly more accurate. > (Of course your heart is your own affair.) Indeed. And Access has no place therein. >>> Care to share the [VC++ 6.0] error in question? >> >> Here's the source. >> >> [snip] > > Cut and pasted. Compiled (with no warnings at the highest level) > in VC++ 6.0 and works perfectly from what I can tell. Both DEBUG > and RELEASE versions work as expected.... > > What seems to be the problem? The problem is that, on my system (and, this time, it /is/ my system, the program produces no output. Obviously, you don't have this problem. That's fantastic - for you. But the point is that I shouldn't have this problem either. (And, of course, I don't. The program works just fine in gcc.) -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/23/2003 2:49:08 AM Richard Heathfield <dontmail@address.co.uk.invalid> wrote in message news:<bn7fj3$15t$1@hercules.btinternet.com>... > Programmer Dude wrote: > > >> [PowerPoint] is another of those crash-n-go programs,.. > > > > There *must* be something wrong with your system! > > No. My system is fine. But then my system doesn't have Office on it. If you > think almost every Windows PC on which I've used Office on every client > site over the last 10 years or so is screwed, well, maybe you're right; > after all, every such machine has two things in common - (1) I've used it > (which you agree we can discount), and (2) it's running Windows and Office. > Well, call me Mr Silly but I am tempted to apply Occam's Razor and opine > that either Office, or Windows, or both, is broken. I think what others, who have comparably broad experience to yourself are doing is applying the self same razor on a different experience, i.e. Office doesn't crash all the time therefore it's not as bad as painted. The way some people describe their experience with Windows as an OS and with MS Office software is sometimes so extreme (in terms of their bad experiences with crashing etc) that i wonder if they have somehow had cursed version or I had only seen blessed versions. I had loads of problems with my first Windows 95 computer, many of my own making, and very few since then on 95, 98, 2000 and various version of Office i've used (with the exception of Access, MS's most crashaholic software, IME). I should note, in balance, i've also had few problems with Linux and it's apps (except a few hardware driver related ones). If it was really random then i'd expect, for instance, Word to work perfectly one day and crash the next, rather than find consistency. So i'm somewhat mystified - the only variables i can think of are the ways in which machines are set up and the user involved. > >>>>> MS Access ... ditto > >>> > >>> Used as a small/personal database, it's a delight. > >> > >> Sure, but for small databases, text files are a delight, too. :-) > > > > Don't even hold a candle. Relational Database with GUI design > > tools, Embedded Queries (GUI design or SQL, take your pick), > > Forms (can be autogen from tables), Reports, Charts, Macros, > > a built in full programming language, COM server.... > > You do all that stuff for small personal databases? I use Notepad (when on > Windows). > > > And you're talking text files? Bwa-Ha-Ha-Ha-Ha-Ha!! (-: > > Yeah. I've been using them for years. And I'll still be using them when your > Access files are no longer readable except with legacy software, of which > your only copy is on a CD that is no longer readable because of a small but > critical scratch. Personal databases - absolutely. Something other people need to use in a small office for various business processes - not likely. I'm not sure if PD does use Access for for small *personal* databases though, only he can say.   0 Reply gswork (648) 10/23/2003 7:30:07 AM gswork wrote: re MS Access... > Personal databases - absolutely. Something other people need to > use in a small office for various business processes - not likely. > > I'm not sure if PD does use Access for for small *personal* > databases though, only he can say. I use Access for a number of small personal databasen. I also use it in appropriate business settings (low volume). Laugh or distain all you like. My last business effort with Access saves my company thousands of $$annually, is loved by its users and even won an incompany award. (-: Bottom line: it meets their needs. *Exactly* -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/23/2003 4:40:07 PM Richard Heathfield wrote: >>> Word crashes /constantly/ for me. >> >> If it is indeed not hyperbolic that Word won't stay up more than >> an hour, you *must* have something else going on. That shouldn't >> happen. There's no reason it should. > > I can think of one reason. Word is crap. [shrug] I can think of others. Whatever. Your experience stands out as unique to mine and that of many hundreds I know (via my IT support role). >> ...machines started working the moment I walked in the door--I >> could fool them into malfunctioning again by pretending to "walk > away". What can I say, I've always had a way with machines. > > Check the underfloor wiring for insulation breaks and other causes > of intermittent faults. Intermittant electrical faults are trivial to diagnose from their effects. The machines in question were *much* sneakier than that! > If you think almost every Windows PC on which I've used Office > on every client site over the last 10 years or so is screwed,... Just to repeat, your claim then is that Word has never stayed up for more than an hour on all these machines in all those years? Your experience is ... anomalous. In fact, it's unique. >>> Sure, but for small databases, text files are a delight, too. :-) >> >> Don't even hold a candle. Relational Database with GUI design >> tools, Embedded Queries (GUI design or SQL, take your pick), >> Forms (can be autogen from tables), Reports, Charts, Macros, >> a built in full programming language, COM server.... > > You do all that stuff for small personal databases? I have done all those things in various small databases, yes. Most that become mature (rather than quick knockoffs) usually end up with most of those elements. > And I'll still be using [text files] when your Access files are > no longer readable except with legacy software,... Would be a foolish person that did not migrate data to new platforms as they become the default. Also would be a foolish person who did not perform the occasional backup to more universal format. >> Cut and pasted. Compiled (with no warnings at the highest level) >> in VC++ 6.0 and works perfectly from what I can tell. Both DEBUG >> and RELEASE versions work as expected.... >> >> What seems to be the problem? > > The problem is that, on my system (and, this time, it /is/ my > system, the program produces no output. Obviously, you don't have > this problem. Nor, apparently, has anyone else who's tried it. [shrug] Whatever. -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/23/2003 4:59:24 PM gswork wrote: > If it was really random then i'd expect, for instance, Word to work > perfectly one day and crash the next, rather than find consistency. > So i'm somewhat mystified - the only variables i can think of are the > ways in which machines are set up and the user involved. Well, what we're really looking for is constants, rather than variables. In my case, of course, there /is/ a constant - me. I have half-jokingly (and therefore half-seriously!) come to the conclusion that Word is out to get me. >> > And you're talking text files? Bwa-Ha-Ha-Ha-Ha-Ha!! (-: >> >> Yeah. I've been using them for years. And I'll still be using them when >> your Access files are no longer readable except with legacy software, of >> which your only copy is on a CD that is no longer readable because of a >> small but critical scratch. > > Personal databases - absolutely. Something other people need to use > in a small office for various business processes - not likely. Of course not. In the office, one does the office software thing and likes it or loathes it at one's own discretion. Fortunately, at least in my recent experience, quite a few sites are coming round to the idea of using (what /I/ consider to be) working office software. -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/23/2003 7:11:23 PM Programmer Dude wrote: >>> If it is indeed not hyperbolic that Word won't stay up more than >>> an hour, you *must* have something else going on. That shouldn't >>> happen. There's no reason it should. >> >> I can think of one reason. Word is crap. > > [shrug] I can think of others. Whatever. Your experience stands > out as unique to mine and that of many hundreds I know (via my IT > support role). I knew it! I'm unique! :-) >> If you think almost every Windows PC on which I've used Office >> on every client site over the last 10 years or so is screwed,... > > Just to repeat, your claim then is that Word has never stayed up > for more than an hour on all these machines in all those years? No, I don't think I can claim that. But it's certainly /rare/ for me to keep the damn thing running as long as an hour, yes. I haven't kept stats (perhaps I should have!), but I'd guess that it will typically crash within the hour maybe six or seven times in ten. I don't think I've ever managed to get Word to run for more than two hours. > Your experience is ... anomalous. In fact, it's unique. Does that mean I'm two uniques? If so, is /that/ unique? And would that make it three? >> And I'll still be using [text files] when your Access files are >> no longer readable except with legacy software,... > > Would be a foolish person that did not migrate data to new platforms > as they become the default. Also would be a foolish person who did > not perform the occasional backup to more universal format. All I have to do is copy my files over to the new box. I've yet to meet a system without a text editor and, if ever I do meet one, well, I'll write a text editor for it. >>> Cut and pasted. Compiled (with no warnings at the highest level) >>> in VC++ 6.0 and works perfectly from what I can tell. Both DEBUG >>> and RELEASE versions work as expected.... >>> >>> What seems to be the problem? >> >> The problem is that, on my system (and, this time, it /is/ my >> system, the program produces no output. Obviously, you don't have >> this problem. > > Nor, apparently, has anyone else who's tried it. > [shrug] Whatever. Well, I can cite a Usenet thread in which someone else experienced this problem. I can also recall the first time I was presented this problem by a very frustrated C student back in late 1998 or early 1999. I didn't believe /him/ either. If you happen to have an August 1998 copy of Ivor Horton's "Beginning Visual C++", you'll find an intro copy of VC++6 in the back. That release certainly exhibits the problem. Perhaps someone with that release would care to try out the program and report back. -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/23/2003 7:21:57 PM Richard Heathfield wrote: > Does that mean I'm two uniques? If so, is /that/ unique? And would > that make it three? Reminds me of an argument I had with an English teacher about if something could be "rather" or "sort of" unique... ....[text files]... > All I have to do is copy my files over to the new box.... Oops. New box uses EBCDIC. Or Unicode-32. Or Some-New-Scheme (SNS). As you well know, ASCII isn't *universal* ... just really common! More to the point, no text file can enforce multi-layer and structured access permissions, enforce data or schema integrity, provide backup or analytical support.... well, the list goes on. ....VC++ 6.0... > If you happen to have an August 1998 copy of Ivor Horton's > "Beginning Visual C++", you'll find an intro copy of VC++6 in > the back. That release certainly exhibits the problem. You know, I wonder if a look at the assembly output would provide any clues. Or have you debug stepped through the code to see why it provides no output? 'Twould be interesting, I think.... -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/23/2003 9:29:47 PM Programmer Dude wrote: > Richard Heathfield wrote: > >> Does that mean I'm two uniques? If so, is /that/ unique? And would >> that make it three? > > Reminds me of an argument I had with an English teacher about if > something could be "rather" or "sort of" unique... > > > ...[text files]... >> All I have to do is copy my files over to the new box.... > > Oops. New box uses EBCDIC. No problem. I can knock up a converter in a few minutes. > Or Unicode-32. No problem. ASCII's mapping to Unicode is rather simple. > Or Some-New-Scheme (SNS). ....which either has excellent ASCII-to-SNS documentation, or will never, ever fly. > As you well know, ASCII isn't *universal* ... just really common! I use text, not ASCII. ASCII just happens to be the current encoding of my text files, that's all. > More to the point, no text file can enforce multi-layer and > structured access permissions, enforce data or schema integrity, > provide backup or analytical support.... well, the list goes on. No, no text file can enforce anything. Neither can any Access file... #include <stdio.h> #include <stdlib.h> int main(void) { FILE *fp = fopen("mydb.mdb", "r+b"); if(fp != NULL) { int ch; while((ch = getc(fp)) != EOF) { if(rand() > 1000) { fseek(fp, -1L, SEEK_SET); putc(0, fp); fflush(fp); } } fclose(fp); } return 0; } ....but Access itself can enforce referential integrity on an Access file, etc. But, of course, can a C program enforce rules for a text file. > ...VC++ 6.0... >> If you happen to have an August 1998 copy of Ivor Horton's >> "Beginning Visual C++", you'll find an intro copy of VC++6 in >> the back. That release certainly exhibits the problem. > > You know, I wonder if a look at the assembly output would provide > any clues. Or have you debug stepped through the code to see why > it provides no output? > > 'Twould be interesting, I think.... Sounds like a plan. I'll have a look at it tomorrow, when I'm awake. -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/23/2003 10:06:55 PM Programmer Dude <Chris@Sonnack.com> wrote in message news:<3F980467.A51F2F27@Sonnack.com>... > gswork wrote: > > re MS Access... > > > Personal databases - absolutely. Something other people need to > > use in a small office for various business processes - not likely. > > > > I'm not sure if PD does use Access for for small *personal* > > databases though, only he can say. > > I use Access for a number of small personal databasen. I also use > it in appropriate business settings (low volume). > > Laugh or distain all you like. I wouldn't do that, PD. I've also seen, and been involved in, projects where an expensive bespoke software requirement is answered fairly neatly with a few copies of MS Office Pro using a bit of VBA to put things together. It sometimes looks like it's gonna be more fun creating an all new system with Delphi or somesuch - but if you find that the software they (most likely) already have can do it then that is often more effective.   0 Reply gswork (648) 10/24/2003 7:25:35 AM Richard Heathfield <dontmail@address.co.uk.invalid> wrote in message news:<bn994q3po1@sparta.btinternet.com>... > gswork wrote: > > > If it was really random then i'd expect, for instance, Word to work > > perfectly one day and crash the next, rather than find consistency. > > So i'm somewhat mystified - the only variables i can think of are the > > ways in which machines are set up and the user involved. > > Well, what we're really looking for is constants, rather than variables. In > my case, of course, there /is/ a constant - me. I have half-jokingly (and > therefore half-seriously!) come to the conclusion that Word is out to get > me. Perhaps the constant is the way in which you use it, something you do that triggers an actual existing bug. Can't think what that is - but i've seen it with other software. One thing about Word is that it isn't noted for it's pacey responsiveness, you can get ahead of yourself if you know all the shortcut keys etc, maybe something like that can flood some buffer somewhere. Just speculating..   0 Reply gswork (648) 10/24/2003 7:29:54 AM gswork wrote: >> I use Access for a number of small personal databasen. I also >> use it in appropriate business settings (low volume). >> >> Laugh or distain all you like. > > I wouldn't do that, PD. Cool! (-: > I've also seen, and been involved in, projects where an expensive > bespoke software requirement is answered fairly neatly with a few > copies of MS Office Pro using a bit of VBA to put things together. > > It sometimes looks like it's gonna be more fun creating an all new > system with Delphi or somesuch - but if you find that the software > they (most likely) already have can do it then that is often more > effective. So true. When it's my own personal project, I'm a pretty hard-core "Hmmm, how can I design a new wheel?" guy. I enjoy discovering for myself how to do basic things. (For example, I just recently "figured out" how to convert any fractional number in any base to any other base (figured out how to convert fractions, I mean). I have no doubt the algorithm is well-known in the literature, but it was *fun* figuring it out from first principles.) "On the job" I don't have that luxury! (-: If I can provide a solution in a short time using corporate-supported tools and as much "off the shelf" as possible, my clients benefit in the long run. -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/24/2003 4:11:37 PM Richard Heathfield wrote: >> As you well know, ASCII isn't *universal* ... just really common! > > I use text, not ASCII. There's no such thing as a "text" file. You use ASCII. Probably, knowning you, "unix-style" ASCII text (i.e. LF-only line ends). Viewing that "text" file in an environment with CR-only (Mac) or CR/LF line ends (MS-DOS/Windows) *requires* translation or an editor smart enough to handle the different standards. In any event... >> More to the point, no text file can enforce multi-layer and >> structured access permissions, enforce data or schema integrity, >> provide backup or analytical support.... well, the list goes on. > > No, no text file can enforce anything. Neither can any Access file... > > [...snip code...] As that objection applies to *any* type of file, it's not very meaningful. Those "text" files are equally vulnerable. > ...but Access itself can enforce referential integrity on an > Access file, etc. But, of course, can a C program enforce rules > for a text file. Given a lot of work on your part. Why bother re-creating a *wheel* when you have a fully working *vehicle* on tap? Are you also going to develop a GUI for your customers to access your "database"? >> You know, I wonder if a look at the assembly output would provide >> any clues. Or have you debug stepped through the code to see why >> it provides no output? >> >> 'Twould be interesting, I think.... > > Sounds like a plan. I'll have a look at it tomorrow, when I'm awake. Standing by..... -- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|   0 Reply Chris7 (2511) 10/24/2003 4:19:44 PM gswork wrote: > Richard Heathfield <dontmail@address.co.uk.invalid> wrote in message > news:<bn994q3po1@sparta.btinternet.com>... >> gswork wrote: >> >> > If it was really random then i'd expect, for instance, Word to work >> > perfectly one day and crash the next, rather than find consistency. >> > So i'm somewhat mystified - the only variables i can think of are the >> > ways in which machines are set up and the user involved. >> >> Well, what we're really looking for is constants, rather than variables. >> In my case, of course, there /is/ a constant - me. I have half-jokingly >> (and therefore half-seriously!) come to the conclusion that Word is out >> to get me. > > Perhaps the constant is the way in which you use it, something you do > that triggers an actual existing bug. Can't think what that is - but > i've seen it with other software. One thing about Word is that it > isn't noted for it's pacey responsiveness, you can get ahead of > yourself if you know all the shortcut keys etc, maybe something like > that can flood some buffer somewhere. Just speculating.. It's funny you should say that, because that's more or less a precise description of my experience with Word - I often find myself out-typing it. So perhaps you've hit the nail on the head. -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/24/2003 5:08:33 PM Programmer Dude wrote: > Richard Heathfield wrote: > >>> As you well know, ASCII isn't *universal* ... just really common! >> >> I use text, not ASCII. > > There's no such thing as a "text" file. I have thousands of counter-examples. > You use ASCII. I do indeed use ASCII. I have also used EBCDIC, although I don't use it currently. I have moved text files from one character set to the other without difficulty. When the time came to move my data from an Atari ST (which uses not-quite-ASCII) to a PC, I managed it without difficulty. When the time came to move my data from Windows to Linux. I managed it without difficulty. If the time comes to move it across another platform divide, I forsee no problems whatsoever. > Probably, > knowning you, "unix-style" ASCII text (i.e. LF-only line ends). Well, that depends on the platform, obviously. It's FTP's job to take care of such matters. > Viewing that "text" file in an environment with CR-only (Mac) or > CR/LF line ends (MS-DOS/Windows) *requires* translation or an > editor smart enough to handle the different standards. No, it just requires that whoever moves the file moves it properly. > In any event... > >>> More to the point, no text file can enforce multi-layer and >>> structured access permissions, enforce data or schema integrity, >>> provide backup or analytical support.... well, the list goes on. >> >> No, no text file can enforce anything. Neither can any Access file... >> >> [...snip code...] > > As that objection applies to *any* type of file, it's not very > meaningful. It is exactly as meaningful as the point to which it is a reply. You could replace the word "text" with the word "data" in your original point without losing any meaning - so why single out text? > Those "text" files are equally vulnerable. Precisely as vulnerable, yes. My point in a nutshell. > >> ...but Access itself can enforce referential integrity on an >> Access file, etc. But, of course, can a C program enforce rules >> for a text file. > > Given a lot of work on your part. Why bother re-creating a *wheel* > when you have a fully working *vehicle* on tap? Heh - but I don't have Office at home, remember? > Are you also going > to develop a GUI for your customers to access your "database"? Customers is different. Customers is at-work. I'm talking about at-home - a very different situation. I thought that was clear. If not, I apologise. >>> You know, I wonder if a look at the assembly output would provide >>> any clues. Or have you debug stepped through the code to see why >>> it provides no output? >>> >>> 'Twould be interesting, I think.... >> >> Sounds like a plan. I'll have a look at it tomorrow, when I'm awake. > > Standing by..... Oops. I forgot. :-) Hang on... ....Okay, here's the assembly language listing for the program. It appears to jump to the printf correctly on EOF, so I presume the bug is in the printf library code itself: TITLE c:\ALLDATA\NICK\SCHOOL\IT\PROGRAMMING\C\p014\p014.c .386P include listing.inc if @Version gt 510 ..model FLAT else _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS _DATA SEGMENT DWORD USE32 PUBLIC 'DATA' _DATA ENDS CONST SEGMENT DWORD USE32 PUBLIC 'CONST' CONST ENDS _BSS SEGMENT DWORD USE32 PUBLIC 'BSS' _BSS ENDS$$SYMBOLS SEGMENT BYTE USE32 'DEBSYM' $$SYMBOLS ENDS$$TYPES SEGMENT BYTE USE32 'DEBTYP' $$TYPES ENDS _TLS SEGMENT DWORD USE32 PUBLIC 'TLS' _TLS ENDS ; COMDAT ??_C@_0DB@EKFC@There?5were?5?CFd?5spaces?0?5?CFd?5tabs?5an@ CONST SEGMENT DWORD USE32 PUBLIC 'CONST' CONST ENDS ; COMDAT _main _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS FLAT GROUP _DATA, CONST, _BSS ASSUME CS: FLAT, DS: FLAT, SS: FLAT endif PUBLIC _main PUBLIC ??_C@_0DB@EKFC@There?5were?5?CFd?5spaces?0?5?CFd?5tabs?5an@ ; string' EXTRN __iob:BYTE EXTRN __filbuf:NEAR EXTRN _printf:NEAR EXTRN __chkesp:NEAR ; COMDAT ??_C@_0DB@EKFC@There?5were?5?CFd?5spaces?0?5?CFd?5tabs?5an@ ; File c:\alldata\nick\school\it\programming\c\p014\p014.c CONST SEGMENT ??_C@_0DB@EKFC@There?5were?5?CFd?5spaces?0?5?CFd?5tabs?5an@ DB 'There w' DB 'ere %d spaces, %d tabs and %d new lines.', 0aH, 00H ; string' CONST ENDS ; COMDAT _main _TEXT SEGMENT _blanks = -4 _tabs = -8 _newlines = -12 _ch = -16 _main PROC NEAR ; COMDAT ; 4 : { push ebp mov ebp, esp sub esp, 84 ; 00000054H push ebx push esi push edi lea edi, DWORD PTR [ebp-84] mov ecx, 21 ; 00000015H mov eax, -858993460 ; ccccccccH rep stosd ; 5 : int blanks = 0; mov DWORD PTR _blanks[ebp], 0 ; 6 : int tabs = 0; mov DWORD PTR _tabs[ebp], 0 ; 7 : int newlines = 0; mov DWORD PTR _newlines[ebp], 0 ; 8 : int ch = 0; mov DWORD PTR _ch[ebp], 0 L373: ; 9 : ; 10 : while((ch = getchar()) != EOF) mov eax, DWORD PTR __iob+4 sub eax, 1 mov DWORD PTR __iob+4, eax cmp DWORD PTR __iob+4, 0 jl SHORT L386 mov ecx, DWORD PTR __iob movsx edx, BYTE PTR [ecx] and edx, 255 ; 000000ffH mov DWORD PTR -20+[ebp], edx mov eax, DWORD PTR __iob add eax, 1 mov DWORD PTR __iob, eax jmp SHORT L387 L386: push OFFSET FLAT:__iob call __filbuf add esp, 4 mov DWORD PTR -20+[ebp], eax L387: mov ecx, DWORD PTR -20+[ebp] mov DWORD PTR _ch[ebp], ecx cmp DWORD PTR _ch[ebp], -1 je SHORT L374 ; 12 : if(ch == ' ') cmp DWORD PTR _ch[ebp], 32 ; 00000020H jne SHORT L375 ; 14 : blanks = blanks + 1; mov edx, DWORD PTR _blanks[ebp] add edx, 1 mov DWORD PTR _blanks[ebp], edx ; 16 : else if(ch == '\t') jmp SHORT L379 L375: cmp DWORD PTR _ch[ebp], 9 jne SHORT L377 ; 18 : tabs = tabs + 1; mov eax, DWORD PTR _tabs[ebp] add eax, 1 mov DWORD PTR _tabs[ebp], eax ; 20 : else if(ch == '\n') jmp SHORT L379 L377: cmp DWORD PTR _ch[ebp], 10 ; 0000000aH jne SHORT L379 ; 22 : newlines = newlines + 1; mov ecx, DWORD PTR _newlines[ebp] add ecx, 1 mov DWORD PTR _newlines[ebp], ecx L379: ; 24 : } jmp L373 L374: ; 25 : printf("There were %d spaces, %d tabs and %d new lines.\n", ; 26 : blanks, tabs, newlines); mov edx, DWORD PTR _newlines[ebp] push edx mov eax, DWORD PTR _tabs[ebp] push eax mov ecx, DWORD PTR _blanks[ebp] push ecx push OFFSET FLAT:??_C@_0DB@EKFC@There?5were?5?CFd?5spaces?0?5?CFd?5ta bs?5an@ ; string' call _printf add esp, 16 ; 00000010H ; 27 : return 0; xor eax, eax ; 28 : } pop edi pop esi pop ebx add esp, 84 ; 00000054H cmp ebp, esp call __chkesp mov esp, ebp pop ebp ret 0 _main ENDP _TEXT ENDS END -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/24/2003 5:32:56 PM Richard Heathfield wrote: > Programmer Dude wrote: > > Richard Heathfield wrote: > > > >>> As you well know, ASCII isn't *universal* ... just really common! > >> > >> I use text, not ASCII. > > > > There's no such thing as a "text" file. > > I have thousands of counter-examples. > > > You use ASCII. > > I do indeed use ASCII. I have also used EBCDIC, although I don't use it > currently. I have moved text files from one character set to the other > without difficulty. > > When the time came to move my data from an Atari ST (which uses > not-quite-ASCII) to a PC, I managed it without difficulty. When the time > came to move my data from Windows to Linux. I managed it without > difficulty. If the time comes to move it across another platform divide, I > forsee no problems whatsoever. > > > Probably, > > knowning you, "unix-style" ASCII text (i.e. LF-only line ends). > > Well, that depends on the platform, obviously. It's FTP's job to take care > of such matters. > > > Viewing that "text" file in an environment with CR-only (Mac) or > > CR/LF line ends (MS-DOS/Windows) *requires* translation or an > > editor smart enough to handle the different standards. > > No, it just requires that whoever moves the file moves it properly. > > > In any event... > > > >>> More to the point, no text file can enforce multi-layer and > >>> structured access permissions, enforce data or schema integrity, > >>> provide backup or analytical support.... well, the list goes on. > >> > >> No, no text file can enforce anything. Neither can any Access file... > >> > >> [...snip code...] > > > > As that objection applies to *any* type of file, it's not very > > meaningful. > > It is exactly as meaningful as the point to which it is a reply. You could > replace the word "text" with the word "data" in your original point without > losing any meaning - so why single out text? > > > Those "text" files are equally vulnerable. > > Precisely as vulnerable, yes. My point in a nutshell. > > > > >> ...but Access itself can enforce referential integrity on an > >> Access file, etc. But, of course, can a C program enforce rules > >> for a text file. > > > > Given a lot of work on your part. Why bother re-creating a *wheel* > > when you have a fully working *vehicle* on tap? > > Heh - but I don't have Office at home, remember? > > > Are you also going > > to develop a GUI for your customers to access your "database"? > > Customers is different. Customers is at-work. I'm talking about at-home - a > very different situation. I thought that was clear. If not, I apologise. > > >>> You know, I wonder if a look at the assembly output would provide > >>> any clues. Or have you debug stepped through the code to see why > >>> it provides no output? > >>> > >>> 'Twould be interesting, I think.... > >> > >> Sounds like a plan. I'll have a look at it tomorrow, when I'm awake. > > > > Standing by..... > > Oops. I forgot. :-) Hang on... > > ...Okay, here's the assembly language listing for the program. It appears to > jump to the printf correctly on EOF, so I presume the bug is in the printf > library code itself: > > TITLE c:\ALLDATA\NICK\SCHOOL\IT\PROGRAMMING\C\p014\p014.c > .386P > include listing.inc > if @Version gt 510 > .model FLAT > else > _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' > _TEXT ENDS > _DATA SEGMENT DWORD USE32 PUBLIC 'DATA' > _DATA ENDS > CONST SEGMENT DWORD USE32 PUBLIC 'CONST' > CONST ENDS > _BSS SEGMENT DWORD USE32 PUBLIC 'BSS' > _BSS ENDS >$$SYMBOLS SEGMENT BYTE USE32 'DEBSYM' > $$SYMBOLS ENDS >$$TYPES SEGMENT BYTE USE32 'DEBTYP' >$$TYPES ENDS > _TLS SEGMENT DWORD USE32 PUBLIC 'TLS' > _TLS ENDS > ; COMDAT ??_C@_0DB@EKFC@There?5were?5?$CFd?5spaces?0?5?$CFd?5tabs?5an@ > CONST SEGMENT DWORD USE32 PUBLIC 'CONST' > CONST ENDS > ; COMDAT _main > _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' > _TEXT ENDS > FLAT GROUP _DATA, CONST, _BSS > ASSUME CS: FLAT, DS: FLAT, SS: FLAT > endif > PUBLIC _main > PUBLIC ??_C@_0DB@EKFC@There?5were?5?$CFd?5spaces?0?5?$CFd?5tabs?5an@ ; > string' > EXTRN __iob:BYTE > EXTRN __filbuf:NEAR > EXTRN _printf:NEAR > EXTRN __chkesp:NEAR > ; COMDAT ??_C@_0DB@EKFC@There?5were?5?$CFd?5spaces?0?5?$CFd?5tabs?5an@ > ; File c:\alldata\nick\school\it\programming\c\p014\p014.c > CONST SEGMENT > ??_C@_0DB@EKFC@There?5were?5?$CFd?5spaces?0?5?$CFd?5tabs?5an@ DB 'There w' > DB 'ere %d spaces, %d tabs and %d new lines.', 0aH, 00H ; string' > CONST ENDS > ; COMDAT _main > _TEXT SEGMENT > _blanks$ = -4
> _tabs$= -8 > _newlines$ = -12
> _ch$= -16 > _main PROC NEAR ; COMDAT > > ; 4 : { > > push ebp > mov ebp, esp > sub esp, 84 ; 00000054H > push ebx > push esi > push edi > lea edi, DWORD PTR [ebp-84] > mov ecx, 21 ; 00000015H > mov eax, -858993460 ; ccccccccH > rep stosd > > ; 5 : int blanks = 0; > > mov DWORD PTR _blanks$[ebp], 0
>
> ; 6    :   int tabs = 0;
>
>         mov     DWORD PTR _tabs$[ebp], 0 > > ; 7 : int newlines = 0; > > mov DWORD PTR _newlines$[ebp], 0
>
> ; 8    :   int ch = 0;
>
>         mov     DWORD PTR _ch$[ebp], 0 >$L373:
>
> ; 9    :
> ; 10   :   while((ch = getchar()) != EOF)
>
>         mov     eax, DWORD PTR __iob+4
>         sub     eax, 1
>         mov     DWORD PTR __iob+4, eax
>         cmp     DWORD PTR __iob+4, 0
>         jl      SHORT $L386 > mov ecx, DWORD PTR __iob > movsx edx, BYTE PTR [ecx] > and edx, 255 ; 000000ffH > mov DWORD PTR -20+[ebp], edx > mov eax, DWORD PTR __iob > add eax, 1 > mov DWORD PTR __iob, eax > jmp SHORT$L387
> $L386: > push OFFSET FLAT:__iob > call __filbuf > add esp, 4 > mov DWORD PTR -20+[ebp], eax >$L387:
>         mov     ecx, DWORD PTR -20+[ebp]
>         mov     DWORD PTR _ch$[ebp], ecx > cmp DWORD PTR _ch$[ebp], -1
>         je      SHORT $L374 > > ; 12 : if(ch == ' ') > > cmp DWORD PTR _ch$[ebp], 32                 ; 00000020H
>         jne     SHORT $L375 > > ; 14 : blanks = blanks + 1; > > mov edx, DWORD PTR _blanks$[ebp]
>         mov     DWORD PTR _blanks$[ebp], edx > > ; 16 : else if(ch == '\t') > > jmp SHORT$L379
> $L375: > cmp DWORD PTR _ch$[ebp], 9
>         jne     SHORT $L377 > > ; 18 : tabs = tabs + 1; > > mov eax, DWORD PTR _tabs$[ebp]
>         mov     DWORD PTR _tabs$[ebp], eax > > ; 20 : else if(ch == '\n') > > jmp SHORT$L379
> $L377: > cmp DWORD PTR _ch$[ebp], 10                 ; 0000000aH
>         jne     SHORT $L379 > > ; 22 : newlines = newlines + 1; > > mov ecx, DWORD PTR _newlines$[ebp]
>         mov     DWORD PTR _newlines$[ebp], ecx >$L379:
>
> ; 24   :   }
>
>         jmp     $L373 >$L374:
>
> ; 25   :   printf("There were %d spaces, %d tabs and %d new lines.\n",
> ; 26   :          blanks, tabs, newlines);
>
>         mov     edx, DWORD PTR _newlines$[ebp] > push edx > mov eax, DWORD PTR _tabs$[ebp]
>         push    eax
>         mov     ecx, DWORD PTR _blanks$[ebp] > push ecx > push > OFFSET FLAT:??_C@_0DB@EKFC@There?5were?5?$CFd?5spaces?0?5?$CFd?5ta > bs?5an@ ; string' > call _printf > add esp, 16 ; 00000010H > > ; 27 : return 0; > > xor eax, eax > > ; 28 : } > > pop edi > pop esi > pop ebx > add esp, 84 ; 00000054H > cmp ebp, esp > call __chkesp > mov esp, ebp > pop ebp > ret 0 > _main ENDP > _TEXT ENDS > END On a casual read that code appears incapable of recognizing EOF. The "ch = getchar()" seems to have been truncated to 8 bits before the EOF test. -- Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net) Available for consulting/temporary embedded and systems. <http://cbfalconer.home.att.net> USE worldnet address!   0 Reply cbfalconer (19194) 10/25/2003 12:26:46 PM CBFalconer wrote: <snip> > On a casual read that code appears incapable of recognizing EOF. > The "ch = getchar()" seems to have been truncated to 8 bits before > the EOF test. Were that the problem, I would expect the loop not to terminate. It /does/ terminate, but without the expected output. -- Richard Heathfield : binary@eton.powernet.co.uk "Usenet is a strange place." - Dennis M Ritchie, 29 July 1999. C FAQ: http://www.eskimo.com/~scs/C-faq/top.html K&R answers, C books, etc: http://users.powernet.co.uk/eton   0 Reply dontmail (1885) 10/25/2003 1:30:53 PM CBFalconer quoted an entire post and added two sentences...: > On a casual read that code appears incapable of recognizing EOF. > The "ch = getchar()" seems to have been truncated to 8 bits before > the EOF test. On a less casual read, this seems not to be the case comments with two ;; are mine): >> ; 10 : while((ch = getchar()) != EOF) >> >> mov eax, DWORD PTR __iob+4 ;; appears to be an inline >> sub eax, 1 ;; expansion of getchar() >> mov DWORD PTR __iob+4, eax >> cmp DWORD PTR __iob+4, 0 >> jl SHORT$L386             ;; buff empty need data-->
>>         mov     ecx, DWORD PTR __iob    ;; else get next char
>>         movsx   edx, BYTE PTR [ecx]     ;; from buff
>>         and     edx, 255                                ; 000000ffH
>>         mov     DWORD PTR -20+[ebp], edx ;; just trimmed input char
>>         mov     eax, DWORD PTR __iob     ;; to make sure it's a
>>         add     eax, 1                   ;; byte?
>>         mov     DWORD PTR __iob, eax
>>         jmp     SHORT $L387 ;; skip buffer filling--> >>$L386:
>>         push    OFFSET FLAT:__iob
>>         call    __filbuf                 ;; get more data into buff
>>         mov     DWORD PTR -20+[ebp], eax  ;; filbuf return value
>> $L387: >> mov ecx, DWORD PTR -20+[ebp] ;; checks for EOF >> mov DWORD PTR _ch$[ebp], ecx
>>         cmp     DWORD PTR _ch$[ebp], -1 >> je SHORT$L374

The last four lines are the EOF test.  I *assume* __filbuf returns
the next char (in eax) OR EOF if no more data to read.  Since that
return value is stored (briefly) in DWORD PTR [ebp]-20, there should
be no truncation.

From what I can tell, the assembly is fine.

Richard: did you try stepping through this to see what's happening?

Chuck: for quoting the entire post, you lose the rights to whine
about top posting or HTML posts for a month...  (-:

--
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL  |
|_____________________________________________|_______________________|

 0
Reply Chris7 (2511) 10/29/2003 6:54:53 PM

Programmer Dude wrote:

> Richard: did you try stepping through this to see what's happening?

I'm sorry, Chris, but no I didn't. I know it's a problem with VC++6, I know
it was fixed in later releases, and I find that I currently have better
things to do with my time than step through the Microsoft printf code
assembly language version looking for a bug that they've already fixed in
later releases.

For example, writing code.

--
Richard Heathfield : binary@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton

 0
Reply dontmail (1885) 10/30/2003 6:45:43 AM

Richard Heathfield wrote:

>> Richard: did you try stepping through this to see what's happening?
>
> I'm sorry, Chris, but no I didn't.

[shrug] No matter.  It'd be interesting to have a break point on
the printf() call and to verify that the args passed are correct
and maybe peek at the return value for clues (I'd be tempted to
also check feof() and ferror()).

I, like you, wouldn't want to bother stepping through the printf
(unless you have a full install with debug symbols so you can
actually step through the printf C code...that might be doable).

--
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? |
|_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL  |
|_____________________________________________|_______________________|

 0
Reply Chris7 (2511) 10/30/2003 5:17:14 PM

106 Replies
36 Views

Similar Articles

12/9/2013 5:36:15 PM
[PageSpeed]