Tuesday, July 22, 2014

Scientists at NASA and the USGS do not know the difference between Windows ME and Windows 2000


As another example of scientists not understanding the computer technology they are using, NASA's Land Processes Distributed Active Archive Center and the USGS (U.S. Geological Survey) Earth Resources Observation and Science Center are apparently ignorant of elementary knowledge about Microsoft Windows operating systems. In their User Manual for their MODIS Reprojection Tool Swath they confuse Windows ME (Millennium) with Windows 2000.
The second section is relevant to Windows systems and includes specifics for 95/98/2000 and NT/ME/XP. [...]  
Windows 95/98/2000 users must edit the AUTOEXEC.BAT file to add the path information and set the MRTSWATH_DATA_DIR variable. [...] 
Windows NT/ME/XP users must edit their user keys to add the MRTSwath PATH, MRTSWATH_HOME, and MRTSWATH_DATA_DIR to the system variables.
Windows ME and Windows 2000 are two very different operating systems built off different code bases and confusing them like this is a sign of an amateur programmer who was never professionally trained. Windows ME (Millennium) was the last of the Windows 9x line of operating systems following Windows 98. While Windows 2000 is an NT-based operating system originally called Windows NT 5.0.

The proper way to list these operating systems would be,
Windows 95/98/ME 
Windows NT/2000/XP
These are not just typos in their documentation but are actually errors in their installation file (install.bat) included in their MRT Tool Swath archive file (MRTSwath_download_Win.zip).
:AUTOEXECMOD 
REM Processing Windows 2000.
REM Modify the user's AUTOEXEC.BAT file.
echo Windows 2000 installation ...
IF EXIST "c:\autoexec.bat" GOTO AUTOEXECEXISTS 
echo Updating C:\AUTOEXEC.BAT.
GOTO MODIFYAUTOEXEC 
:AUTOEXECEXISTS 
echo Updating C:\AUTOEXEC.BAT (old version saved as AUTOEXEC.MRTSWATH).
copy c:\autoexec.bat c:\autoexec.mrtswath 
:MODIFYAUTOEXEC 
echo set MRTSWATH_HOME="%MRTSWATHDIRECTORY%">> c:/autoexec.bat
echo set Path="%MRTSWATHDIRECTORY%\bin;%%Path%%">> c:/autoexec.bat
echo set MRT_DATA_DIR="%MRTSWATHDIRECTORY%\data">> c:/autoexec.bat
This matters because the fundamental requirements of the specifications for applications to run properly on Microsoft Windows 2000 is quite clear,
Chapter 1. Windows Fundamentals

Summary of Windows Fundamental Requirements

Rationale
Passing these requirements will help ensure that your application runs in a stable, reliable manner on Windows operating systems.
Customer benefits 
Customers can be confident that a compliant product will not adversely affect the reliability of the operating system.

Requirements

5. Do not read from or write to Win.ini, System.ini, Autoexec.bat or Config.sys 
Your application must not read from or write to Win.ini, System.ini, Autoexec.bat, or Config.sys. These file are not used by Windows 2000 systems
To properly set the Path in Windows 2000 you do so using the Desktop GUI or the registry.

Hacks who were never professionally trained in computer science like Mr. Mosher do not know these very basic things and instead ignorantly spread this misinformation.
Unless you are in fact running Win2000 or NT then #1 will be the choice you want to make. If you are running Windows2000 then the install is going to make a change to autoexec.bat. If you are running NT, XP or anything later than XP ( Vista, 7 etc) Then there is no autoexec.bat to change and the installer will be modifying other files to do the install.
Any competent and professionally trained programmer would have noticed this elementary error. The problem is most of the people creating and using these scientific data tools have no formal computer science training and do not know how bad they really are. This was confirmed in an article in the journal Nature.
[A]s computers and programming tools have grown more complex, scientists have hit a "steep learning curve", says James Hack, director of the US National Center for Computational Sciences at Oak Ridge National Laboratory in Tennessee. "The level of effort and skills needed to keep up aren't in the wheelhouse of the average scientist."

Greg Wilson, a computer scientist in Toronto, Canada, who heads Software Carpentry — an online course aimed at improving the computing skills of scientists — says that he woke up to the problem in the 1980s, when he was working at a physics supercomputing facility at the University of Edinburgh, UK. After a series of small mishaps, he realized that, without formal training in programming, it was easy for scientists trying to address some of the Universe's biggest questions to inadvertently introduce errors into their codes, potentially "doing more harm than good". [...]

"There are terrifying statistics showing that almost all of what scientists know about coding is self-taught," says Wilson. "They just don't know how bad they are."

As a result, codes may be riddled with tiny errors that do not cause the program to break down, but may drastically change the scientific results that it spits out.
The lack of basic computer science knowledge like this is so prevalent in the scientific community that this misinformation apparently made it into a scientific publication.

Addendum: Despite being updated in December of 2010, the MRT Tool Swath User Manual fails to mention that no one should be using Windows NT (Support ended in 2004), Windows Millennium (Support ended in 2006) or Windows 2000 (Support ended in July of 2010) since they are all obsolete operating systems that do not receive support or security updates from Microsoft anymore.

No comments: