home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 083.FTUR06.TXT < prev    next >
Text File  |  1993-07-30  |  8KB  |  132 lines

  1.  
  2.      What's Up With That?
  3.  
  4.      * Somewhat Enlightening Wanderings from the Mind of John Davis *
  5.  
  6.      Computer geeks (CG's) cannot speak in normal terms, not because they
  7.      are by nature introverted, semi-social beings--they are, but that has
  8.      nothing to do with the common language problem!  It is because the
  9.      computer/data management field itself is such an unnatural means of
  10.      communication that the CGs have adapted themselves to interact
  11.      optimally with the machine, therefore making themselves unfit company
  12.      for conversation with anyone but one of their own.
  13.  
  14.      Jargon abounds, with terms like kluge, vaporware, cache, aliasing, and
  15.      de-fragment.  Then there are the real brain-busters--the acronyms,
  16.      such as: GUI, DMA, CPU, I/O, DOS, API, DPI, and MOUSE.  The terms are
  17.      confusing for the chipnophobic and, in some cases, for otherwise
  18.      intelligent and competent computer users.  A case in point is the
  19.      perennial confusion of the terms ASCII and ANSI.  They are often
  20.      perceived to be interchangeable to the unenlightened, but if you
  21.      should misuse one term for the other within hearing of a horn-rimmed
  22.      spectacled pocket-protector life-support system, the nasal chortles
  23.      will drive you to a mental system lock-up.  In the interest of your
  24.      well-being, I will charitably enlighten you on the these two most
  25.      secret and basic terms of computerdom's secret society--Byte Motivated
  26.      Entellectuals (Byte-ME, for short).
  27.  
  28.      The confusion stems from the fact that ASCII and ANSI are related
  29.      appellations for the code defining computer text, put forth by ANSI.
  30.      ANSI is the American National Standards Institute, a fascist
  31.      organization founded to boss the computer community around; though
  32.      not at the same level as the international bullies, the CCITT.  ASCII
  33.      stands for the American Standard Code for Information Exchange, it is
  34.      formally known (though only to 3  computer science professors and a
  35.      Washington billionaire-bachelor) as ANSI Standard X3.4-1977.  When
  36.      people talk of ANSI text however (and what exciting people they are!),
  37.      they are most often speaking of ANSI terminal codes invoked through
  38.      the ANSI.SYS device driver in DOS.  Let me talk first of ASCII text,
  39.      and the related code, then I'll touch on how ANSI.SYS exploits this
  40.      code.
  41.  
  42.      ASCII was formulated as a 7 bit code for data terminals, which math
  43.      tells us allows for 128 characters, not all of them printable.  This
  44.      provided a quick method for data communications devices, such as CRTs
  45.      (another acronym; Cathode Ray Tube) and teletypewriters to
  46.      electronically communicate in a text-only fashion; the computer
  47.      equivalent of Morse Code.  Because text messaging is still a dominant
  48.      form of information sent over wire, and the fastest method, ASCII is
  49.      still a very necessary code standard today.  It is also considered a
  50.      universal interchange format for text based applications such as word
  51.      processors, spreadsheets, and databases.  If you go to print in a
  52.      character-based application, chances are that the application is
  53.      simply sending the ASCII codes to the printer, which accounts for the
  54.      speed advantage of printing text over graphics.  ASCII text requires
  55.      that 8 bits be sent to the printer for each character printed, while
  56.      text in graphics mode, such as that sent from Windows or by bit-mapped
  57.      fonts, requires a bit for each dot making up the graphics character.
  58.      The bit-mapped font gives you more control over the look at the
  59.      expense of that common shorthand called ASCII.
  60.  
  61.      You'll note that I said "8 bits" per character for ASCII, when I'd
  62.      previously stated it was defined by ANSI as a 7 bit code.  The reason
  63.      has proven a "bit" of a problem for computer users.  IBM figured early
  64.      on that if 128 characters is handy for text definition, then graphics
  65.      and specialty characters could be defined by adding one bit to the
  66.      ASCII character set, resulting in the IBM Extended ASCII Set, 256
  67.      characters in all.  The reasoning was sound in the non-graphical era
  68.      of the times, because the crude graphics characters gave users the
  69.      ability to do line and block drawings on text-only screens! (state of
  70.      the art special effects for the time).
  71.  
  72.      IBM was not the only wishful thinker in the ASCII improvement game.
  73.      Printer pioneers Epson decided that by simply adding one bit to the
  74.      Character set they could define extra text characters to provide
  75.      printing enhancements like italics to the common man--result: The
  76.      Epson Extended Character Set.  What a leap forward in screen and
  77.      printer sophistication these companies provided...Unfortunately, the
  78.      256 characters (more precisely the extra 128 characters) that IBM
  79.      defined were NOT the same as those defined by Epson.  As a result,
  80.      block characters sent from a screen to an Epson (or Epson emulating)
  81.      printer print italic "garbage characters".  The solution is to choose
  82.      IBM printer emulation when printing text in text mode with line
  83.      drawings, and choose Epson emulation when printing in text mode with
  84.      italic characters.
  85.  
  86.      There are other ways provided through ASCII codes to control printer
  87.      output, which are known as "Escape Codes".  If you've ever wondered
  88.      what the ESC key is doing on the computer keyboard in the first place,
  89.      this is it. --It was not originally meant as an escape mechanism for
  90.      programs that you delved too deeply into without manual support.  The
  91.      ESC code allows devices that receive it (printers, CRTs) to interpret
  92.      the ASCII characters not as printable characters, but as special
  93.      control codes for the device.  Printers can be operated and customized
  94.      for print size and paper handling through escape codes.  CRTs have
  95.      developed such attributes as blinking text and inverse video through
  96.      the clever use of escape codes.  The biggest windfall from escape
  97.      codes is "absolute cursor positioning" which allows clever programming
  98.      to place the cursor at any point on a screen, unavailable prior to
  99.      escape codesÆ inception.
  100.  
  101.      This is the perfect moment to incorporate ANSI.SYS into the discussion.
  102.      It is a device driver to interpret ASCII escape codes for use by DOS.
  103.      Great, but about as understandable as saying "endoplasmic reticulum
  104.      uses the Kreb's Cycle to produce Adenine Tri-Phosphate for
  105.      consumption."  You need a few definitions.
  106.  
  107.      A device driver in DOS allows you to customize the peripheral's
  108.      interaction with the operating system--a translation program between
  109.      the device and DOS.  When you type a letter DOS receives the keyboard
  110.      "scan code", interprets it and sends the character to the screen.
  111.      Likewise, when software or other device (such as a modem) sends a
  112.      character, DOS writes it to the screen.  ANSI.SYS, when placed in the
  113.      config.sys file, intercepts all screen directed characters,
  114.      redirecting them into its "black box", interprets them, then sends
  115.      them to the screen.  Sounds like an extraneous detour, but it allows
  116.      for very useful customization.  I don't want bore you with a bunch of
  117.      literal examples, but the following are possible in DOS only due to
  118.      the ANSI.SYS device driver:  Absolute Cursor Positioning, screen
  119.      colors and attributes, custom key definition (e.g. the "a" key doesn't
  120.      have to type "a", it can type "hey" every time it is hit if programmed
  121.      that way, with ANSI.SYS loaded).  It is the driver that allows you to
  122.      get the "cool" effects on BBS's as well, making it well worth the
  123.      memory overhead.  In short ANSI.SYS enhances your screen and keyboard
  124.      control in DOS.
  125.  
  126.      ASCII text and ANSI.SYS seem like anachronisms in the GUI,GUI world of
  127.      windows and SVGA graphics, but an understanding of them is still
  128.      useful in getting the most out of your PC, and impressing the
  129.      technobabes in the user group.
  130.  
  131.      Until next time...Escape code me outta here
  132.