Slashdot Mirror


User: Phil+Goetz

Phil+Goetz's activity in the archive.

Stories
0
Comments
1
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 1

  1. Funny you should ask... on Why Develop On Linux? · · Score: 1

    I've spent the last week cursing Windows as I
    try to get a Solaris (Unix) Java/C program to
    work properly on Windows NT 4.

    The program needs a 300M datafile. I ftp that
    over, unzip it, and run the program. The
    computer thrashes. There is no "renice" command
    to lower the priority of the backgrounded program
    to, say, something low enough that I could type a
    letter and have it appear on the screen less
    than a minute later.

    The code was written to work on a Pentium I
    with around 32M RAM; I have a Pentium II with
    256M. I check the system RAM. I have 60M
    in use, 270M being swapped to disk, and 200M
    of empty RAM. 24M out of the system kernel's
    29M is paged out to disk. I can hear the
    disk drive churning continuously as it swaps,
    and I have 200M of free RAM.

    The program crashes. I try to figure out how
    to tell Windows to use my RAM. I know! I reduce
    the size of my swap file, from 272M to 10M.
    I reboot Windows. I open up a couple of
    apps, and it refuses to open any more.
    I get an error message: I have run out of
    swap space. I have 220M of unused RAM,
    but Windows would rather use swap.

    Postmortem shows one byte somewhere in my
    300M file is garbled. I ftp it over again,
    unzip, and diff with previous version. Identical.
    Bug is in ftp or WinZip.

    No problem. I can edit by hand.
    I make a big swap file again and reboot.
    I try loading the text file, and discover that
    Notepad and Wordpad can't open a file larger
    than the physical memory.
    I try with Word. It opens! I try searching for
    the bad line. The machine thrashes.
    I check system memory. Word has devoted 5M
    of RAM to my 300M file, and is swapping
    everything beyond that to and from disk as it
    searches through the file. I have 200M of
    empty RAM. I download Uuedit. Same problem.

    I think of splitting the big file up into
    pieces, editing, and rejoining.
    On Unix this would take one command each for
    splitting and rejoining.
    Under Windows I need to write my own C programs
    to do it. I don't.

    I go to a more powerful computer that sits empty
    in a neighboring office with the idea that I
    will run the program on it. When working with
    SGI boxes, I would often log in to a more
    powerful machine, from my desk, and then
    change directory to my home directory (NFS
    mounted) and run a CPU-sucking program.
    But Windows NT does not have remote login.
    Environment variables are hidden somewhere in
    the OS and in my project files, which will work
    only on my machine, so I can't log on to the
    other machine, run my .login shell script
    to initialize any environment variables not
    already on the command line, and run the program.
    I can't even read my email from another
    machine on the same network, which I don't
    understand, since there is filesharing.
    I briefly study the problem of
    moving everything over to this computer,
    changing the Windows environment settings,
    and decide not to do that either.

    Other things I have done today:
    - Try to find line of source code somewhere in
    a project using both C and Java. With Linux
    this would look something like:
    grep "line of text" *.java *.c *.h
    With Windows I open the "find" program,
    and click and click and click and click
    until I find the right directory (the one
    I would be IN if I had a command line).
    There is no way to specify both C files and
    Java files, so I must search all files under
    directory, including the 300M text file.
    Which I know better than to try.
    Instead must do separate searches for *.c,
    *.c++, *.h. *.java files. Many many clicks.
    My wrist hurts.

    - Look up documentation on "fopen". Under
    Unix: man fopen, instantaneous response.
    Under Windows: Pay Microsoft $1000 or so.
    Click on MSDev Library. Wait about 20 seconds
    while Windows swaps things out of RAM to avoid
    having to touch any of my free 200M. Do a
    search of fopen. Wait another 20 seconds while
    it does a search (why is it searching? why
    doesn't it have a database? I asked it to make
    one when I installed it!). Finally see docs
    for fopen.

    - Tried organizing my Java files sensibly,
    which means putting the Java source all under
    one directory. But the GUI editor I am using,
    JBuilder, sets the default directory to be that
    in which the source code for your main function
    is. I have to move everything back because it
    is impossible to tell the GUI environment that
    I want my data in one directory and my Java source
    in another. This is a JBuilder problem, but it
    is typical of what you have to do to keep GUI
    tools happy. I am just lucky that JBuilder
    stores its project files as text; otherwise I
    would have had to scrap them.

    - Tried to find an important email that I knew
    I had received within the last week. On Unix,
    would be: forall ~/Mail grep "ATMSDI" (forall
    being a shell script I wrote using find to
    iterate over files below a directory).
    On Windows: Spend half an hour clicking through
    my Outlook Express folders looking for it.
    Click through every single folder, searching
    by username (nice feature, I admit). Search
    deleted messages too. Never find it. It has vanished.

    - Rebooted Windows several times
    because the system started acting weird and
    I wanted a fresh start.

    I reread the above and saw it doesn't explain
    what bugs me most about Windows. It's
    because there are so many times when I want to
    1) specify a simple operation, like grep or ls, and
    2) specify a set of files I want to apply that
    operation to.
    You can't do either in Windows in a general way.

    Phil