Documentation Source Text

Hex Artifact Content
Login

Artifact 6fd951896bbb9184c257316f7c03319b056b7f3f6f7dfac8b5b7ede33855947a:


0000: 3c 74 69 74 6c 65 3e 46 65 61 74 75 72 65 73 20  <title>Features 
0010: 4f 66 20 53 51 4c 69 74 65 3c 2f 74 69 74 6c 65  Of SQLite</title
0020: 3e 0a 0a 3c 68 31 20 61 6c 69 67 6e 3d 63 65 6e  >..<h1 align=cen
0030: 74 65 72 3e 46 65 61 74 75 72 65 73 20 4f 66 20  ter>Features Of 
0040: 53 51 4c 69 74 65 3c 2f 68 31 3e 0a 0a 3c 70 3e  SQLite</h1>..<p>
0050: 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66  <ul>.<li><a href
0060: 3d 22 74 72 61 6e 73 61 63 74 69 6f 6e 61 6c 2e  ="transactional.
0070: 68 74 6d 6c 22 3e 54 72 61 6e 73 61 63 74 69 6f  html">Transactio
0080: 6e 73 3c 2f 61 3e 0a 20 20 20 20 61 72 65 20 61  ns</a>.    are a
0090: 74 6f 6d 69 63 2c 20 63 6f 6e 73 69 73 74 65 6e  tomic, consisten
00a0: 74 2c 20 69 73 6f 6c 61 74 65 64 2c 20 61 6e 64  t, isolated, and
00b0: 20 64 75 72 61 62 6c 65 20 28 41 43 49 44 29 0a   durable (ACID).
00c0: 20 20 20 20 65 76 65 6e 20 61 66 74 65 72 20 73      even after s
00d0: 79 73 74 65 6d 20 63 72 61 73 68 65 73 20 61 6e  ystem crashes an
00e0: 64 20 70 6f 77 65 72 20 66 61 69 6c 75 72 65 73  d power failures
00f0: 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72  .</li>.<li><a hr
0100: 65 66 3d 22 7a 65 72 6f 63 6f 6e 66 2e 68 74 6d  ef="zeroconf.htm
0110: 6c 22 3e 5a 65 72 6f 2d 63 6f 6e 66 69 67 75 72  l">Zero-configur
0120: 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 2d  ation</a>.     -
0130: 20 6e 6f 20 73 65 74 75 70 20 6f 72 20 61 64 6d   no setup or adm
0140: 69 6e 69 73 74 72 61 74 69 6f 6e 20 6e 65 65 64  inistration need
0150: 65 64 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 5b 46 75  ed.</li>.<li>[Fu
0160: 6c 6c 2d 66 65 61 74 75 72 65 64 20 53 51 4c 5d  ll-featured SQL]
0170: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a   implementation.
0180: 20 20 20 20 77 69 74 68 20 61 64 76 61 6e 63 65      with advance
0190: 64 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 6c  d capabilities l
01a0: 69 6b 65 20 5b 70 61 72 74 69 61 6c 20 69 6e 64  ike [partial ind
01b0: 65 78 65 73 5d 2c 0a 20 20 20 20 5b 69 6e 64 65  exes],.    [inde
01c0: 78 65 73 20 6f 6e 20 65 78 70 72 65 73 73 69 6f  xes on expressio
01d0: 6e 73 5d 2c 20 5b 6a 73 6f 6e 31 7c 4a 53 4f 4e  ns], [json1|JSON
01e0: 5d 2c 0a 20 20 20 20 5b 63 6f 6d 6d 6f 6e 20 74  ],.    [common t
01f0: 61 62 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 73  able expressions
0200: 5d 2c 20 61 6e 64 20 5b 77 69 6e 64 6f 77 20 66  ], and [window f
0210: 75 6e 63 74 69 6f 6e 73 5d 2e 0a 20 20 20 20 28  unctions]..    (
0220: 3c 61 20 68 72 65 66 3d 22 6f 6d 69 74 74 65 64  <a href="omitted
0230: 2e 68 74 6d 6c 22 3e 4f 6d 69 74 74 65 64 20 66  .html">Omitted f
0240: 65 61 74 75 72 65 73 3c 2f 61 3e 29 3c 2f 6c 69  eatures</a>)</li
0250: 3e 0a 3c 6c 69 3e 41 20 63 6f 6d 70 6c 65 74 65  >.<li>A complete
0260: 20 64 61 74 61 62 61 73 65 20 69 73 20 73 74 6f   database is sto
0270: 72 65 64 20 69 6e 20 61 20 0a 20 20 20 20 3c 61  red in a .    <a
0280: 20 68 72 65 66 3d 22 6f 6e 65 66 69 6c 65 2e 68   href="onefile.h
0290: 74 6d 6c 22 3e 73 69 6e 67 6c 65 20 63 72 6f 73  tml">single cros
02a0: 73 2d 70 6c 61 74 66 6f 72 6d 20 64 69 73 6b 20  s-platform disk 
02b0: 66 69 6c 65 3c 2f 61 3e 2e 0a 20 20 20 20 47 72  file</a>..    Gr
02c0: 65 61 74 20 66 6f 72 20 75 73 65 20 61 73 20 61  eat for use as a
02d0: 6e 20 5b 61 70 70 6c 69 63 61 74 69 6f 6e 20 66  n [application f
02e0: 69 6c 65 20 66 6f 72 6d 61 74 5d 2e 3c 2f 6c 69  ile format].</li
02f0: 3e 0a 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 74  >.<li>Supports t
0300: 65 72 61 62 79 74 65 2d 73 69 7a 65 64 20 64 61  erabyte-sized da
0310: 74 61 62 61 73 65 73 20 61 6e 64 20 67 69 67 61  tabases and giga
0320: 62 79 74 65 2d 73 69 7a 65 64 20 73 74 72 69 6e  byte-sized strin
0330: 67 73 0a 20 20 20 20 61 6e 64 20 62 6c 6f 62 73  gs.    and blobs
0340: 2e 20 20 28 53 65 65 20 3c 61 20 68 72 65 66 3d  .  (See <a href=
0350: 22 6c 69 6d 69 74 73 2e 68 74 6d 6c 22 3e 6c 69  "limits.html">li
0360: 6d 69 74 73 2e 68 74 6d 6c 3c 2f 61 3e 2e 29 0a  mits.html</a>.).
0370: 3c 6c 69 3e 53 6d 61 6c 6c 20 63 6f 64 65 20 5b  <li>Small code [
0380: 66 6f 6f 74 70 72 69 6e 74 5d 3a 20 0a 20 20 20  footprint]: .   
0390: 20 6c 65 73 73 20 74 68 61 6e 20 36 30 30 4b 69   less than 600Ki
03a0: 42 20 66 75 6c 6c 79 20 63 6f 6e 66 69 67 75 72  B fully configur
03b0: 65 64 20 6f 72 20 6d 75 63 68 20 6c 65 73 73 0a  ed or much less.
03c0: 20 20 20 20 77 69 74 68 20 6f 70 74 69 6f 6e 61      with optiona
03d0: 6c 20 66 65 61 74 75 72 65 73 20 6f 6d 69 74 74  l features omitt
03e0: 65 64 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 53 69 6d  ed.</li>.<li>Sim
03f0: 70 6c 65 2c 20 65 61 73 79 20 74 6f 20 75 73 65  ple, easy to use
0400: 20 3c 61 20 68 72 65 66 3d 22 63 69 6e 74 72 6f   <a href="cintro
0410: 2e 68 74 6d 6c 22 3e 41 50 49 3c 2f 61 3e 2e 3c  .html">API</a>.<
0420: 2f 6c 69 3e 0a 3c 6c 69 3e 46 61 73 74 3a 20 20  /li>.<li>Fast:  
0430: 49 6e 20 73 6f 6d 65 20 63 61 73 65 73 2c 20 53  In some cases, S
0440: 51 4c 69 74 65 20 69 73 20 0a 20 20 20 20 5b 66  QLite is .    [f
0450: 61 73 74 65 72 20 74 68 61 6e 20 74 68 65 20 66  aster than the f
0460: 69 6c 65 73 79 73 74 65 6d 7c 66 61 73 74 65 72  ilesystem|faster
0470: 20 74 68 61 6e 20 64 69 72 65 63 74 20 66 69 6c   than direct fil
0480: 65 73 79 73 74 65 6d 20 49 2f 4f 5d 0a 3c 6c 69  esystem I/O].<li
0490: 3e 57 72 69 74 74 65 6e 20 69 6e 20 41 4e 53 49  >Written in ANSI
04a0: 2d 43 2e 20 20 3c 61 20 68 72 65 66 3d 22 74 63  -C.  <a href="tc
04b0: 6c 73 71 6c 69 74 65 2e 68 74 6d 6c 22 3e 54 43  lsqlite.html">TC
04c0: 4c 20 62 69 6e 64 69 6e 67 73 3c 2f 61 3e 20 69  L bindings</a> i
04d0: 6e 63 6c 75 64 65 64 2e 0a 20 20 20 20 42 69 6e  ncluded..    Bin
04e0: 64 69 6e 67 73 20 66 6f 72 20 64 6f 7a 65 6e 73  dings for dozens
04f0: 20 6f 66 20 6f 74 68 65 72 20 6c 61 6e 67 75 61   of other langua
0500: 67 65 73 20 61 76 61 69 6c 61 62 6c 65 20 73 65  ges available se
0510: 70 61 72 61 74 65 6c 79 2e 3c 2f 6c 69 3e 0a 3c  parately.</li>.<
0520: 6c 69 3e 57 65 6c 6c 2d 63 6f 6d 6d 65 6e 74 65  li>Well-commente
0530: 64 20 73 6f 75 72 63 65 20 63 6f 64 65 20 77 69  d source code wi
0540: 74 68 0a 20 20 20 20 5b 74 65 73 74 20 63 6f 76  th.    [test cov
0550: 65 72 61 67 65 20 7c 31 30 30 25 20 62 72 61 6e  erage |100% bran
0560: 63 68 20 74 65 73 74 20 63 6f 76 65 72 61 67 65  ch test coverage
0570: 5d 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 76 61 69  ].</li>.<li>Avai
0580: 6c 61 62 6c 65 20 61 73 20 61 20 0a 20 20 20 20  lable as a .    
0590: 3c 61 20 68 72 65 66 3d 22 61 6d 61 6c 67 61 6d  <a href="amalgam
05a0: 61 74 69 6f 6e 2e 68 74 6d 6c 22 3e 73 69 6e 67  ation.html">sing
05b0: 6c 65 20 41 4e 53 49 2d 43 20 73 6f 75 72 63 65  le ANSI-C source
05c0: 2d 63 6f 64 65 20 66 69 6c 65 3c 2f 61 3e 20 0a  -code file</a> .
05d0: 20 20 20 20 74 68 61 74 20 69 73 20 5b 68 6f 77      that is [how
05e0: 20 74 6f 20 63 6f 6d 70 69 6c 65 7c 65 61 73 79   to compile|easy
05f0: 20 74 6f 20 63 6f 6d 70 69 6c 65 5d 20 61 6e 64   to compile] and
0600: 20 68 65 6e 63 65 20 69 73 20 65 61 73 79 0a 20   hence is easy. 
0610: 20 20 20 74 6f 20 61 64 64 20 69 6e 74 6f 20 61     to add into a
0620: 20 6c 61 72 67 65 72 20 70 72 6f 6a 65 63 74 2e   larger project.
0630: 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 73 65  .<li><a href="se
0640: 6c 66 63 6f 6e 74 61 69 6e 65 64 2e 68 74 6d 6c  lfcontained.html
0650: 22 3e 53 65 6c 66 2d 63 6f 6e 74 61 69 6e 65 64  ">Self-contained
0660: 3c 2f 61 3e 3a 0a 20 20 20 20 6e 6f 20 65 78 74  </a>:.    no ext
0670: 65 72 6e 61 6c 20 64 65 70 65 6e 64 65 6e 63 69  ernal dependenci
0680: 65 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 43 72 6f  es.</li>.<li>Cro
0690: 73 73 2d 70 6c 61 74 66 6f 72 6d 3a 20 41 6e 64  ss-platform: And
06a0: 72 6f 69 64 2c 20 2a 42 53 44 2c 20 69 4f 53 2c  roid, *BSD, iOS,
06b0: 20 4c 69 6e 75 78 2c 20 4d 61 63 2c 20 53 6f 6c   Linux, Mac, Sol
06c0: 61 72 69 73 2c 20 56 78 57 6f 72 6b 73 2c 20 0a  aris, VxWorks, .
06d0: 20 20 20 20 61 6e 64 20 57 69 6e 64 6f 77 73 20      and Windows 
06e0: 28 57 69 6e 33 32 2c 20 57 69 6e 43 45 2c 20 57  (Win32, WinCE, W
06f0: 69 6e 52 54 29 0a 20 20 20 20 61 72 65 20 73 75  inRT).    are su
0700: 70 70 6f 72 74 65 64 20 6f 75 74 20 6f 66 20 74  pported out of t
0710: 68 65 20 62 6f 78 2e 20 20 45 61 73 79 20 74 6f  he box.  Easy to
0720: 20 70 6f 72 74 20 74 6f 20 6f 74 68 65 72 20 73   port to other s
0730: 79 73 74 65 6d 73 2e 0a 3c 6c 69 3e 53 6f 75 72  ystems..<li>Sour
0740: 63 65 73 20 61 72 65 20 69 6e 20 74 68 65 20 3c  ces are in the <
0750: 61 20 68 72 65 66 3d 22 63 6f 70 79 72 69 67 68  a href="copyrigh
0760: 74 2e 68 74 6d 6c 22 3e 70 75 62 6c 69 63 20 64  t.html">public d
0770: 6f 6d 61 69 6e 3c 2f 61 3e 2e 0a 20 20 20 20 55  omain</a>..    U
0780: 73 65 20 66 6f 72 20 61 6e 79 20 70 75 72 70 6f  se for any purpo
0790: 73 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 43 6f 6d  se.</li>.<li>Com
07a0: 65 73 20 77 69 74 68 20 61 20 73 74 61 6e 64 61  es with a standa
07b0: 6c 6f 6e 65 20 5b 63 6f 6d 6d 61 6e 64 2d 6c 69  lone [command-li
07c0: 6e 65 20 69 6e 74 65 72 66 61 63 65 5d 0a 20 20  ne interface].  
07d0: 20 20 28 43 4c 49 29 20 63 6c 69 65 6e 74 20 74    (CLI) client t
07e0: 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20  hat can be used 
07f0: 74 6f 20 61 64 6d 69 6e 69 73 74 65 72 20 53 51  to administer SQ
0800: 4c 69 74 65 20 64 61 74 61 62 61 73 65 73 2e 3c  Lite databases.<
0810: 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 3c 2f 70 3e 0a  /li>.</ul>.</p>.
0820: 0a 3c 68 32 3e 53 75 67 67 65 73 74 65 64 20 55  .<h2>Suggested U
0830: 73 65 73 20 46 6f 72 20 53 51 4c 69 74 65 3a 3c  ses For SQLite:<
0840: 2f 68 32 3e 0a 0a 3c 70 3e 3c 75 6c 3e 0a 3c 6c  /h2>..<p><ul>.<l
0850: 69 3e 3c 70 3e 3c 62 3e 44 61 74 61 62 61 73 65  i><p><b>Database
0860: 20 46 6f 72 20 54 68 65 20 49 6e 74 65 72 6e 65   For The Interne
0870: 74 20 4f 66 20 54 68 69 6e 67 73 2e 3c 2f 62 3e  t Of Things.</b>
0880: 0a 53 51 4c 69 74 65 20 69 73 20 70 6f 70 75 6c  .SQLite is popul
0890: 61 72 20 63 68 6f 69 63 65 20 66 6f 72 20 74 68  ar choice for th
08a0: 65 20 64 61 74 61 62 61 73 65 20 65 6e 67 69 6e  e database engin
08b0: 65 20 69 6e 20 63 65 6c 6c 70 68 6f 6e 65 73 2c  e in cellphones,
08c0: 0a 50 44 41 73 2c 20 4d 50 33 20 70 6c 61 79 65  .PDAs, MP3 playe
08d0: 72 73 2c 20 73 65 74 2d 74 6f 70 20 62 6f 78 65  rs, set-top boxe
08e0: 73 2c 20 61 6e 64 20 6f 74 68 65 72 20 65 6c 65  s, and other ele
08f0: 63 74 72 6f 6e 69 63 20 67 61 64 67 65 74 73 2e  ctronic gadgets.
0900: 0a 53 51 4c 69 74 65 20 68 61 73 20 61 20 73 6d  .SQLite has a sm
0910: 61 6c 6c 20 63 6f 64 65 20 66 6f 6f 74 70 72 69  all code footpri
0920: 6e 74 2c 20 6d 61 6b 65 73 20 65 66 66 69 63 69  nt, makes effici
0930: 65 6e 74 20 75 73 65 20 6f 66 20 6d 65 6d 6f 72  ent use of memor
0940: 79 2c 0a 64 69 73 6b 20 73 70 61 63 65 2c 20 61  y,.disk space, a
0950: 6e 64 20 64 69 73 6b 20 62 61 6e 64 77 69 64 74  nd disk bandwidt
0960: 68 2c 20 69 73 20 68 69 67 68 6c 79 20 72 65 6c  h, is highly rel
0970: 69 61 62 6c 65 2c 20 61 6e 64 20 72 65 71 75 69  iable, and requi
0980: 72 65 73 0a 6e 6f 20 6d 61 69 6e 74 65 6e 61 6e  res.no maintenan
0990: 63 65 20 66 72 6f 6d 20 61 20 44 61 74 61 62 61  ce from a Databa
09a0: 73 65 20 41 64 6d 69 6e 69 73 74 72 61 74 6f 72  se Administrator
09b0: 2e 3c 2f 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e  .</p></li>..<li>
09c0: 3c 70 3e 3c 62 3e 41 70 70 6c 69 63 61 74 69 6f  <p><b>Applicatio
09d0: 6e 20 46 69 6c 65 20 46 6f 72 6d 61 74 2e 3c 2f  n File Format.</
09e0: 62 3e 0a 52 61 74 68 65 72 20 74 68 61 6e 20 75  b>.Rather than u
09f0: 73 69 6e 67 20 66 6f 70 65 6e 28 29 20 74 6f 20  sing fopen() to 
0a00: 77 72 69 74 65 20 58 4d 4c 2c 20 4a 53 4f 4e 2c  write XML, JSON,
0a10: 20 43 53 56 2c 0a 6f 72 20 73 6f 6d 65 20 70 72   CSV,.or some pr
0a20: 6f 70 72 69 65 74 61 72 79 20 66 6f 72 6d 61 74  oprietary format
0a30: 20 69 6e 74 6f 0a 64 69 73 6b 20 66 69 6c 65 73   into.disk files
0a40: 20 75 73 65 64 20 62 79 20 79 6f 75 72 20 61 70   used by your ap
0a50: 70 6c 69 63 61 74 69 6f 6e 2c 20 75 73 65 20 61  plication, use a
0a60: 6e 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 73  n SQLite databas
0a70: 65 2e 0a 59 6f 75 27 6c 6c 20 61 76 6f 69 64 20  e..You'll avoid 
0a80: 68 61 76 69 6e 67 20 74 6f 20 77 72 69 74 65 20  having to write 
0a90: 61 6e 64 20 74 72 6f 75 62 6c 65 73 68 6f 6f 74  and troubleshoot
0aa0: 20 61 20 70 61 72 73 65 72 2c 20 79 6f 75 72 20   a parser, your 
0ab0: 64 61 74 61 0a 77 69 6c 6c 20 62 65 20 6d 6f 72  data.will be mor
0ac0: 65 20 65 61 73 69 6c 79 20 61 63 63 65 73 73 69  e easily accessi
0ad0: 62 6c 65 20 61 6e 64 20 63 72 6f 73 73 2d 70 6c  ble and cross-pl
0ae0: 61 74 66 6f 72 6d 2c 20 61 6e 64 20 79 6f 75 72  atform, and your
0af0: 20 75 70 64 61 74 65 73 0a 77 69 6c 6c 20 62 65   updates.will be
0b00: 20 74 72 61 6e 73 61 63 74 69 6f 6e 61 6c 2e 20   transactional. 
0b10: 20 28 5b 61 70 70 6c 69 63 61 74 69 6f 6e 20 66   ([application f
0b20: 69 6c 65 2d 66 6f 72 6d 61 74 20 7c 20 6d 6f 72  ile-format | mor
0b30: 65 2e 2e 2e 5d 29 3c 2f 70 3e 3c 2f 6c 69 3e 0a  e...])</p></li>.
0b40: 0a 3c 6c 69 3e 3c 70 3e 3c 62 3e 57 65 62 73 69  .<li><p><b>Websi
0b50: 74 65 20 44 61 74 61 62 61 73 65 2e 3c 2f 62 3e  te Database.</b>
0b60: 0a 42 65 63 61 75 73 65 20 69 74 20 72 65 71 75  .Because it requ
0b70: 69 72 65 73 20 6e 6f 20 63 6f 6e 66 69 67 75 72  ires no configur
0b80: 61 74 69 6f 6e 20 61 6e 64 20 73 74 6f 72 65 73  ation and stores
0b90: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20   information in 
0ba0: 6f 72 64 69 6e 61 72 79 0a 64 69 73 6b 20 66 69  ordinary.disk fi
0bb0: 6c 65 73 2c 20 53 51 4c 69 74 65 20 69 73 20 61  les, SQLite is a
0bc0: 20 70 6f 70 75 6c 61 72 20 63 68 6f 69 63 65 20   popular choice 
0bd0: 61 73 20 74 68 65 20 64 61 74 61 62 61 73 65 20  as the database 
0be0: 74 6f 20 62 61 63 6b 20 73 6d 61 6c 6c 0a 74 6f  to back small.to
0bf0: 20 6d 65 64 69 75 6d 2d 73 69 7a 65 64 20 77 65   medium-sized we
0c00: 62 73 69 74 65 73 2e 3c 2f 70 3e 3c 2f 6c 69 3e  bsites.</p></li>
0c10: 0a 0a 3c 6c 69 3e 3c 70 3e 3c 62 3e 53 74 61 6e  ..<li><p><b>Stan
0c20: 64 2d 69 6e 20 46 6f 72 20 41 6e 20 45 6e 74 65  d-in For An Ente
0c30: 72 70 72 69 73 65 20 52 44 42 4d 53 2e 3c 2f 62  rprise RDBMS.</b
0c40: 3e 0a 53 51 4c 69 74 65 20 69 73 20 6f 66 74 65  >.SQLite is ofte
0c50: 6e 20 75 73 65 64 20 61 73 20 61 20 73 75 72 72  n used as a surr
0c60: 6f 67 61 74 65 20 66 6f 72 20 61 6e 20 65 6e 74  ogate for an ent
0c70: 65 72 70 72 69 73 65 20 52 44 42 4d 53 20 66 6f  erprise RDBMS fo
0c80: 72 0a 64 65 6d 6f 6e 73 74 72 61 74 69 6f 6e 20  r.demonstration 
0c90: 70 75 72 70 6f 73 65 73 20 6f 72 20 66 6f 72 20  purposes or for 
0ca0: 74 65 73 74 69 6e 67 2e 20 20 53 51 4c 69 74 65  testing.  SQLite
0cb0: 20 69 73 20 66 61 73 74 20 61 6e 64 20 72 65 71   is fast and req
0cc0: 75 69 72 65 73 0a 6e 6f 20 73 65 74 75 70 2c 20  uires.no setup, 
0cd0: 77 68 69 63 68 20 74 61 6b 65 73 20 61 20 6c 6f  which takes a lo
0ce0: 74 20 6f 66 20 74 68 65 20 68 61 73 73 6c 65 20  t of the hassle 
0cf0: 6f 75 74 20 6f 66 20 74 65 73 74 69 6e 67 20 61  out of testing a
0d00: 6e 64 20 77 68 69 63 68 0a 6d 61 6b 65 73 20 64  nd which.makes d
0d10: 65 6d 6f 73 20 70 65 72 6b 79 20 61 6e 64 20 65  emos perky and e
0d20: 61 73 79 20 74 6f 20 6c 61 75 6e 63 68 2e 3c 2f  asy to launch.</
0d30: 70 3e 3c 2f 6c 69 3e 0a 0a 3c 6c 69 3e 3c 70 3e  p></li>..<li><p>
0d40: 3c 61 20 68 72 65 66 3d 22 2e 2f 77 68 65 6e 74  <a href="./whent
0d50: 6f 75 73 65 2e 68 74 6d 6c 22 3e 4d 6f 72 65 20  ouse.html">More 
0d60: 73 75 67 67 65 73 74 69 6f 6e 73 2e 2e 2e 3c 2f  suggestions...</
0d70: 61 3e 3c 2f 70 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c  a></p></li>.</ul
0d80: 3e 0a                                            >.